Створення ботів Telegram · 25 вересня 2026 р.

Як створити бота в Telegram для сповіщень через BotFather?

Як створити бота в Telegram для сповіщень через BotFather? Покрокове керівництво: отримання токена, вибір webhook або polling, розсилка повідомлень. Поради щодо лімітів та безпеки.

Автор: Telegram Офіційна команда#BotFather#Telegram API#Webhook#Опитування#Сповіщення
як створити бота в Telegram, як налаштувати сповіщення Telegram, як отримати токен бота, webhook vs polling Telegram, бот не надсилає сповіщення виправлення, як оптимізувати бота Telegram, Telegram Bot API сповіщення, створити бота для сповіщень Telegram, налаштування BotFather, використання Telegram API

Навіщо потрібен BotFather і як він працює

BotFather — це офіційний бот Telegram, який виконує роль «батька» для всіх інших ботів. Саме він дозволяє створити нового бота, керувати його іменем, описом, аватаркою та, що головне, отримати унікальний токен для доступу до Telegram Bot API. Для завдання автоматичних сповіщень BotFather є єдиною точкою входу: без нього неможливо зареєструвати бота й отримати ключі для роботи з API. У цій статті ми розглянемо, як створити бота за допомогою BotFather, налаштувати його для сповіщень і обрати метод доставки — webhook або long polling, залежно від ваших потреб.

Важливо розуміти, що BotFather не надає жодних інструментів для написання коду. Він лише реєструє бота в системі Telegram і генерує токен. Увесь функціонал — логіка сповіщень, обробка команд, інтеграція з зовнішніми сервісами — лягає на плечі розробника. Тому створення бота — це лише перший, але обов’язковий крок, без якого подальша робота неможлива.

Навіщо потрібен BotFather і як він працює
Навіщо потрібен BotFather і як він працює

Покрокове створення бота через BotFather

Процес реєстрації однаковий для всіх платформ (Android, iOS, Desktop), оскільки відбувається всередині Telegram. Ми розглянемо його на прикладі десктопної версії, але кроки абсолютно ідентичні на мобільних пристроях. Далі — покрокова інструкція.

1. Пошук і початок діалогу з BotFather

Відкрийте Telegram, у полі пошуку введіть BotFather — офіційний бот із синьою галочкою верифікації. Натисніть «Start» або надішліть команду /start. У відповідь ви побачите список усіх можливих команд. Якщо бот не відповідає, переконайтеся, що ви знайшли саме верифікований акаунт (позначка «verified» біля імені) — це гарантує, що ви спілкуєтеся з офіційним ботом.

2. Команда /newbot

Надішліть команду /newbot. BotFather попросить вас спочатку ввести ім’я бота (наприклад, «My Notification Bot»), а потім — юзернейм, який має закінчуватися на bot (наприклад, MyNotificationBot). Юзернейм має бути унікальним — якщо він зайнятий, BotFather повідомить про помилку й запропонує інший варіант.

Важливо: юзернейм бота можна змінити пізніше командою /setusername, а ім’я (display name) — командою /setname. Однак токен прив’язаний до юзернейму, тому після зміни юзернейму токен залишається тим самим — це варто враховувати при плануванні.

3. Отримання токена

Після успішного створення BotFather надішле повідомлення з вітанням і рядком, схожим на:

Use this token to access the HTTP API:
1234567890:ABCdefGHIjklmNOPqrstUVwxyz-1234567

Це і є ваш токен — ключ доступу до API. Зберігайте його в безпечному місці, ніколи не оприлюднюйте (наприклад, у відкритих репозиторіях). Якщо токен скомпрометовано, використайте команду /token у діалозі з BotFather, щоб згенерувати новий — старий автоматично деактивується, що забезпечує швидку реакцію на витік.

4. Додаткове налаштування

Після створення варто налаштувати опис (/setdescription), інформацію про бота (/setabouttext) та аватарку (/setuserpic). Для сповіщувального бота в описі можна вказати, які саме події він моніторить — це допоможе користувачам швидше зрозуміти його призначення. Якщо ви плануєте, що бот буде приймати вхідні повідомлення (наприклад, для керування), обов’язково вимкніть режим конфіденційності через /setprivacy — інакше бот не бачитиме повідомлень, надісланих у групах, якщо не згадати його через @юзернейм.

Вибір методу отримання оновлень: webhook vs polling

Після створення бота потрібно вирішити, як він отримуватиме команди або повідомлення. Для сповіщень це не обов’язково — ви можете просто викликати API sendMessage, не обробляючи вхідні дані. Але якщо бот має реагувати на команди (наприклад, /subscribe, /stop), доведеться налаштувати прийом оновлень.

Telegram пропонує два способи: long polling (метод getUpdates) і webhook. У polling бот періодично запитує сервер Telegram про нові події. У webhook сам Telegram надсилає POST-запити на ваш публічний HTTPS-ендпоінт, коли відбувається оновлення. Кожен метод має свої переваги залежно від сценарію використання.

Коли використовувати polling

Polling — простіший варіант для тестування, локальних скриптів або невеликих проектів. Він не потребує публічної адреси чи SSL-сертифіката. Достатньо запустити код, який циклічно викликає getUpdates. Однак polling створює навантаження на сервер Telegram, тому при великій кількості ботів або високій частоті запитів можна отримати тимчасове блокування. Рекомендований інтервал — не частіше ніж раз на 2–3 секунди, щоб уникнути обмежень.

Коли використовувати webhook

Webhook — кращий вибір для продакшн-рішень. Він миттєво доставляє оновлення, знижує навантаження на ваш сервер і не потребує постійних запитів. Єдина вимога — публічна HTTPS-адреса з дійсним SSL-сертифікатом. Для налаштування webhook використовуйте метод setWebhook з вашим токеном. Telegram надсилатиме оновлення на вказаний URL. Важливо: якщо ви ввімкнули webhook, polling (getUpdates) перестане працювати, і навпаки — ці методи взаємовиключні.

Приклад налаштування webhook через curl (замініть TOKEN та URL):

curl -F "url=https://yourdomain.com/webhook" https://api.telegram.org/botTOKEN/setWebhook

Після успішного встановлення ви отримаєте JSON-відповідь {"ok": true, "result": true, "description": "Webhook was set"}. Перевірити поточний стан webhook можна через getWebhookInfo, що особливо корисно під час діагностики.

Надсилання сповіщень: базовий приклад

Незалежно від обраного методу отримання оновлень, для надсилання повідомлень використовується метод sendMessage. Розглянемо найпростіший випадок: сповіщення про новий коментар на сайті. Припустимо, у вас є чат або група, куди бот має надсилати повідомлення. Для цього потрібно знати chat_id.

Як дізнатися chat_id? Є кілька способів:

  • Надіслати будь-яке повідомлення боту, а потім викликати getUpdates — у відповіді буде поле chat.id.
  • Скористатися ботом @userinfobot, який показує ID вашого чату.
  • Якщо бот доданий у групу, ID групи можна отримати з того ж getUpdates після надсилання повідомлення в групу.

Приклад коду на Python (використовуємо бібліотеку requests):

import requests

TOKEN = "1234567890:ABCdefGHIjklmNOPqrstUVwxyz-1234567"
CHAT_ID = "123456789"
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
data = {"chat_id": CHAT_ID, "text": "Новий коментар на сайті!"}
response = requests.post(url, data=data)
if response.status_code == 200:
    print("Сповіщення надіслано")
else:
    print(f"Помилка: {response.json()}")

За замовчуванням Telegram підтримує прості текстові повідомлення, а також форматування Markdown або HTML. Для ввімкнення HTML-форматування додайте параметр parse_mode="HTML". Наприклад, "text": "Новий коментар від username". Будьте обережні з екрануванням символів — неправильне екранування може призвести до помилок відображення.

Типові помилки та усунення несправностей

Під час створення бота та налаштування сповіщень можна зіткнутися з кількома поширеними проблемами. Розглянемо їх по черзі, щоб ви могли швидко діагностувати та виправити.

Помилка 404: Bot not found

Це означає, що токен, який ви використовуєте, недійсний або бот було видалено. Перевірте токен за допомогою команди /token у BotFather. Якщо бот існує, але токен неправильний, згенеруйте новий — стара версія одразу деактивується.

Помилка 404: Bot not found
Помилка 404: Bot not found

Помилка 429: Too Many Requests

Ви перевищили ліміт частоти запитів. Telegram обмежує: 1 повідомлення на секунду на один чат і 30 повідомлень на секунду загалом на бота. На практиці для сповіщень рідко виникає така помилка, але якщо ви надсилаєте масову розсилку, потрібно додавати затримки між повідомленнями (наприклад, 30–50 мс). Використання експоненційної затримки при повторних спробах допоможе уникнути блокування.

Webhook не працює: SSL certificate error

Telegram вимагає дійсний SSL-сертифікат від надійного центру сертифікації (не самопідписаний). Якщо ви використовуєте localhost або IP-адресу, webhook неможливий. Рішення: отримайте сертифікат Let's Encrypt або використовуйте polling. Для тестування можна налаштувати тунель через ngrok, який автоматично надає HTTPS — це зручний спосіб перевірити webhook без постійного сервера.

Бот не відповідає в групах

Ймовірно, увімкнено режим конфіденційності (за замовчуванням). Вимкніть його через BotFather командою /setprivacy та оберіть «Disable». Після цього бот бачитиме всі повідомлення в групах, де він є учасником, що необхідно для коректної роботи з груповими сповіщеннями.

Оптимізація для масових сповіщень

Якщо ваш бот має сповіщати сотні чи тисячі користувачів, звичайний цикл надсилання може призвести до блокування. Ось кілька практичних порад, які допоможуть уникнути проблем із продуктивністю:

  • Використовуйте асинхронність — наприклад, бібліотеку aiohttp для Python, щоб не блокуватися на кожному запиті. Це значно прискорює надсилання.
  • Додайте чергу та затримку — надсилайте повідомлення з інтервалом 30–50 мс між різними чатами, щоб не перевищувати ліміти.
  • Групуйте повідомлення — якщо потрібно надіслати однакове повідомлення багатьом, не створюйте окремі виклики, а використовуйте метод sendMessage для кожного chat_id окремо з паузами.
  • Розділяйте черги — окрема черга для критичних сповіщень (високий пріоритет) і звичайних, щоб важливі повідомлення доставлялися без затримок.

Також варто знати, що Telegram може тимчасово заблокувати бота при підозрі на спам. Щоб уникнути цього, дотримуйтеся лімітів, а також налаштуйте механізми повтору при помилках 429 з експоненційною затримкою — це стандартна практика для стабільної роботи.

Безпека токена та бота

Токен — це ключ до всього функціоналу бота. Якщо зловмисник отримає токен, він зможе надсилати повідомлення від імені бота, читати вхідні повідомлення (якщо налаштовано webhook) і навіть видалити бота. Тому важливо дотримуватися базових правил безпеки:

  • Не зберігайте токен у коді, особливо у відкритих репозиторіях. Використовуйте змінні середовища або Vault для безпечного зберігання.
  • Якщо бот використовує webhook, валідуйте, що запити надходять з IP-адрес Telegram (опубліковані на їхньому сайті) — це запобігає підробленим запитам.
  • Регулярно змінюйте токен через BotFather, особливо якщо є підозра на витік. Команда /token дозволяє зробити це за кілька секунд.
  • Для конфіденційних даних (наприклад, сповіщення про фінансові операції) обов’язково використовуйте HTTPS і переконайтеся, що ваш сервер не логує токен у відкритому вигляді.

Часті запитання

Чи можна створити бота без BotFather?

Ні. BotFather є єдиним офіційним інструментом для реєстрації ботів у Telegram. Без нього неможливо отримати токен для доступу до API.

Як змінити токен бота?

Напишіть BotFather команду /token, оберіть потрібного бота, і ви отримаєте новий токен. Старий перестане працювати одразу.

Чи можна надсилати сповіщення без сервера?

Так, можна використовувати сервіси-агрегатори (наприклад, IFTTT, Zapier), які інтегруються з Telegram Bot API. Однак для власного бота все одно потрібен сервер для виконання логіки.

Скільки ботів можна зареєструвати через один акаунт?

Офіційного ліміту немає. Ви можете створити стільки ботів, скільки потрібно. Кожен бот матиме унікальний токен.

Висновки

Створення бота для сповіщень через BotFather — це швидкий процес, який займає менше хвилини. Головне — правильно обрати метод доставки оновлень (webhook чи polling), захистити токен і дотримуватися лімітів Telegram API. Наведені в статті кроки та приклади коду дозволять вам налагодити базові сповіщення за кілька хвилин.

Як наступний крок спробуйте реалізувати простий скрипт, який надсилає вам повідомлення про певну подію (наприклад, помилку в логах сервера). Поступово ви зможете додати більше функцій: інтерактивні кнопки, підписки, фільтрацію. Головне — починати з малого і тестувати кожен компонент окремо, поступово нарощуючи складність.

Ключові слова статті

#як створити бота в Telegram#як налаштувати сповіщення Telegram#як отримати токен бота#webhook vs polling Telegram#бот не надсилає сповіщення виправлення#як оптимізувати бота Telegram#Telegram Bot API сповіщення#створити бота для сповіщень Telegram#налаштування BotFather#використання Telegram API