Как создать бота в Телеграм: пошагово, с кодом и без кода
Бот в @BotFather за минуту, потом — чтобы он отвечал: готовый сервис, свой код на Python с примером или ИИ. Оформление, сервер, группы, частые ошибки.
Запускаете канал? Начните с бота
Подключить ботаКоротко. Бот в Telegram — это аккаунт плюс программа, которая за него отвечает. Аккаунт создаётся за минуту: откройте @BotFather, отправьте
/newbot, задайте имя и юзернейм наbot— и получите токен. Программа — отдельный шаг: подключите бота к готовому сервису, запустите свой код (ниже короткий пример на Python) или попросите ИИ-ассистента его написать. Пока программа не запущена, бот молчит.
Почти все инструкции «как создать бота в Телеграм» заканчиваются на токене от BotFather. Но в этот момент бот ещё ничего не умеет. Telegram так и описывает ботов: это особые аккаунты, подключённые к серверу владельца, который и обрабатывает сообщения. Ниже весь путь — от регистрации до бота, который отвечает, — с оформлением, сервером и ошибками, на которых застревают чаще всего.
Шаг 1. Зарегистрируйте бота в @BotFather
- Откройте @BotFather — официального бота Telegram для создания ботов — и нажмите «Запустить». С телефона и с компьютера всё одинаково.
- Отправьте
/newbot. - Отправьте имя. Его видно в чатах и контактах, и его можно сменить когда угодно.
- Отправьте юзернейм: 5–32 символа из латинских букв, цифр и подчёркиваний, в конце —
bot(tetris_bot,TetrisBot). Регистр не важен, а сменить юзернейм потом нельзя. Если юзернейм занят, BotFather попросит другой; занят ли он, можно заранее проверить в проверке юзернейма. - BotFather пришлёт токен — строку вида
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw.
Токен — это ключ: кто его знает, тот управляет ботом. Не публикуйте его и не вписывайте в код, который куда-то выкладываете. Как найти токен потом, проверить его и отозвать утёкший, разобрано в гайде по токену бота.
То же самое умеет мини-приложение 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 и повторяет ваши сообщения.
- Установите 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.
- Сохраните код в файл
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())
- В том же окне терминала передайте токен через переменную окружения, а не вписывайте его в код (так советует и учебник 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, правила юзернейма, оформление, команды редактирования, мини-приложение 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 есть ещё мини-приложение с кнопками вместо команд. С телефона неудобно только запускать собственный код — для него нужен компьютер или сервер.
- Нужно ли уметь программировать, чтобы сделать бота?
- Чтобы зарегистрировать бота — нет, это несколько сообщений в @BotFather. Чтобы бот что-то делал, нужна программа, которая ему отвечает: её можно написать самому, попросить написать ИИ-ассистента или подключить бота к готовому сервису, где нужная работа уже сделана.
- Почему мой бот не отвечает?
- Чаще всего потому, что программа бота не запущена: Telegram только доставляет сообщения, а отвечает ваш код или сервис. Бывает и так, что для бота задан вебхук, а код читает обновления через getUpdates, — эти способы одновременно не работают. В группе, где бот не администратор, он по умолчанию видит только адресованные ему команды, ответы ему и служебные сообщения.
- Можно ли поменять юзернейм бота?
- Нет. Имя меняется командой /setname когда угодно, а юзернейм, который заканчивается на bot, после создания сменить нельзя (купленный на Fragment коллекционный юзернейм можно добавить поверх). Если он не подходит, создайте нового бота; старого можно удалить командой /deletebot — юзернейм освободится, но удалённого бота не вернуть.
- Как сделать чат-бота с ИИ в Телеграм?
- Создайте бота в @BotFather и подключите его к программе или сервису, который передаёт вопросы языковой модели и отправляет ответы обратно. Такую программу можно написать самому — Telegram прямо предлагает читать его документацию вместе с ИИ-ассистентом, — или подключить бота к сервису с готовыми ИИ-ответами.