Чат-бот для Telegram

В этой статье расскажем про подключение бота Telegram, а также про основы работы с каналами или группами.

Создание бота в Telegram

Бот в Telegram создается при помощи другого бота под названием BotFather - данный Telegram-канал поможет Вам без знаний программирования создать Бота.

Стоит отметить, что рядом с названием BotFather есть галочка (данный ориентир позволит Вам не наткнуться на иные мошеннические каналы).

Отправьте ему команду /newbot, указываем имя-логин вашего бота (должен обязательно заканчиваться на bot или _bot).

Если адрес не занят, BotFather пришлет в ответ сообщение с токеном — «ключом» для доступа к созданному боту. Его нужно сохранить и никому не показывать:

Создание бота

После этого нужно зайти в раздел "Каналы", выбрать Telegram и ввести в форму токен вашего бота:

Подключение бота Telegram к проекту

Нажмите кнопку готово. На этом подключение бота завершено.

Видео-инструкции

1. Создать чат-бота для Телеграм

2. Подключить бота к Сейлбот

Работа с группами/каналами в Telegram

Как добавить бота в группу/канал Telegram

Эта возможность для бота включается в BotFather:

Шаг 1. Переходим в настройки бота:

Кликаем на Bot Settings

Шаг 2. Кликните по "Allow Groups?'

Allow Groups?

Шаг 3. Должен быть статус enabled

Видео-инструкция добавления бота в канал

Как включить возможность добавлять бота в группы и каналы

Добавить бота как администратора в группе/канале

Для того, чтобы автоматизировать работу в чатах и каналах необходимо добавить своего бота Администратором.

Как это сделать?

Шаг 1. Перейдите в Управление группой/каналом и выберите вкладку “Администраторы”

Шаг 2. Нажмите кнопку “Добавить Администратора”

Шаг 3. В поисковой строке введите логин Вашего бота.

Шаг 4. Для успешной работы бота предоставьте права на работу/удаление сообщений:

Переменные для работы в чатах

  1. Переменные с информацией об авторе сообщения

message_from - идентификатор автора сообщения message_from_name - имя автора сообщения message_from_username - ник автора сообщения в Телеграм

  1. Переменные с информацией о пересылаемом сообщении

reply_message_id - номер сообщения, которое пересылают reply_from - кто автор пересылаемого сообщения reply_from_name - имя того, чье сообщение пересылается reply_from_username - ник того, чье сообщение пересылается reply_from_chat_id - номер диалога, из которого сообщение переслали

  1. Добавление и удаление из группы

В этом случае срабатывают колбеки new_chat_member и left_chat_member (переменные в карточке клиента не сохраняются):

chat_member_name - имя пользователя chat_member_username - ник пользователя chat_member_id - номер пользователя

Callback / колбеки в Телеграм

client_unsubscribed - клиент отписался, заблокировал бот client_returned - клиент разблокировал бота

Колбеки в группах/каналах

new_chat_member - добавлен новый пользователь left_chat_member - пользователь покинул канал kicked_chat_member - пользователь удален администратором chat_join_request - получена заявка на добавление в канал edited_channel_post - пост на канале был отредактирован (edited_channel_post + дата и время редактирования)

Колбеки отображаются в разделе клиенты

bot_added_to_group - в чат добавлен бот (неважно какой, отреагирует на любого, даже если подключенный бот сам был добавлен в группу); bot_left_group - аналогичный коллбэк - удаление бота из канала; new_like - поставил лайк на пост like_deleted - удалил лайк с поста

Число в коллбэке (new_like; like_deleted) - это id сообщения, на которое поставили или с которого убрали реакцию.

При появлении коллбеков с реакциями в группах доступны переменные в блоке:

reaction_on_message_id - содержит id сообщения на которое была реакция reaction_from - id от кого была реакция message_from_username - юзернейм от кого была реакция (если есть) reaction_from_name - имя от кого была реакция

Также если в Telegram отвечают на сообщение, то переменная reply_text в карточке будет содержать полный текст сообщения, на которое ответили.

Если человек цитировал, то также будет переменная tg_quote, содержащая цитату:

Коллбеки с Boost

  1. chat_boost_from user #{id_user} - подарили буст чату (или каналу):

При получении данного коллбека генерируются переменные:

  1. remove_boost_from user #{id_user} - забрали буст у чата (или канала):

При получении данного коллбека генерируются переменные:

  1. chat_boost from giveaway - выдается при проведении розыгрыша звезд в канале

  2. remove_chat_boost from giveaway - закончился срок буста за розыгрыш звезд в канале

Как автоматизировать удаление системных уведомлений в группах

Для автоматического удаления всех системных сообщений достаточно присвоить любое значение переменной del_tg_system_messages (переменная может быть как константой проекта, так и переменной сделки) и дать боту разрешение на удаление сообщений.

Использовать переменную del_tg_system_messages возможно только в группах. В каналах присвоение какого-либо значения данной переменной не приведет ни к какому результату.

Права администратора в настройках группы Телеграм

Удаляются следующие виды системных уведомлений:

- Изменено название группы

- Изменена фотография группы

- Удалена фотография группы

- Закреплено сообщение

- Пользователь вступил в группу

- Пользователь вышел из группы

Если вы хотите удалять лишь избранные типы системных уведомлений, то вместо переменной del_tg_system_messages создайте переменную del_tg_chosen_messages и поместите в нее массив с типами уведомлений, которые нужно удалить, через запятую.

Варианты системных уведомлений:

  • 'new_chat_member' – пользователь вступил в группу,

  • 'left_chat_member' – пользователь покинул группу,

  • 'pinned_message' – закреплено сообщение,

  • 'delete_chat_photo' – удалена фотография группы,

  • 'new_chat_photo' – изменена фотография группы,

  • 'new_chat_title' – изменено название группы

Например, вам нужно удалить все виды системных сообщений, кроме вступления в группу; тогда вам необходимо добавить все виды колбеков в переменную (константу) проекта, кроме "new_chat_member".

Форум в Telegram

Форум — это группа, в которой можно создавать отдельные темы для обсуждения. В форуме можно использовать стандартные функции: прикреплять медиафайлы, публиковать опросы, настраивать уведомления. Ещё можно закреплять сообщения и добавлять ботов — отдельных в каждый чат.

Если возникает вопрос, зачем нужен форум, то ответ кроется в организации процесса общения между участниками. Если в группе много участников, следить за общением и находить нужные сообщения в общем потоке сложно. Поэтому организация разных тематических обсуждений или, привычное нам наименование, форумов значительно упрощает процесс объединения участников по интересам.

Создать тему может только владелец группы, если в группе свыше 100 участников. Если группа привязана к каналу, то Тему создать не получится. Подключаются Темы в Настройках группы:

Как администратор, создать тему можно в настройках группы-форума:

После подключения Тем аватарка с круглой изменится на квадратную, что позволяет выделить форум среди иных чатов Telegram:

Как настроить связку клиента-телеграм с сайтом?

Подробнее о том, как после успешной оплаты привязать клиента телеграм и клиента с сайта, читайте здесь

Проверка подписок

Last updated

Was this helpful?