Перенос правил и разбор ошибок
Научитесь переносить и проверять правила Automation. Разберитесь с лимитами, дублирующими ответами, правами бота и настройками после импорта.
В этой статье
Как управлять готовыми правилами
Один чат быстро обрастает памятками: материалы курса, оплата, вакансии, команды кураторов. Этот раздел поможет поддерживать порядок, временно выключать ненужное и переносить настройки в новый поток.
Найти, выключить, скопировать или удалить
В общем списке видны правила и краткое описание их действий. Поиск поможет найти «оплату», а фильтры «Все», «Триггеры», «Команды» и «Проблемы» — сузить список.
Выключить. Курс закончился, и памятка для нового потока больше не нужна? Выключите правило. Настройки останутся, и позже его можно включить снова.
Выключить только вариант ИЛИ. Например, ответ про оплату нужен в «Поддержке», но временно не нужен в «Вопросах новичков». Выключите соответствующую альтернативу. Основной вариант и остальные включённые альтернативы продолжат работать; выбор сохраняется после повторного открытия.
Выключить всё правило. Общий переключатель останавливает и основное условие, и все варианты ИЛИ. Выключение одной альтернативы этого не делает.
Копировать. Памятка про PDF уже готова, и вы хотите сделать похожую для другого вида документа. Создайте копию, затем проверьте название, условия, команду, включение и действия. Если оставить копию без изменений, оба правила могут ответить на один файл.
Удалить. Правило для давно прошедшего мероприятия больше не понадобится? Его можно удалить. Если сомневаетесь, сначала сохраните экспорт: это копия настроек для восстановления.
Проверить настройки
Кнопка «Проверить» смотрит открытое правило, а «Проверить всё» — весь набор.
Например, вы создали награду за полезный ответ, но забыли включить XP. Или выбрали канал логов, который ещё не подключён. Такие проблемы стоит разобрать до запуска.
Проверка также может заметить пустое название, отсутствие команды или действия, ошибку времени, несовместимые виды сообщений, противоречащие друг другу условия и превышение лимита.
Предупреждение не стоит игнорировать только потому, что удалось нажать «Сохранить». Сохранённая памятка не поможет, если бот не может написать в нужное место.
Старое правило со временем с первого сообщения или первой другой активности можно оставить выключенным, чтобы не потерять замысел. Но включить его с неподдерживаемым условием нельзя. Время после вступления — другой показатель; заменяйте условие только если это подходит вашей задаче.
После проверки настроек обязательно попробуйте правило в Telegram. Например, отправьте подходящий PDF и обычную фотографию: памятка должна появиться только в первом случае.
Почему правила могут мешать друг другу
Представьте два правила: одно отвечает на «оплатить», другое — на «как оплатить». Сообщение «Как оплатить курс?» подходит обоим, и человек может получить два ответа.
Проверка конфликтов ищет точные совпадения условий; текст действий для этого не важен. Поэтому надпись «Конфликтов нет» не доказывает, что похожие по смыслу правила никогда не пересекутся.
Особенно внимательно смотрите на повторные награды и противоречащие решения: например, когда одно правило одобряет заявку, а другое её отклоняет.
Экспорт: сохранить или передать настройки
Перед началом нового потока вы можете сохранить все правила курса или только несколько выбранных. Экспорт даёт пакет настроек JSON — его не нужно редактировать вручную, чтобы пользоваться переносом.
Такую копию удобно хранить перед большой правкой или передать коллеге. Она содержит настройки, а не историю работы бота.
Перед отправкой коллеге проверьте содержимое: в текстах и условиях могут быть частные приглашения, ID участников и ссылки, которые не стоит распространять.
Импорт: перенести правила в другой чат
Допустим, вы запускаете второй поток курса. Откройте «Импорт», вставьте экспортированный пакет и подтвердите загрузку.
Импорт добавляет правила к существующим. Он не заменяет старый набор. Если загрузить один и тот же пакет дважды, могут появиться две копии памятки.
Есть ещё важная особенность: выбранные топики при переносе сбрасываются. Топик «Домашние работы» в старой группе и одноимённый топик в новой — разные места. Условие, которое раньше относилось к одной теме, после сброса может охватить весь исходный чат; отправка в выбранный топик вернётся к текущему месту обсуждения.
Поэтому переносите выключенные правила или сначала пробуйте импорт в тестовой группе. Сам импорт не делает все правила безопасными черновиками: он учитывает их сохранённое состояние включения.
После переноса:
- Заново выберите, в каких топиках искать сообщения и куда отвечать.
- Проверьте приглашения, выбранных пользователей и канал логов.
- Проверьте режим выполнения действий: все вместе или одно случайное. Если используются обязательные действия со звёздочкой «Всегда», проверьте и их.
- Убедитесь, что включены XP/репутация, если они нужны, и у бота есть права.
- Запустите проверку настроек.
- Попробуйте одно правило на подходящем и неподходящем сообщении. Затем включайте остальные.
Если у вас уже были старые триггеры
Например, старый триггер отвечал на слово «оплата» во всём чате. В Automation вы можете дополнить его нужным топиком, рабочими часами и несколькими формулировками вопроса. Для других задач доступны отдельные события, условия по участникам, несколько действий и команды.
Переносите такие правила постепенно: воссоздайте нужное поведение, проверьте его и выключите старый дублирующий триггер. Экспорт Triggers v2 не следует считать готовым пакетом нового формата.
Сколько правил и действий можно добавить
Для начала обычно хватает одного-двух правил. Но если вы готовите большой набор для курса или сети сообществ, стоит заранее посмотреть ограничения.
Сколько правил сохраняется
В этой редакции руководства указаны такие лимиты:
- Free: до 2 самостоятельных правил, без дополнительных вариантов ИЛИ всего правила.
- Pro: до 50 правил, до 2 дополнительных вариантов ИЛИ у каждого.
- Business: до 100 правил, до 5 дополнительных вариантов ИЛИ у каждого.
Например, команда с материалами и триггер с ответом про оплату — два самостоятельных правила. Выключенная памятка тоже занимает место: отключение не удаляет её из списка. Варианты ИЛИ находятся внутри правила и учитываются отдельно.
Сколько действий можно настроить
В одном правиле можно сохранить до 100 строк действий. Это удобно для разных текстов ответа. Например, в списке есть 30 приветствий, а при каждом вступлении выбирается одно случайное.
За один запуск можно выполнить до 20 действий по счётчику редактора. В интерфейсе это лимит действий Telegram API. Строка настроек и действие на счётчике — не всегда одно и то же: отправка памятки в три топика считается за три.
Проще всего понять это на примерах:
- Отправить памятку в один топик — 1.
- Ту же памятку в три разных топика — 3.
- В три топика с удалением предыдущих ответов — 6: три отправки и три места под очистку. Очистка учитывается и при первом запуске, когда старых ответов ещё нет.
- Предупредить одного участника и отправить объяснение без очистки — 2.
- Добавить 25 XP — 0 в этом расчёте, но сама строка действия всё равно входит в лимит 100.
Для остальных действий расчёт такой:
- Предупреждение, снятие предупреждения, ограничение участника, снятие ограничения и удаление его сообщений — по 1 на каждого выбранного участника, если он известен боту. Для «Оба» — до 2.
- Удаление сообщения события, одобрение или отклонение заявки — по 1.
- Изменение репутации, как и XP, — 0 в этом расчёте.
В режиме «Все действия» учитывается весь список. В режиме «Одно случайное» редактор считает обязательные действия и самый затратный возможный случайный вариант. Например, он не рассчитывает лимит в надежде, что выпадет только самая простая отправка.
Отдельного ограничения «не больше пяти отправок» нет. Простой список без очистки и других затрат может вместить 20 отправок. Это не обещание, что каждая обязательно дойдёт: права бота и ограничения Telegram продолжают действовать.
Если места для следующего действия не осталось
Бот учитывает всю стоимость очередного действия до его выполнения. Если оно не помещается, не выполняется ни оно, ни остаток списка. Уже выполненные действия не отменяются.
Например, одна отправка в 21 топик не превратится из-за этого лимита в отправку только в первые 20. Неудачная попытка действия тоже расходует отведённое ей место.
Эти 20 относятся к одному запуску одного правила. Это не общий запас на весь чат, все его правила или целый день.
Счётчик нужен для планирования правила, а не для подсчёта каждого обращения бота к Telegram. Например, предупреждение может дополнительно запустить наказание из настроек чата, а очистка истории — потребовать нескольких запросов. Поэтому фактических обращений к Telegram может быть больше 20.
Для обычной памятки эти детали редко мешают. Для длинного списка с модерацией, несколькими топиками и очисткой ориентируйтесь на счётчик редактора и проверяйте результат каждого нужного действия.
Тарифные лимиты могут меняться. Перед настройкой большого набора сверяйте доступные значения в панели управления.
Если получилось не то, что ожидали
Начните с одного конкретного примера: что написал человек, где он это сделал и какой ответ вы ждали. Так проще найти лишнее условие, чем менять весь набор сразу.
Памятка сохранена, но бот молчит
Например, вы загрузили PDF, а правило ждёт обычный текст. Или вопрос пришёл в «Болталку», хотя выбрана «Поддержка».
Проверьте включение правила, чат, событие и условия. Если сообщение подходит только одному варианту ИЛИ, убедитесь, что этот вариант тоже включён. В тестовой группе оставьте одно простое условие и одно сообщение-ответ, затем возвращайте остальные настройки по одной. Если делаете копию в том же чате, выключите оригинал на время проверки.
Наступило 10:00, но сообщения нет
В Automation расписание означает «обрабатывать подходящие события в эти часы». Оно не означает «самостоятельно написать в десять утра».
Например, бот ответит на вопрос про запись занятия, если тот пришёл в нужное время. Для самой публикации расписания занятий по часам нужна система анонсов.
Одному человеку снова выдали награду
Например, два модератора ответили /reward_member на одно полезное сообщение. Для правила это два вызова, и награда может начислиться дважды.
Проверьте повторные команды, редактирования, повторные вступления и новые подходящие сообщения. Альбом тоже может прийти несколькими сообщениями. Отключение редактирований не запрещает человеку прислать новый текст.
Условие «ровно одно сообщение» не обеспечивает единственную награду за первое сообщение: счётчик обновляется отдельно. Если повторная награда недопустима, организуйте отдельную проверку, а не полагайтесь только на это условие.
Реакция добавилась, а результат неожиданный
У Ильи был 👍, он добавил ❤️ — и условие по 👍 снова подошло. Причина в том, что проверяются реакции, оставшиеся после изменения. 👍 среди них есть.
Проверьте направление изменения и выбранные эмодзи. Для фильтра конкретной реакции должно быть выбрано добавление. Для общего количества проверьте сумму нужных типов: обновления с 20 и 21 реакцией могут каждое подходить минимуму 20. Ноль или пустое поле не задают границу диапазона.
На один вопрос пришли две одинаковые памятки
Частая причина — два правила с похожими условиями. Например, «оплатить» и «как оплатить». Другие варианты: копия после импорта, оставшийся старый триггер или стандартное приветствие вместе с новым.
Посмотрите все правила, которые могут отвечать на этот вопрос, в том числе в синхронизированном наборе. Выключайте лишнее по одному и повторяйте тот же пример.
Предупреждение получил модератор
Вероятно, действие направлено автору команды, а не человеку из ответа. В случае Анны и Ильи нужно выбрать Илью — пользователя из сообщения, на которое Анна ответила.
Проверьте режим «Ответ на сообщение», сам ответ в Telegram и поле «Применить к» у каждого действия. Удаление при этом всё равно относится к сообщению с командой, а не к исходной реплике Ильи.
Собственная команда не вызывается
Например, команда настроена только для ответа на сообщение, а вы отправили её отдельно. Или вы не входите в группу, указанную в «Кто вызвал».
Проверьте написание команды, разрешённых пользователей и способ вызова. Убедитесь, что вы действительно создали её в редакторе и имя не занято уже обрабатываемой встроенной командой.
Пояснение пришло, но сообщение не удалилось
Текст ответа ещё не доказывает, что остальные действия удались. Например, бот может писать в чат, но не иметь права удалять сообщения.
Проверьте права Combot и статус участника. Ограничения Telegram нельзя обойти настройкой правила, особенно когда речь об администраторах. Проверяйте отдельно и сообщение, и предупреждение, и мьют, если они предусмотрены.
Выполнилась только первая часть списка
Например, в правиле несколько отправок по топикам и у каждой включена очистка. Такой список расходует лимит быстрее, чем кажется по количеству строк.
Посмотрите расчёт в разделе «Лимиты»: если очередное действие целиком не помещается, оставшаяся часть списка не выполняется. Неудачная попытка тоже учитывается. Но причина может быть не в лимите: проверьте доступ к назначениям, права и наличие выбранного пользователя.
XP или репутация не прибавились
Например, вы добавили награду, но в новом чате курса XP ещё выключены. Проверьте функцию, получателя и ненулевое целое число изменения. 25 означает «прибавить 25», а не «сделать итог равным 25».
Для команды благодарности пригласившему выберите «Ответить» на сообщении самого пригласившего. Если же награда настроена на заявку по ссылке, убедитесь, что ссылка записана в каталоге Combot и её создатель известен. Неизвестный получатель не заменяется новичком.
Под правило попал человек, которого вы не считаете новичком
Сравните своё понимание новичка с настройками чата. Категория новых участников зависит от этих настроек и предусмотренных освобождений. Категория «Обычные участники» вообще не обещает большой стаж.
Если нужна точная граница, например первые два часа или не больше десяти сообщений, задайте её отдельно. Проверьте, к какому человеку относятся условия, и не путайте администраторов Telegram с администраторами панели Combot.
Срок после вступления считается иначе, чем вы ожидали
Илья вступил вчера в 23:50. Сегодня в 00:10 он всё ещё в чате только двадцать минут: смена даты не добавила ему сутки.
Проверьте единицы и сравнение. Месяц здесь равен 30 суткам. Старые правила могут использовать целые прошедшие сутки, а явная единица — точную длительность. Если нужно «Равно», убедитесь, что в старой настройке не осталось «Не меньше».
Ссылка не считается внешней
Например, вы выбрали приглашение на открытый урок и ждёте, что все остальные ссылки станут внешними. Но другая ссылка может тоже быть записана в каталоге Combot этого чата.
«Внешняя» означает отсутствие во всём каталоге, а не в вашем выборе. И если сведений о приглашении просто нет, бот не должен считать его ни внешним, ни заведомо неиспользованным.
Изменили чек-лист, но уведомления нет
Проверьте, что скопирована ссылка на сам список, а не на служебное сообщение об изменении. Ссылка с ?comment=… не подходит — нужна прямая ссылка на сообщение в чате.
Для публичной ссылки Combot также должен знать совпадающее имя чата. Попробуйте отметить задачу именно в выбранном списке, а затем в соседнем: второй не должен подходить.
Не сработала проверка языка, описания профиля или файла
Например, вы ждёте видео, а участник отправил ту же запись документом. Для бота это другой вид сообщения.
У профиля тоже не всегда доступны все сведения: описание «О себе» берётся из заявки, а код языка может отсутствовать. Неизвестное значение не означает ноль, отсутствие признака или совпадение с его отрицанием. Проверяйте, какие сведения есть у выбранного события.
Ответ появился не в том топике
Посмотрите на две разные настройки: где искать сообщение и куда отправлять ответ. Например, вопрос должен приходить из «Поддержки», а памятка по ошибке направлена в «Учёбу».
После импорта топики нужно выбрать заново. Если ответ появился сразу в нескольких местах, проверьте список топиков назначения: отправка идёт во все выбранные. Для логов нужны топики назначения логов, а не номера из исходной группы.
Старые ответы бота остаются
Например, очистка включена у правила, но у отправки явно стоит «Без очистки». Этот выбор внутри отправки важнее общего.
Проверьте настройку и вызовите правило ещё раз: очистка связана со следующей отправкой, а не с таймером. Каждое действие и каждый топик хранят свой предыдущий ответ. В случайном наборе приветствие B не обязано удалять приветствие A. Старые сообщения с неясной привязкой также могут оставаться.
Обложка курса не показывается
Откройте ссылку на картинку и проверьте, строит ли Telegram её предпросмотр. Поле изображения не загружает фотоальбом за вас.
Для первого опыта возьмите одну доступную картинку и короткий текст. Проверьте результат именно в Telegram, а не только в редакторе.
Редактор пишет «Конфликтов нет», а правила пересекаются
Он ищет точные совпадения условий. «Оплатить» и «как оплатить» записаны по-разному, но могут встретиться в одном вопросе.
Проверьте их на одном и том же сообщении. Если нужен общий ответ, возможно, удобнее одно правило с вариантами ИЛИ, чем два самостоятельных ответа.
Не получается добавить ещё одно правило
Выключенная памятка прошлого курса всё ещё занимает место. Посмотрите тарифный лимит и число сохранённых правил, включая выключенные и копии после импорта.
Сохраните экспорт ненужного набора перед удалением, если захотите когда-нибудь к нему вернуться.
Короткая проверка перед запуском
Для памятки про оплату это может выглядеть так:
- «Как оплатить курс?» в «Поддержке» — приходит нужный ответ.
- «Как сменить пароль?» там же — ответа про оплату нет.
- Та же фраза в «Болталке» — правило молчит, если выбран только топик поддержки.
- Сообщение от исключённого администратора — не подходит ни одному из вариантов, где вы задали это исключение.
- В рабочее и нерабочее время приходят именно предусмотренные ответы.
- Повторный вопрос не создаёт нежелательных наград или лишних сообщений.
Для модераторской команды добавьте проверку от обычного участника и убедитесь, что действие применяется к нужному человеку и сообщению. Баны и удаление пробуйте на тестовых участниках и сообщениях: копия настроек поможет вернуть правило, но не восстановит уже удалённую реплику.
Начните с одной задачи, которая отнимает у команды время каждый день. Когда памятка или команда работает как задумано, добавляйте следующую.
Если нужна помощь со сценарием, напишите в русскоязычный чат поддержки Combot. Покажите настройки и объясните, какой результат вы ждёте, но скройте частные приглашения и лишние данные участников.
Пусть в чате будет меньше повторяющихся объяснений и больше времени на сам разговор!