Требования и ограничения Telegram

1. Ограничения на сообщения

  • Только текст: Максимум 4 096 символов.
  • Сообщение с изображением: Максимум 1 024 символа (для изображения 1080x1080 px).

2. Требования к изображениям

  • Формат: Предпочтительны квадратные изображения.
  • Оптимальный размер: 900x900 пикселей, максимум 5 МБ.

3. Требования к файлам

API Telegram предъявляет особые требования к загружаемым файлам:

  • Боты могут отправлять файлы размером до 2 ГБ.
  • Вы можете использовать file_id для работы с ранее загруженными файлами. В этом случае действуют ограничения на файлы согласно документации Telegram.
  • Файлы можно отправлять по URL (бот скачивает и отправляет его):
    • Фотографии: ≤ 5 МБ
    • Другие файлы: ≤ 20 МБ
  • Для публикации действуют другие ограничения:
    • Фотографии: 10 МБ
    • Другие файлы: 2 ГБ

Подробнее в первоисточнике

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

Telegram-бот создается через BotFather — официальную систему управления ботами Telegram. Этот проверенный инструмент (отмечен синей галочкой) позволяет создать бота без каких-либо знаний программирования и защищает вас от мошенников-имитаторов.

Шаги создания:

  1. Начните чат с BotFather.
  2. Отправьте команду: /newbot
  3. Выберите имя для вашего бота (это отображаемое имя для пользователей).
  4. Выберите username для вашего бота. Оно обязательно должно заканчиваться на bot или _bot (например, my_test_bot).

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

Важно: Этот токен является паролем для вашего бота. Сохраните его в надежном месте и никогда никому не передавайте.

Перейдите в раздел Мессенджеры, выберите Telegram и вставьте токен вашего бота в соответствующее поле.

Нажмите кнопку Готово, чтобы завершить настройку бота и активировать подключение к вашему проекту.

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

Полезная информация

Группа Telegram — это канал связи между участниками: все участники могут писать в ней.

Канал Telegram — это одностороннее средство связи. Только владелец или администраторы могут отправлять сообщения, остальные участники могут только просматривать их и оставлять комментарии.

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

Эта функция для бота включается в BotFather:

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

Шаг 2. Нажмите на «Allow Groups?»

Шаг 3. Должен быть включенный статус.

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

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

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

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

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

Шаг 3. Введите имя пользователя вашего бота в строке поиска.

Шаг 4. Для полной функциональности убедитесь, что бот имеет права на чтение и удаление сообщений.

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

Обратите внимание!

Сохранение переменных в групповых чатах для таких событий, как присоединение к чату, выход из чата, новый лайк и т.д., недоступно.

Переменные будут доступны только внутри сработавшего блока. Вы можете выводить эти переменные в блоке для отслеживания работы.

Это НЕ повлияет на работу чат-ботов, отследить, кто вошел/вышел в разделе клиентов, будет невозможно.

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

message_from — ID автора сообщения

message_from_name — имя автора сообщения

message_from_username — никнейм автора сообщения в Telegram

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

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 — номер пользователя

Колбэки в Telegram

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 сообщения, на которое ответили или с которого удалили.

Обратите внимание!

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

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

reaction_on_message_id — содержит ID сообщения, на которое была реакция

reaction_from — id того, от кого была реакция

message_from_username — username того, от кого была реакция (если есть)

reaction_from_name — имя того, от кого была реакция

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

Если сообщение было отправлено как ответ (с цитированием предыдущего сообщения), система также сгенерирует переменную tg_quote, содержащую цитируемый текст.

Колбэки с бустами

  • 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 может использоваться только в группах. В каналах присвоение любого значения этой переменной не приведет к результату.

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

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

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

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

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

- Сообщение закреплено

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

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

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

Обратите внимание!

Эти переменные будут работать только для групп Telegram, но не для каналов.

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

  • 'new_chat_member' – пользователь присоединился к группе,
  • 'left_chat_member' – пользователь покинул группу,
  • 'pinned_message' – сообщение закреплено,
  • 'delete_chat_photo' – фотография группы удалена,
  • 'new_chat_photo' – фотография группы изменена,
  • 'new_chat_title' – название группы изменено

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

Обратите внимание!

Удаление системных уведомлений не повлияет на колбэки. Будет удалено только системное сообщение из диалога Telegram.

Форум в Telegram

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

Основная цель форума — структурировать общение внутри большого сообщества.

В стандартном групповом чате с большим количеством участников становится трудно следить за разговорами и находить релевантные сообщения. Форумы решают эту проблему, организуя обсуждения в выделенные тематические ветки. Это автоматически сегментирует сообщество по темам и интересам, делая общение более сфокусированным и управляемым.

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

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

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

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

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