Вступ: що таке BotFather і чому він є центром управління Telegram-ботами
BotFather — це офіційний бот від команди Telegram, який виконує роль панелі адміністрування для всіх ботів на платформі. Він дозволяє створити нового бота, змінити його ім’я, опис, аватар, список команд, налаштування інлайн-режиму, приватність у групах і навіть повністю видалити бота. Фактично, жоден крок у життєвому циклі бота не обходиться без цього інструменту. Для адміністратора команди розуміння всіх можливостей BotFather є ключовим для безпечного та ефективного запуску автоматизації. У цьому посібнику ми покроково розберемо, як додати та налаштувати бота через BotFather, розглянемо кожну команду в деталях, обговоримо компроміси та межі, а також дамо практичні поради на основі реального досвіду.
Передумови: що потрібно для початку роботи з BotFather
Перш ніж переходити до створення бота, переконайтеся, що ви маєте активний обліковий запис Telegram на будь-якому пристрої — мобільному (Android/iOS) або десктопному (Windows/macOS/Linux). BotFather не вимагає спеціальних прав чи преміум-підписки, він доступний кожному користувачеві. Єдина вимога — ваш обліковий запис має бути старшим за кілька днів, щоб уникнути зловживань. Якщо ви плануєте запускати бота для великої кількості користувачів, заздалегідь продумайте назву та унікальний username (має закінчуватися на bot). Також варто мати під рукою зображення для аватарки та текстовий опис — це підвищить довіру до бота.
Покрокове створення бота через BotFather: від /start до токену
1. Початок розмови з BotFather
Знайдіть у Telegram офіційного бота @BotFather і натисніть /start. У відповідь ви отримаєте привітання з переліком основних команд. Інтерфейс однаковий на всіх платформах, але на мобільному пристрої зручніше використовувати кнопки швидкого введення, які з’являються після натискання на іконку меню (три крапки). На десктопі команди можна вводити вручну. Якщо ви вперше стикаєтеся з BotFather, рекомендую спочатку ознайомитися з повним списком команд, надіславши /help.
2. Команда /newbot — народження бота
Введіть /newbot. BotFather запропонує ввести ім’я (наприклад, «Мій корисний бот») — це назва, яку бачитимуть користувачі. Потім потрібно вказати username — унікальний ідентифікатор, що закінчується на bot. Наприклад: MiyKorysnyiBot. Якщо username вже зайнятий, BotFather повідомить про помилку й запропонує інший варіант. Після успішного створення ви отримаєте повідомлення з токеном — це ключ доступу до Bot API. Токен має вигляд 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Збережіть його негайно (наприклад у менеджері паролів), тому що BotFather показує його лише один раз. Якщо ви його втратите, доведеться використовувати команду /token для повторного перегляду.
Попередження: Ніколи не публікуйте токен у відкритих джерелах, чатах або на GitHub. Якщо токен став відомим стороннім, негайно відкличте його командою /revoke та згенеруйте новий.
3. Отримання токену повторно через /token
Якщо ви не зберегли токен одразу, не панікуйте. Надішліть BotFather команду /token, оберіть свого бота зі списку, і ви отримаєте його поточний токен. Це зручно, коли потрібно швидко скопіювати ключ для нового сервера або передати колезі. Пам’ятайте, що токен — це єдиний спосіб автентифікації вашого бота в API. Якщо ви підозрюєте, що токен скомпрометовано, виконайте команду /revoke — вона анулює старий токен і генерує новий. Після цього потрібно буде оновити токен у всіх місцях, де він використовувався.
Налаштування профілю бота: ім’я, опис, аватар
Після отримання токена варто одразу налаштувати профіль бота, щоб він виглядав професійно та був впізнаваним для користувачів.
Зміна імені (/setname)
З часом може виникнути потреба перейменувати бота. Використовуйте команду /setname, оберіть бота та введіть нову назву. Назва може містити до 64 символів і може змінюватися необмежену кількість разів. Важливо: ім’я не повинне вводити в оману — уникайте слів, що імітують офіційні сервіси.
Опис і «Про бота» (/setdescription, /setabouttext)
Команда /setdescription дозволяє задати короткий опис (до 512 символів), який відображається в профілі бота, коли користувачі переходять на нього з пошуку. /setabouttext — це ще коротший текст (до 120 символів), який з’являється при наведенні на бота або в деяких меню. Рекомендую використовувати опис для пояснення функціоналу, а about — як слоган. Наприклад: «Бот для перевірки погоди» та «Швидкий прогноз на 3 дні».
Встановлення аватарки (/setuserpic)
Аватарка робить бота впізнаваним. Використовуйте команду /setuserpic, виберіть бота та завантажте зображення. Рекомендований розмір — 640×640 пікселів, формат PNG з прозорим фоном. Після завантаження аватарка з’явиться у всіх, хто вже має чат з ботом, але може оновлюватися з деякою затримкою. Якщо ви хочете видалити аватарку, надішліть команду /setuserpic та натисніть «Видалити фото» (на мобільному) або надішліть /deleteuserpic.
Налаштування команд бота (/setcommands)
Список команд — це головний інтерфейс взаємодії користувача з ботом. BotFather дозволяє задати до 100 команд. Кожна команда складається з назви (латиницею, без пробілів, починається з /) та опису (до 256 символів). Команди показуються після введення / в чаті з ботом. Для налаштування використовуйте команду /setcommands, оберіть бота та надішліть список у форматі:
command1 - Опис першої команди command2 - Опис другої команди command3 - Ще одна команда
Зверніть увагу: між назвою команди та дефісом має бути пробіл. Опис після дефіса. Найкраща практика — групувати логічно пов’язані команди та давати зрозумілі описи. Наприклад, для бота-календаря можна використати такий набір:
/start— запустити бота та показати привітання/today— події на сьогодні/week— події на тиждень/add— додати нову подію
Уникайте занадто довгих описів — вони обрізаються в меню команд на мобільних пристроях. Якщо ви зміните список команд, оновлення відбувається миттєво. Однак користувачі, які вже відкрили меню команд, побачать новий список лише після перезавантаження чату або наступного введення /.
Інлайн-режим та параметри (/setinline)
Інлайн-режим дозволяє користувачам викликати бота з будь-якого чату, ввівши його username та запит. Наприклад, @mybot hello. Для активації інлайн-режиму використовуйте команду /setinline, оберіть бота і введіть текст-підказку, який відображатиметься в полі введення (наприклад, «Пошук…»). Після цього потрібно налаштувати сам інлайн-інтерфейс через API — BotFather лише вмикає можливість. Також за допомогою /setinlinefeedback можна увімкнути зворотний зв’язок, щоб отримувати дані про вибір користувача (корисно для аналітики). Без цього ви не будете знати, який результат обрали.
Коли варто вмикати інлайн? Якщо ваш бот надає швидку довідкову інформацію, переклади, пошук або генерацію контенту. Не варто використовувати інлайн, якщо бот потребує багато кроків взаємодії — тоді краще залишити звичайний чат.
Приватність у групах (/setprivacy)
Боти за замовчуванням мають увімкнену приватність — вони бачать лише ті повідомлення в групі, які адресовані їм (починаються з /) або в яких їх згадано. Якщо ваш бот має аналізувати всі повідомлення в групі (наприклад, модератор-антиспам), потрібно вимкнути приватність командою /setprivacy, вибравши Disable. Після вимкнення бот отримуватиме всі повідомлення. Проте врахуйте, що це може створити навантаження на ваш сервер, якщо група активна. Крім того, деякі користувачі можуть сприймати це як порушення приватності, тому використовуйте лише за необхідності.
Керування токеном та безпека (/token, /revoke)
Токен — це єдиний ключ до вашого бота. Якщо ви вважаєте, що токен скомпрометовано (наприклад, випадково опублікували на GitHub), негайно виконайте команду /revoke у BotFather, оберіть бота, і Telegram згенерує новий токен. Старий токен перестане працювати. Після цього не забудьте оновити токен у всіх конфігураціях (сервер, CI/CD, сторонні сервіси). Також рекомендую регулярно (раз на квартал) ротувати токен, особливо якщо бот має доступ до чутливих даних — це підвищує загальний рівень безпеки. Не зберігайте токен у відкритому вигляді — використовуйте змінні середовища або менеджери секретів.
Видалення бота (/deletebot)
Якщо бот більше не потрібен, його можна остаточно видалити командою /deletebot. Після підтвердження бот буде видалений, його username стане вільним, а всі чати з ним перестануть працювати. Відновлення неможливе — доведеться створювати нового бота з новим токеном. Тому перед видаленням переконайтеся, що ви не покладаєтеся на нього в критичних процесах. Якщо ви просто хочете тимчасово деактивувати бота, краще зупинити його серверну частину, але не видаляти в BotFather.
Усунення несправностей: типові проблеми та їх вирішення
| Симптом | Ймовірна причина | Перевірка та рішення |
|---|---|---|
| Після /start BotFather не відповідає | Можливо, у вас застарілий клієнт або проблеми з підключенням | Оновіть Telegram, перевірте з’єднання. Спробуйте ввести команду вручну. |
| Токен не працює (401 Unauthorized) | Токен відкликано або ви використовуєте старий | У BotFather введіть /token, отримайте поточний токен. Якщо він відрізняється, оновіть у своєму коді. Якщо токен той самий, але все одно помилка — можливо, ви використовуєте неправильний метод API. |
| Команди не відображаються в меню | Список команд не задано або задано з помилкою формату | Перевірте формат у /setcommands: кожна команда з нового рядка, назва та опис через дефіс. Якщо все правильно, спробуйте перезавантажити чат з ботом (вийти і зайти знову). |
| Бот не бачить повідомлення в групі | Увімкнено приватність | Вимкніть приватність через /setprivacy. Переконайтеся, що бот додано до групи як адміністратор (якщо потрібно). |
| Помилка при завантаженні аватарки | Невірний формат або розмір файлу | Використовуйте зображення в PNG/JPG, не більше 640×640, файл до 5MB. Спробуйте конвертувати. |
Найкращі практики при налаштуванні бота через BotFather
На основі досвіду роботи з десятками ботів можна сформулювати кілька рекомендацій, які допоможуть уникнути проблем у майбутньому:
- Ім’я та username: обирайте назву, яка однозначно асоціюється з функціоналом. Уникайте дублювання популярних сервісів. Username має бути простим для запам’ятовування.
- Опис: використовуйте ключові слова, за якими бота можуть шукати. Наприклад, для бота-перекладача напишіть «Переклад тексту на 100 мов».
- Команди: не перевантажуйте список. Достатньо 5–10 основних команд. Дайте кожній опис, який одразу зрозумілий.
- Інлайн-режим: вмикайте лише якщо бот дійсно надає корисну функцію в контексті будь-якого чату. Інакше він тільки займатиме місце в списку інлайн-ботів.
- Безпека токену: додайте токен у змінні середовища або секрети GitHub Actions. Ніколи не залишайте його в коді.
- Регулярне оновлення: якщо бот довго не використовується, перегляньте його налаштування — можливо, варто оновити опис або команди.
Порада: Якщо ви керуєте кількома ботами, використовуйте системні нотатки або електронну таблицю для зберігання токенів та дати їх створення. Це спростить ротацію.
Коли не варто використовувати BotFather для налаштування?
Хоча BotFather — незамінний інструмент, є сценарії, коли його можливостей недостатньо. Наприклад, для налаштування вебхуків (webhook) для отримання оновлень потрібно використовувати setWebhook через Bot API, BotFather цього не робить. Також для налаштування клавіатур, роботи з медіа та складними сценаріями потрібна серверна частина. BotFather — лише панель керування профілем бота, не плутайте його з повноцінним інтерфейсом розробника.
Часті запитання
Чи можна змінити username бота після створення?
Так, для цього використовуйте команду /setusername у BotFather. Виберіть бота та введіть новий username, який має закінчуватися на «bot». Старий username стане вільним.
Скільки ботів можна створити через один обліковий запис?
Офіційного обмеження немає. На практиці ви можете створити десятки або сотні ботів. Однак занадто велика кількість може викликати підозру в Telegram.
Чи можна відновити видаленого бота?
Ні, після /deletebot бота відновити неможливо. Ви можете створити нового бота з тим самим username (якщо він ще вільний), але він матиме інший токен.
Як додати бота в групу, якщо він не відображається в пошуку?
Переконайтеся, що бот має username. Додати бота в групу можна через посилання: https://t.me/your_bot_username?startgroup=true. Клікніть по ньому та оберіть групу.
Чи обов’язково використовувати BotFather для налаштування бота?
Так, без BotFather не можна створити бота, отримати токен або змінити базові налаштування (ім’я, опис, команди). Це єдина офіційна панель управління ботами.
Висновок: від створення до запуску
BotFather — це перший крок на шляху створення будь-якого Telegram-бота. Використовуючи його, ви швидко налаштовуєте ім’я, опис, аватар, команди, інлайн-режим та приватність. Після цього починається справжня робота: написання серверного коду, розгортання, тестування. Але якісне початкове налаштування через BotFather закладає фундамент для зручності користувачів і безпеки. Пам’ятайте про регулярну ротацію токена, оновлення команд відповідно до функціоналу та видалення непотрібних ботів. Знання всіх команд BotFather дозволяє адмініструвати ботів без зайвого коду — це чистий адміністративний інструмент, яким варто опанувати в повному обсязі.
Тепер, коли ви знаєте, як додати та налаштувати бота в Telegram через BotFather, спробуйте створити свого першого бота на практиці. Почніть з простого — бота-нагадування чи бота-цитати — і поступово розширюйте функціонал. Успіхів!
