Логотип TelegramTelegram.ua
Telegram Bot Розробка

Як створити Telegram-бота за допомогою BotFather?

Автор: Telegram Технічна команда

Як створити Telegram бота, BotFather налаштування, Створення бота Telegram, Як додати команду боту, Telegram BotFather поради, BotFather не працює, Налаштування команд Telegram бота, Як змінити команди бота

Як створити Telegram-бота за допомогою BotFather

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

Як створити Telegram-бота за допомогою BotFather
Як створити Telegram-бота за допомогою BotFather

Що таке BotFather і для чого він потрібен

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

Важливо розуміти: BotFather не навчає, як писати код бота. Він лише надає «ключ» (токен), який ваш майбутній програмний код використовуватиме для авторизації в Telegram API. Якщо ви шукаєте спосіб створити бота без програмування, BotFather — це лише перший крок; сам бот потребуватиме серверної логіки (наприклад, на Python, Node.js або через конструктори ботів). У цьому посібнику ми зосередимось саме на роботі з BotFather.

Передумови для роботи з BotFather

Для початку вам знадобиться:

  • Обліковий запис Telegram (активний номер телефону).
  • Встановлений додаток Telegram на смартфоні (Android/iOS) або десктопний клієнт (Windows, macOS, Linux).
  • Базове розуміння, яку функцію виконуватиме ваш бот (це допоможе правильно налаштувати команди та опис).
  • Бажано мати доступ до сервера або хмарного сервісу для розгортання коду бота (не обов’язково на етапі роботи з BotFather, але знадобиться пізніше).

Жодних спеціальних дозволів чи платіжних даних не потрібно. Усі операції в BotFather безкоштовні. Єдине обмеження — кожен обліковий запис Telegram може створити не більше 20 ботів (це емпіричне спостереження, точне число може змінюватися). Якщо ви досягли ліміту, доведеться видалити один з існуючих ботів через команду /cancel або звернутися до підтримки.

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

Крок 1. Знайти BotFather

У полі пошуку Telegram введіть @BotFather або перейдіть за посиланням t.me/botfather. Це офіційний бот, верифікований Telegram (синя галочка). Початкове повідомлення містить перелік основних команд. Якщо ви вперше спілкуєтесь із ботом, натисніть Start (або надішліть команду /start). Після цього ви побачите головне меню BotFather, готове до роботи.

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

Крок 2. Команда /newbot

Надішліть команді /newbot. BotFather попросить вас ввести ім’я бота (наприклад, «Мій перший бот») — це назва, яку бачать користувачі. Потім потрібно ввести username (псевдонім) бота, який має закінчуватися на bot (наприклад, mijpershiibot). Username має бути унікальним у всьому Telegram. Якщо вибране ім’я зайняте, BotFather повідомить про це й запропонує інше.

Після успішного створення ви отримаєте повідомлення з токеном — рядком на кшталт 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Токен — це ключ до вашого бота, його не можна передавати третім особам або публікувати у відкритих репозиторіях. Якщо ви загубите токен, його можна відновити командою /token (про це далі). Тепер, коли бот створено, варто одразу налаштувати його зовнішній вигляд і опис.

Крок 3. Налаштування профілю бота

Після створення базової інформації варто одразу налаштувати опис (description) та інформацію про бота (about). Це впливає на те, як ваш бот відображається в результатах пошуку та в профілі.

  • /setdescription — дозволяє ввести короткий опис (до 512 символів). Цей текст показується при першому запуску бота або в списку ботів.
  • /setabouttext — більш детальна інформація (до 120 символів), яка відображається в профілі бота.
  • /setuserpic — завантаження аватара (зображення до 640×640 px, формат PNG або JPG).

Приклад сценарію: Ви створюєте бота для відстеження курсів валют. У /setdescription напишіть «Отримуйте актуальні курси валют у реальному часі». У /setabouttext — «Бот для моніторингу курсів USD, EUR, PLN. Команди: /rate, /history». Якщо ви не встановите аватар, бот матиме стандартну іконку Telegram — це знижує впізнаваність, але не впливає на функціональність.

Крок 4. Додавання команд (меню)

Після налаштування профілю перейдемо до команд — основного інструменту взаємодії. Команди — це головний спосіб, яким користувач керує ботом. Без налаштованого меню користувачеві доведеться вводити команди вручну або шукати їх в описах. BotFather дозволяє задати до 100 команд, кожна довжиною до 32 символів. Використовуйте команду /setcommands.

Формат одна команда на рядок: команда - опис. Наприклад:

start - Запустити бота
help - Довідка
weather - Погода в Києві
rate - Курс валют

Після збереження список команд одразу з’явиться в інтерфейсі користувача (кнопка «Меню» в чаті). Коли варто додавати команди? Якщо ваш бот виконує більше ніж одну дію — обов’язково. Якщо бот має єдину функцію (наприклад, просто перенаправляє повідомлення), можна обійтися без команд, але краще додати хоча б /start та /help для зручності.

Крок 5. Налаштування приватності (Privacy mode)

Окрім команд, важливо контролювати, які повідомлення бачить бот у групах. Командою /setprivacy ви визначаєте, чи бачить бот усі повідомлення в групі, чи лише ті, що починаються з команди або згадують бота. За замовчуванням увімкнено Enable (приватний режим), тобто бот отримує лише повідомлення з командами.

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

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

Крок 6. Інші корисні команди

BotFather пропонує ще кілька важливих налаштувань:

  • /setjoingroups — дозволяє або забороняє додавати бота до груп. Якщо ваш бот призначений лише для особистих чатів, краще вимкнути цю опцію.
  • /setinline — вмикає інлайн-режим, коли користувач може викликати бота з будь-якого чату, ввівши @ім’ябота. Це корисно для ботів, які надають швидкі відповіді (наприклад, переклад або картинки).
  • /setcommandsmenu — налаштовує кнопку меню, яка з’являється поруч із полем вводу. Можна вибрати «Default» (усі команди) або «Custom» (лише деякі).
  • /token — показує поточний токен. Якщо ви вважаєте, що токен скомпрометовано, можна використати /revoke (відкликати старий і отримати новий).
  • /deletebot — видаляє бота назавжди. Після цього токен стає недійсним.

Усі ці команди доступні лише для власника бота. Зверніть увагу, що зміни набирають чинності негайно для нових чатів; для вже існуючих груп може знадобитися перезавантаження бота (командою /start у групі). Після завершення всіх налаштувань через BotFather ви готові інтегрувати бота з вашим кодом.

Інтеграція отриманого токена з кодом

Після того як ви створили бота та налаштували його через BotFather, наступний крок — написати програмний код, який буде використовувати токен для взаємодії з Telegram Bot API. Ця тема виходить за рамки статті, але варто зазначити загальні принципи:

  • Зберігайте токен у змінних середовища або в безпечному конфігураційному файлі. Ніколи не публікуйте його в коді на GitHub.
  • Використовуйте одну з офіційних бібліотек: python-telegram-bot, node-telegram-bot-api, Telegraf (для JavaScript) тощо. У прикладі нижче — гіпотетичний фрагмент на Python:
import os
TOKEN = os.environ.get("BOT_TOKEN")  # отримуємо з оточення
# далі створюємо бота та додаємо обробники команд

Зауважте: BotFather не надає жодних інструментів для тестування коду. Першу команду вашого бота (наприклад, /start) можна перевірити, просто написавши її в чаті з ботом. Якщо бот не відповідає, шукайте проблему в коді, а не в налаштуваннях BotFather (окрім випадку, коли токен неправильний).

Інтеграція отриманого токена з кодом
Інтеграція отриманого токена з кодом

Усунення несправностей

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

Симптом: бот не відповідає на команди

Можливі причини:

  • Токен не збережено або неправильний. Перевірте командою /token у BotFather і порівняйте з тим, що використовує ваш код.
  • Сервер, на якому запущено бота, не працює або не має доступу до інтернету.
  • Бот зупинено (наприклад, ви вимкнули програму). Telegram не зберігає стан бота — він активний, лише поки ваш код обробляє запити.
  • Ви не реалізували обробник команди /start. У цьому випадку бот просто ігнорує повідомлення або не відповідає.

Симптом: меню команд не з’являється

Переконайтеся, що ви виконали /setcommands і зберегли список. Якщо все зроблено правильно, але меню все одно не показується, спробуйте перезапустити чат з ботом (команда /start). Також пам’ятайте, що меню команд оновлюється не миттєво — може пройти кілька хвилин до появи на всіх пристроях.

Симптом: бот не бачить повідомлення в групі

Найімовірніше, увімкнено приватний режим (/setprivacy = Enable). Якщо бот має отримувати всі повідомлення, вимкніть приватність. Також переконайтеся, що бот є адміністратором групи — це необхідно для деяких типів повідомлень (наприклад, видалення).

Важливо: Telegram не дозволяє боту читати повідомлення в групі, якщо його додано без прав адміністратора, навіть при вимкненому приватному режимі. Перевірте права бота в групі.

Чек-лист найкращих практик

Щоб уникнути типових помилок і зробити роботу з BotFather ефективною, дотримуйтесь таких рекомендацій:

  1. Завжди зберігайте токен одразу після створення бота. Надішліть його собі в особисті повідомлення або в безпечне місце.
  2. Налаштовуйте команди до початку розробки — це допоможе чітко визначити спектр функцій бота.
  3. Використовуйте опис та інформацію про бота — вони впливають на те, як користувачі знаходять вашого бота через пошук.
  4. Не зловживайте вимкненням приватного режиму — це створює навантаження на сервер і може порушити приватність.
  5. Перевіряйте налаштування в групі перед запуском: додайте бота в тестову групу та переконайтеся, що він отримує потрібні повідомлення.
  6. Регулярно оновлюйте команди — якщо змінюється функціонал бота, одразу оновіть список через /setcommands.
  7. Не діліться токеном у публічних каналах або репозиторіях. У разі витоку негайно виконайте /revoke і отримайте новий.

Дотримання цих простих правил допоможе вам уникнути більшості проблем і зробить процес розробки бота більш передбачуваним.

Коли варто використовувати BotFather, а коли — ні

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

Не підходить: BotFather не є інструментом для керування декількома ботами одночасно (хоча можна перемикатися між ними). Він також не надає аналітики, логів або можливості налаштовувати вебхуки — це все робиться через API. Якщо вам потрібно керувати багатьма ботами, варто написати власну адмін-панель, яка використовує BotFather як засіб реєстрації, але не як панель управління.

Продуктивність і вартість

Робота з BotFather абсолютно безкоштовна. Єдине, що може коштувати грошей — це сервер, на якому виконується код вашого бота. Telegram не надає хостингу для ботів. Втім, для невеликих проєктів можна використовувати безкоштовні хмарні сервіси (наприклад, AWS Free Tier, Google Cloud Run, Railway, Heroku з обмеженнями). Продуктивність бота залежить виключно від вашої реалізації та потужності сервера, а не від BotFather.

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

Відмінності версій і сумісність

На момент написання (2026 рік) BotFather підтримує всі актуальні версії Telegram. Основні зміни, які відбулися за останні роки: додано можливість налаштовувати кастомне меню команд (/setcommandsmenu), з’явилась опція вибору типу бота (бот для груп, особистих чатів або інлайн). Усі старі команди продовжують працювати. Ніяких зворотних несумісних змін не було зафіксовано.

Якщо ви використовуєте застарілі бібліотеки для Telegram API, вони можуть не підтримувати нові функції (наприклад, кастомні меню), але сам процес створення через BotFather не змінився.

Методи перевірки та спостереження

Щоб переконатися, що бот створено правильно та налаштування застосовано, виконайте такі кроки:

  1. Відкрийте чат зі своїм ботом (не з BotFather) і надішліть команду /start. Якщо бот відповідає — значить, код працює.
  2. Натисніть кнопку меню (іконка «/» поруч із полем вводу). Ви маєте побачити список команд, які ви налаштували через /setcommands.
  3. Додайте бота до тестової групи та перевірте, чи отримує він повідомлення (залежно від налаштувань приватності).
  4. Якщо ви ввімкнули інлайн-режим, у будь-якому чаті введіть @username_бота — має з’явитися спливаюче меню з результатами.

Регулярно перевіряйте налаштування, особливо після оновлень Telegram. У майбутньому BotFather може отримати нові функції, як-от розширена аналітика або інтеграція з платіжними системами — слідкуйте за офіційними анонсами, щоб використовувати всі можливості платформи.