В этой статье разберёмся, как просто создать телеграм бота с нуля: от BotFather и получения токена до запуска минимального кода бота. Инструкция подойдёт, даже если вы раньше не писали ни одного бота.
В итоге вы получите работающего бота, который отвечает на сообщения, и базовое понимание, как развивать его дальше: добавлять команды, кнопки и интеграции.
Что такое телеграм бот и как он работает
Телеграм бот — это обычное приложение (скрипт на сервере), которое общается с Telegram через Bot API. Схема очень простая:
- Пользователь пишет боту сообщение в Telegram.
- Telegram отправляет это сообщение вашему коду (скрипту) по HTTP.
- Код обрабатывает сообщение и отправляет ответ обратно в Telegram.
То есть «бот» — это просто программа, которая читает входящие сообщения и отправляет ответы. Ни магии, ни сложных «серверов телеграма» вам на первом шаге не нужно.
Шаг 1. Создаём бота через BotFather
BotFather — это официальный бот Telegram для управления другими ботами. Через него мы создадим бота и получим токен — секретный ключ, по которому ваш скрипт сможет обращаться к Bot API.
- Откройте Telegram и найдите пользователя
@BotFather. - Нажмите Start или введите команду
/start. - Выберите команду
/newbot. - Введите название бота — это то, что видят пользователи (например, Бот Простой Гид).
- Введите username бота — он должен оканчиваться на
bot(например,simple_helper_bot).
После этого BotFather пришлёт вам сообщение с токеном вида:
1234567890:AAAbbbCCCdddEEEfffGGG111222333Важно: токен — это пароль от вашего бота. Не публикуйте его в открытых репозиториях и скриншотах. В коде, который мы будем писать ниже, подставьте свой токен.
Шаг 2. Устанавливаем Python и создаём проект
Для первого бота удобнее всего использовать Python и библиотеку aiogram. Она закрывает все низкоуровневые детали и позволяет писать бота в пару десятков строк.
- Установите актуальный Python 3.10+ с сайта python.org (на Windows при установке поставьте галочку Add Python to PATH).
- Создайте папку проекта, например
my_first_bot. - Внутри папки откройте терминал / командную строку и выполните:
python -m venv venv
source venv/bin/activate # macOS / Linux
venv\Scripts\activate.bat # Windows
pip install -U aiogramШаг 3. Пишем минимальный код телеграм бота
Создадим файл bot.py и напишем самый простой «бот просто» — он будет приветствовать командой /start и повторять любое сообщение пользователя.
import asyncio
from aiogram import Bot, Dispatcher, types
from aiogram.filters import Command
API_TOKEN = "ВАШ_ТОКЕН_ОТ_BOTFATHER"
async def main():
bot = Bot(token=API_TOKEN)
dp = Dispatcher()
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
await message.answer(
"Привет! Я простой телеграм бот.\n"
"Напиши мне что-нибудь — я повторю."
)
@dp.message()
async def echo(message: types.Message):
# бот просто повторяет любое сообщение
await message.answer(f"Ты написал: {message.text}")
# запуск бота (long polling)
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())Замените ВАШ_ТОКЕН_ОТ_BOTFATHER на реальный токен из BotFather. На этом этапе у вас уже есть рабочий телеграм бот.
Шаг 4. Запускаем бота локально
В той же папке, где лежит bot.py, запустите в терминале:
python bot.pyЕсли ошибок нет, бот запустится и будет ждать сообщения. Откройте Telegram, найдите своего бота по username и отправьте любое сообщение. В ответ вы увидите фразу «Ты написал: ...».
Такой бот использует long polling — он сам «спрашивает» сервер Telegram о новых сообщениях. Для первых экспериментов и разработки этого достаточно, сервер и домен не нужны.
Шаг 5. Добавляем команды и описание бота
Чтобы пользователям было проще, настроим меню команд — так Telegram покажет подсказки по доступным функциям бота.
from aiogram.types import BotCommand
async def setup_commands(bot: Bot):
commands = [
BotCommand(command="start", description="Запустить бота"),
BotCommand(command="help", description="Что я умею"),
]
await bot.set_my_commands(commands)И вызовем setup_commands в начале main():
async def main():
bot = Bot(token=API_TOKEN)
dp = Dispatcher()
await setup_commands(bot)
# остальной код...Теперь при вводе / в чате с ботом будут подсказки команд. Это простое, но важное улучшение UX.
Шаг 6. Куда развиваться дальше: кнопки, вебхуки и сервер
Если бот нужен не только «для себя», а для бизнеса или постоянной работы, его стоит перенести на сервер и добавить функции:
- Кнопки и меню — см. статью Telegram Bot API: команды, кнопки и inline-режим.
- Webhook и хостинг — см. статьи Webhook или long polling и Хостинг для телеграм бота.
- База данных — хранение пользователей и заказов в SQLite / PostgreSQL.
- Интеграция с CRM и 1С — см. Интеграция бота с CRM и 1С.
Если нужен готовый бот под задачу
Если вы хотите сосредоточиться на бизнес‑логике и не тратить время на инфраструктуру, можно заказать готовое решение:
- Боты для поддержки, рассылок, продаж.
- Готовый Агрегатор Новостей с установкой на ваш сервер.
- Интеграции с CRM, 1С, сайтами и API.
Оставьте заявку на главной или в обзоре — обсудим задачу и подберём формат бота под ваши цели.