Чат-бот для Telegram
В этой статье расскажем про подключение бота Telegram, а также про основы работы с каналами или группами.
Важно знать!
При работе с Telegram учитывайте требования:
Максимальная длина текстового сообщения 4096 символов, для сообщения с картинкой (1080*1080px) не более 1024 символов
Требования к картинкам, фото. Telegram предпочитает квадратные картинки, оптимально 900х900 пикселей, весом не более 5Мб
Требования к файлам. Api Telegram требователен к загружаемым файлам
Боты могут отправлять файлы до 2 Гб.
Для работы с ранее загруженными файлами можно использовать file_id. В этом случае к файлу применяются лимиты согласно документации Telegram.
Файлы могут быть отправлены с использованием URL-адреса. В этом случае бот загружает файл и отправляет его. Максимальный размер для фотографий — 5 МБ, для других типов контента — 20 МБ
Для постинга установлены иные лимиты: для фото - 10Мб, остальные файлы - 2 Гб.
Создание бота в Telegram
Бот в Telegram создается при помощи другого бота под названием BotFather - данный Telegram-канал поможет Вам без знаний программирования создать Бота.
Стоит отметить, что рядом с названием BotFather есть галочка (данный ориентир позволит Вам не наткнуться на иные мошеннические каналы).
Отправьте ему команду /newbot, указываем имя-логин вашего бота (должен обязательно заканчиваться на bot или _bot).
Если адрес не занят, BotFather пришлет в ответ сообщение с токеном — «ключом» для доступа к созданному боту. Его нужно сохранить и никому не показывать:

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

Нажмите кнопку готово. На этом подключение бота завершено.
Видео-инструкции
1. Создать чат-бота для Телеграм
2. Подключить бота к Сейлбот
Работа с группами/каналами в Telegram
Полезное
Группа в Telegram представляет собой канал коммуникации между участниками: в ней могут писать все участники.
Telegram-канал является односторонним средством общения. Только владелец или администраторы могут отправлять сообщения, в то время как остальные участники могут только просматривать их и оставлять комментарии.
Как добавить бота в группу/канал Telegram
Эта возможность для бота включается в BotFather:
Шаг 1. Переходим в настройки бота:

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

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

Видео-инструкция добавления бота в канал
Добавить бота как администратора в группе/канале
Для того, чтобы автоматизировать работу в чатах и каналах необходимо добавить своего бота Администратором.
Как это сделать?
Шаг 1. Перейдите в Управление группой/каналом и выберите вкладку “Администраторы”

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

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

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

Переменные для работы в чатах
Важно знать!
Сохранение переменных в групповых чатах для таких событий, как вступление в чат, выход из чата, новый лайк и т д. недоступно.
Переменные будут доступны только внутри блока, который отработал. Можно в блоке вывести эти переменные для отслеживания работы
Это НИКАК не повлияет на работу чат-ботов, в разделе клиентов нельзя будет отследить, кто зашел/вышел.
Переменные с информацией об авторе сообщения
message_from - идентификатор автора сообщения message_from_name - имя автора сообщения message_from_username - ник автора сообщения в Телеграм

Переменные с информацией о пересылаемом сообщении
reply_message_id - номер сообщения, которое пересылают reply_from - кто автор пересылаемого сообщения reply_from_name - имя того, чье сообщение пересылается reply_from_username - ник того, чье сообщение пересылается reply_from_chat_id - номер диалога, из которого сообщение переслали
Добавление и удаление из группы
В этом случае срабатывают колбеки 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 сообщения, на которое поставили или с которого убрали реакцию.
Важно знать!
В Телеграм-каналах коллбеки на реакции не отображаются! Коллбеки на реакции приходят только в группах.
Если один человек поставил несколько лайков, а потом удалил 1 из них, то не отображается, какой именно лайк был удален.
При появлении коллбеков с реакциями в группах доступны переменные в блоке:
reaction_on_message_id - содержит id сообщения на которое была реакция reaction_from - id от кого была реакция message_from_username - юзернейм от кого была реакция (если есть) reaction_from_name - имя от кого была реакция

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

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


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

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

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

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

chat_boost from giveaway - выдается при проведении розыгрыша звезд в канале
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
Форум в Telegram
Форум — это группа, в которой можно создавать отдельные темы для обсуждения. В форуме можно использовать стандартные функции: прикреплять медиафайлы, публиковать опросы, настраивать уведомления. Ещё можно закреплять сообщения и добавлять ботов — отдельных в каждый чат.

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

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

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

Как настроить связку клиента-телеграм с сайтом?
Проверка подписок
Last updated
Was this helpful?