Автопилот в Telegram. Работа с комментариями и темами

В данной инструкции мы покажем как реагировать на комментарии в постах Telegram, работать с темами. Сложно? Все просто: повторяйте шаги в инструкции и все получится.

Лирическое отступление… Интеграция с Telegram, создание канала и привязка обсуждения должны быть сделаны по соответствующим инструкциям.

План инструкции:

Важно! Если какой-то пункт у вас сделан, то пропускаете и идете дальше.

Команда для загрузки файлов

Событие:

1) Событие: «Написал сообщение в Telegram» с текстом: #file

Важно! Не создавайте одинаковых событий / действий, в этом нет смысла. В другие команды обязательно вставляйте события / действия по номеру. НЕ забывайте про привязку аккаунта TG иначе будут списываться мили.
Пример события
Пример события

Обязательно добавляйте условия:
2) Переменная %attach_type% содержит noneи нажимаем кнопку «Если не», т.е. сообщение содержит вложение.

Условие для проверки типа вложения. Запускать команду, только если есть вложение.
Условие для проверки типа вложения. Запускать команду, только если есть вложение.

3) Числовая переменная %chat_id% больше0, т.е. пользователь пишет в личку боту

Сообщение написано в личку бота
Сообщение написано в личку бота

4) Чтобы команда реагировала на сотрудника добавьте этo условие: переменная %player.tg_id% совпадает и вставьте ID сотрудника из следующего действия (первый запуск делаете без этого условия)

Условие для проверки сотрудников
Условие для проверки сотрудников

Действия:

1) В действии «Отправить сообщение в Telegram» отправляем текстом с разметкой HTML и текстом:

Идентификатор файла:
<code>%tg_file_id%</code>
Тип вложения:
<code>%attach_type%</code>
TG_ID пользователя:
<code>%player.tg_id%</code>

Здесь все просто:

  • %tg_file_id% — идентификатор файла в Telegram.
  • %attach_type% — тип вложения для формирования JSON-объекта.
  • %player.tg_id% — идентификатор пользователя Telegram (для условия с сотрудниками). Получаете значение, вставляете его в условие и не забываете его включить.
Пример действия
Пример действия

Реакция на комментарий под постом

Важно! В этом простом примере показан принцип, а все остальное вы можете докрутить по желанию
Видеодемонстрация настройки

Событие:

1) Событие: «Написал сообщение в Telegram» с текстом: подарок

Важно! Не создавайте одинаковых событий / действий, в этом нет смысла. В другие команды обязательно вставляйте события / действия по номеру. НЕ забывайте про привязку аккаунта TG иначе будут списываться мили.
Пример ключевика для комментария
Пример ключевика для комментария

Обязательно добавляйте условия:

1) Переменная %chat_id% совпадает с ID обсуждения, т.е. пользователь пишет в нужном обсуждении. Как его узнать показано в видео.

Пользователь отвечает в нужном обсуждении
Пользователь отвечает в нужном обсуждении

2) Чтобы команда реагировала только на конкретный пост добавьте этo условие: переменная %post_id% совпадает и вставьте ID поста из следующего действия. (первый запуск делаете без этого условия)

Комментарий оставлен только под указанным постом. Можно указать несколько через запятую
Комментарий оставлен только под указанным постом. Можно указать несколько через запятую

Опциональное условие:

Важно! Если у вас есть привязка к ВК игроков, то тогда могут работать стардартные условия, уровни списка, выполнения команд и т.д. Как привязать смотрите в этой инструкции

3) Чтобы команда запускалась один раз вы можете добавить проверку запуска через поле игрока. Для этого добавляете условие: переменная %player.номеркоманды% содержит not found

Естественно название поля может быть любым, но Андрей для уникальности использует номер команды. Также в реакции на невыполнение (через выполнение действия), вы можете писать пользователю в личку, если он разрешил боту с ним общаться.

Условие для запуска команды один раз
Условие для запуска команды один раз

Действия:

1) В действии «Отправить сообщение в Telegram» (оно стоит на паузе) отправляем пользователю %player.tg_id% и текстом:

%first_name%, подарок вам уже был выдан.

Номер этого действия нужно указать в реакции на невыполнение, но будут списываться мили.

Пример сообщения в личку пользователю
Пример сообщения в личку пользователю

2) Для того чтобы сформировать текст ответного комментария, во временной переменной %caption% пишете желаемый текст. Пример ниже:

%first_name%, спасибо за комментарий. Вот ваш подарок.
Пример сообщения к файлу, помните про ограничения Telegram
Пример сообщения к файлу, помните про ограничения Telegram

3) Для того чтобы выдать, допустим, документ, во временной переменной %document% указываете идентификатор вложения (получаете из команды выше). Пример ниже:

BQACAgIAAxkBAAO-ZvbuO3ZCGncFmPVydt69qpzxYWIAAotXAAI8S7hLydIMjr_XByk2BA
Пример вложения
Пример вложения

4) В действии «Отправить запрос в Telegram» отправляем запрос на метод sendDocument

с параметрами:

  • chat_id%chat_id%. Идентификатор бота. Если выдаете файл в комментарии, то указываете %chat_id%, а если хотите выдать пользователю в личку, то указываете %player.tg_id%
  • document%document%. Здесь указываем переменную с вашим файлом.
  • caption%caption%. Здесь указываем переменную с описанием вашего файла. Помним по ограничения Telegram.
  • reply_to_message_id%object_id%. Этот параметр делает ответный комментарий на комментарий пользователя.
  • protect_content1. Данный параметр не дает скачать контент в Telegram. Если он не нужен можете удалять.

На самом деле все просто, если почитать документацию по методу

Пример запроса
Пример запроса

5) Для того, чтобы не давать бонус еще раз в поле игрока с номером команды записываем действием: «Изменить поле профиля игрока» с номером команды и значением 1

Пример блокировки запуска команды
Пример блокировки запуска команды

Реакция на комментарий в темах

Важно! А тут все настраивается аналогично, только пару блоков изменить. Можете как Андрей показывает скопировать команду и внести изменения, заменив нужные блоки копиями.
Видеодемонстрация настройки

Событие:

1) Событие: «Написал сообщение в Telegram» с текстом: подарок

Важно! Не создавайте одинаковых событий / действий, в этом нет смысла. В другие команды обязательно вставляйте события / действия по номеру. НЕ забывайте про привязку аккаунта TG иначе будут списываться мили.
Автопилот в Telegram. Работа с комментариями и темами, image #15

Обязательно добавляйте условия:

1) Переменная %chat_id% совпадает с ID обсуждения, т.е. пользователь пишет в нужном обсуждении. Как его узнать показано в видео.

Автопилот в Telegram. Работа с комментариями и темами, image #16

2) Чтобы команда реагировала только на конкретный пост добавьте этo условие: переменная %post_id% совпадает и вставьте ID поста из следующего действия. (первый запуск делаете без этого условия)

Автопилот в Telegram. Работа с комментариями и темами, image #17

Опциональное условие:

Важно! Если у вас есть привязка к ВК игроков, то тогда могут работать стардартные условия, уровни списка, выполнения команд и т.д. Как привязать смотрите в этой инструкции

3) Чтобы команда запускалась один раз вы можете добавить проверку запуска через поле игрока. Для этого добавляете условие: переменная %player.номеркоманды% содержит not found

Название поля может быть любым, но Андрей для уникальности использует номер команды. Также в реакции на невыполнение (через выполнение действия), вы можете писать пользователю в личку, если он разрешил боту с ним общаться.

Автопилот в Telegram. Работа с комментариями и темами, image #18

4) Чтобы команда запускалась только если пользователь пишет в теме, то можете добавить условие: числовая переменная %is_topic_message% равна1

То есть, темы включены в группе.

Пример проверки условия, что темы включены
Пример проверки условия, что темы включены

4) Чтобы команда запускалась, только если пользователь пишет в теме с определенным названием, необходимо добавить условие: переменная %forum_topic_title% совпадает с названием темы.

Важно! В инструкции показаны все необходимые условия, а какие из них использовать решаете Вы. Больше переменных Telegram указано в этой инструкции.
Пример проверки условия по названии темы
Пример проверки условия по названии темы

Действия:

1) В действии «Отправить сообщение в Telegram» (оно стоит на паузе) отправляем пользователю %player.tg_id% и текстом:

%first_name%, подарок вам уже был выдан.

Номер этого действия нужно указать в реакции на невыполнение, но будут списываться мили.

Пример сообщения в личку пользователю
Пример сообщения в личку пользователю

2) Для того чтобы сформировать текст ответного комментария, во временной переменной %caption% пишете желаемый текст. Пример ниже:

%first_name%, спасибо за комментарий. Вот ваш подарок.
Пример сообщения к файлу, помните про ограничения Telegram
Пример сообщения к файлу, помните про ограничения Telegram

3) Для того чтобы выдать, допустим, документ, во временной переменной %document% указываете идентификатор вложения (получаете из команды выше). Пример ниже:

BQACAgIAAxkBAAO-ZvbuO3ZCGncFmPVydt69qpzxYWIAAotXAAI8S7hLydIMjr_XByk2BA
Пример вложения
Пример вложения

4) Единственное отличие. В действии «Отправить запрос в Telegram» отправляем запрос на метод sendDocument

с параметрами:

  • chat_id%chat_id%. Идентификатор бота. Если выдаете файл в комментарии, то указываете %chat_id%, а если хотите выдать пользователю в личку, то указываете %player.tg_id%
  • document%document%. Здесь указываем переменную с вашим файлом.
  • caption%caption%. Здесь указываем переменную с описанием вашего файла. Помним по ограничения Telegram.
  • message_thread_id%message_thread_id%. Этот параметр указывает в какой именно топик (тему) писать ответ.
  • reply_to_message_id%object_id%. Этот параметр делает ответный комментарий на комментарий пользователя.
  • protect_content1. Данный параметр не дает скачать контент в Telegram. Если он не нужен можете удалять.

На самом деле все просто, если почитать документацию по методу

Пример запроса
Пример запроса

5) Для того, чтобы не давать бонус еще раз в поле игрока с номером команды записываем действием: «Изменить поле профиля игрока» с номером команды и значением 1

Пример бокировки команды
Пример бокировки команды

Все легко и просто. Пробуйте и все получится.

Творческих взлётов и успешного внедрения.

Вернуться к списку инструкций
215 views·6 shares