Вимоги та обмеження 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. Виберіть ім'я користувача для вашого бота. Воно обов'язково має закінчуватися на bot або _bot (наприклад, my_test_bot).

Якщо ім'я користувача вільне, BotFather надішле вам підтвердження, яке міститиме "токен" — унікальний ключ для доступу до API.

Важливо: Цей токен є паролем для вашого бота. Зберігайте його в безпеці та ніколи не передавайте нікому.

Перейдіть до розділу Messengers, виберіть Telegram і вставте токен вашого бота у відповідне поле.

Натисніть кнопку Done, щоб завершити налаштування бота та активувати підключення до вашого проекту.

Робота з групами/каналами 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 - ім'я користувача, від кого була реакція (якщо є)

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 і клієнта з веб-сайту після успішної оплати тут.