Гайд

Як створити бота в Телеграм: покроково, з кодом і без коду

Бот у @BotFather за хвилину, а далі — щоб він відповідав: готовий сервіс, власний код на Python із прикладом або ШІ. Оформлення, сервер, групи, помилки.

AdminHub

Запускаєте канал? Почніть із бота

Підключити бота

Коротко. Бот у Telegram — це акаунт плюс програма, яка відповідає за нього. Акаунт створюється за хвилину: відкрийте @BotFather, надішліть /newbot, задайте ім’я та юзернейм, що закінчується на bot, — і отримаєте токен. Програма — окремий крок: підключіть бота до готового сервісу, запустіть власний код (нижче — короткий приклад на Python) або попросіть ШІ-асистента його написати. Поки програма не запущена, бот мовчить.

Майже всі інструкції «як створити бота в Телеграм» закінчуються на токені від BotFather. Але в цей момент бот ще нічого не вміє. Telegram саме так і описує ботів: це особливі акаунти, підключені до сервера власника, який і обробляє повідомлення. Нижче — увесь шлях від реєстрації до бота, який відповідає, з оформленням, сервером і помилками, на яких застрягають найчастіше.

Крок 1. Зареєструйте бота в @BotFather

  1. Відкрийте @BotFather — офіційного бота Telegram для створення ботів — і натисніть «Почати». На телефоні й на комп’ютері все однаково.
  2. Надішліть /newbot.
  3. Надішліть ім’я. Його видно в чатах і контактах, і його можна змінити будь-коли.
  4. Надішліть юзернейм: 5–32 символи з латинських літер, цифр і підкреслень, у кінці — bot (tetris_bot, TetrisBot). Регістр не важливий, а змінити юзернейм пізніше не можна. Якщо юзернейм зайнятий, BotFather попросить інший; чи вільний він, можна заздалегідь перевірити в перевірці юзернейму.
  5. BotFather надішле токен — рядок на кшталт 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw.

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

Те саме вміє Mini App BotFather — там кнопки замість команд.

Крок 2. Оформіть бота

Людина, яка вперше відкриває бота, бачить його ім’я, картинку й опис ще до першого повідомлення. Усе це задається в @BotFather — командами нижче або через /mybots → ваш бот, — а дещо можна змінити просто на сторінці профілю бота.

КомандаЩо задаєДе це видно
/setuserpicкартинку профілюу списку чатів і в профілі
/setdescriptionопис до 512 символіву порожньому чаті з ботом, поки людина йому не написала
/setabouttextкороткий текст до 120 символіву профілі бота й поруч із посиланням, коли ботом діляться
/setcommandsсписок команд з описамиу підказках, коли людина набирає /
/setnameім’явсюди, де видно бота

Опис і короткий текст можна задати кількома мовами — методами Bot API setMyDescription і setMyShortDescription з language_code, — і кожен побачить версію мовою свого Telegram.

Крок 3. Навчіть бота відповідати

Тут більшість інструкцій уривається. Telegram лише доставляє боту повідомлення, а відповідає на них програма, якій ви дали токен. Узяти її можна трьома способами:

Готовий сервісВласний кодКод із ШІ-асистентом
Чи треба програмуватинітактрохи: запустити й перевірити
Де працює програмау сервісуна вашому комп’ютері чи серверіна вашому комп’ютері чи сервері
Хто лагодить, якщо бот упавсервісвиви
Що вміє ботте, що вміє сервісусе, що напишетеусе, що напишете й перевірите

Готовий сервіс

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

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

Власний код: бот на Python

Приклад — на aiogram 3, одній із бібліотек для Bot API зі сторінки прикладів коду Telegram. Бот вітається на /start і повторює ваші повідомлення.

  1. Установіть Python від 3.10 до 3.14 (3.15 aiogram поки не підтримує). У терміналі створіть віртуальне середовище й установіть бібліотеку:
python3 -m venv .venv
source .venv/bin/activate
pip install aiogram

У Windows: python -m venv .venv, потім .venv\Scripts\activate, потім pip install aiogram.

  1. Збережіть код у файл bot.py:
import asyncio
import os

from aiogram import Bot, Dispatcher
from aiogram.filters import CommandStart
from aiogram.types import Message

dp = Dispatcher()


@dp.message(CommandStart())
async def start(message: Message) -> None:
    await message.answer(f"Привіт, {message.from_user.first_name}! Надішліть мені будь-яке повідомлення — я його повторю.")


@dp.message()
async def echo(message: Message) -> None:
    await message.copy_to(message.chat.id)


async def main() -> None:
    bot = Bot(token=os.environ["BOT_TOKEN"])
    await dp.start_polling(bot)


if __name__ == "__main__":
    asyncio.run(main())
  1. У тому самому вікні термінала передайте токен через змінну середовища, а не вписуйте його в код (так радить і посібник Telegram), і запустіть програму:
export BOT_TOKEN="токен від BotFather"
python bot.py

У Windows замість export — set BOT_TOKEN=токен у командному рядку або $env:BOT_TOKEN="токен" у PowerShell.

Відкрийте бота в Telegram і натисніть «Почати» — він відповість. Зупиніть програму (Ctrl+C) — бот замовкне. Пробуйте код на окремому боті: у бота, уже підключеного до сервісу, встановлено вебхук, і getUpdates для нього не працюватиме. З того самого списку бібліотек популярні ще python-telegram-bot для Python, а також grammY і Telegraf для JavaScript.

Код із ШІ-асистентом

Telegram прямо пише, що його документацію про ботів написано з розрахунком і на ШІ: якщо досвіду програмування мало, можна попросити ШІ-асистента прочитати її й допомогти почати. Опишіть, що бот має робити, попросіть код на конкретній бібліотеці й запускайте його так само, як приклад вище. Дві речі лишаються на вас: не вставляйте токен у чат з асистентом — нехай код бере його зі змінної середовища — і перевірте бота самі, перш ніж кликати людей.

Крок 4. Вирішіть, де працюватиме бот

Поки програма запущена на вашому комп’ютері, бот відповідає лише тоді, коли комп’ютер увімкнено. Посібник Telegram каже про це прямо й для постійної роботи пропонує сервер (VPS) або схожий сервіс. Якщо ви вибрали готовий сервіс, це питання він закриває сам.

Отримувати повідомлення програма може двома способами, і одночасно вони не працюють:

  • getUpdates (long polling). Програма сама питає Telegram про нові повідомлення. Так працює приклад вище: підійде будь-який комп’ютер, адреса в інтернеті не потрібна.
  • Вебхук. Telegram сам надсилає кожне повідомлення на вашу HTTPS-адресу — на порт 443, 80, 88 або 8443. Він потрібен, якщо код працює в хмарі, яка запускається на запит.

Поки вебхук встановлено, getUpdates не працює. Повідомлення, які бот іще не забрав, Telegram зберігає до 24 годин.

Крок 5. Покличте перших людей

Бот не може написати людині першим: людина має сама відкрити бота й натиснути «Почати» або додати його в групу. Тож поширюйте посилання t.me/юзернейм_бота — знайти бота можна й пошуком Telegram за юзернеймом.

Ліміти надсилання, про які варто знати заздалегідь (з FAQ Telegram для ботів):

  • в одному чаті — не частіше ніж приблизно одне повідомлення на секунду;
  • у групі — не більше 20 повідомлень на хвилину;
  • у розсилці — близько 30 повідомлень на секунду. Швидше можна лише з платною розсилкою: до 1000 повідомлень на секунду, 0,1 зірки за кожне повідомлення понад безкоштовні 30 на секунду. Увімкнути її можна, коли в бота на балансі щонайменше 100 000 зірок і щонайменше 100 000 активних користувачів на місяць.

Бот у групі чи каналі

  • Група. Додайте бота як учасника. За замовчуванням він працює в режимі приватності: бачить адресовані йому команди, відповіді на свої повідомлення й службові повідомлення, але не всю переписку. Бот-адміністратор бачить усі повідомлення, а режим можна вимкнути командою /setprivacy — після цього бота треба додати в групу заново. Докладніше — у статті як додати бота в групу.
  • Канал. Писати в канал бот може, лише якщо він адміністратор каналу з правом публікувати повідомлення.

Щоб бот писав у потрібний чат, йому потрібен chat ID. Усі види чатів розібрано в гайді про chat ID.

Чому бот не відповідає

  • Програма не запущена або впала. Сам Telegram за бота не відповідає.
  • Встановлено вебхук, а код читає getUpdates — або навпаки.
  • Запущено дві копії програми з одним токеном: вони заважають одна одній забирати оновлення.
  • У групі бот не бачить повідомлень — це режим приватності, див. вище.
  • Бот не може написати людині — вона ще не натиснула «Почати» або заблокувала бота.
  • Токен замінили в BotFather: старий перестав працювати, і програма отримує відповідь Unauthorized. Вставте новий.

Скільки це коштує

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


Джерела, перевірено в жовтні 2026: Telegram Bots — як працюють боти, бот не починає розмову першим; Bot features — BotFather (/newbot, правила юзернейму, оформлення, команди редагування, Mini App BotFather), Privacy Mode, Managed Bots, документація для ШІ; Bots FAQ — що бачить бот, long polling і вебхуки, ліміти й платна розсилка; Telegram Bot API — getUpdates і setWebhook (порти, зберігання оновлень 24 години), setMyDescription і setMyShortDescription; Bot tutorial — токен поза кодом, хостинг; Bot API Library Examples — бібліотеки для Bot API.

Що зазвичай запитують

Чи можна створити бота в Телеграм безкоштовно?
Реєстрація бота в @BotFather нічого не коштує, звичайне надсилання повідомлень через Bot API — теж. Платити доводиться за те, що працює за ботом: за власний сервер, якщо ви пишете код, або за сервіс, який веде бота за вас. Розсилати швидше ніж приблизно 30 повідомлень на секунду можна лише з платною розсилкою — вона коштує зірок і доступна тільки великим ботам.
Чи можна створити бота в Телеграм із телефона?
Так. @BotFather — звичайний чат, і /newbot, /mybots та інші команди працюють у мобільному застосунку так само, як на комп'ютері; у BotFather є ще Mini App з кнопками замість команд. З телефона незручно лише запускати власний код — для нього потрібен комп'ютер або сервер.
Чи треба вміти програмувати, щоб зробити бота?
Щоб зареєструвати бота — ні: це кілька повідомлень у @BotFather. Щоб бот щось робив, потрібна програма, яка відповідає за нього: її можна написати самому, попросити написати ШІ-асистента або підключити бота до готового сервісу, де потрібну роботу вже зроблено.
Чому мій бот не відповідає?
Найчастіше тому, що програма бота не запущена: Telegram лише доставляє повідомлення, а відповідає ваш код або сервіс. Буває й так, що для бота встановлено вебхук, а код читає оновлення через getUpdates, — ці способи одночасно не працюють. У групі, де бот не адміністратор, він за замовчуванням бачить лише адресовані йому команди, відповіді йому та службові повідомлення.
Чи можна змінити юзернейм бота?
Ні. Ім'я можна змінити командою /setname будь-коли, а юзернейм, що закінчується на bot, після створення змінити не можна (колекційний юзернейм, куплений на Fragment, можна додати поверх). Якщо він не підходить, створіть нового бота; старого можна видалити командою /deletebot — юзернейм звільниться, але видаленого бота не повернути.
Як зробити чат-бота з ШІ в Телеграм?
Створіть бота в @BotFather і підключіть його до програми чи сервісу, що передає запитання мовній моделі й надсилає відповіді назад. Таку програму можна написати самому — Telegram прямо пропонує читати його документацію разом із ШІ-асистентом — або підключити бота до сервісу з готовими ШІ-відповідями.