Назад к статьям

Как создать телеграм бота: простая пошаговая инструкция

В этой статье разберёмся, как просто создать телеграм бота с нуля: от BotFather и получения токена до запуска минимального кода бота. Инструкция подойдёт, даже если вы раньше не писали ни одного бота.

В итоге вы получите работающего бота, который отвечает на сообщения, и базовое понимание, как развивать его дальше: добавлять команды, кнопки и интеграции.

Что такое телеграм бот и как он работает

Телеграм бот — это обычное приложение (скрипт на сервере), которое общается с Telegram через Bot API. Схема очень простая:

  1. Пользователь пишет боту сообщение в Telegram.
  2. Telegram отправляет это сообщение вашему коду (скрипту) по HTTP.
  3. Код обрабатывает сообщение и отправляет ответ обратно в Telegram.

То есть «бот» — это просто программа, которая читает входящие сообщения и отправляет ответы. Ни магии, ни сложных «серверов телеграма» вам на первом шаге не нужно.

Шаг 1. Создаём бота через BotFather

BotFather — это официальный бот Telegram для управления другими ботами. Через него мы создадим бота и получим токен — секретный ключ, по которому ваш скрипт сможет обращаться к Bot API.

  1. Откройте Telegram и найдите пользователя @BotFather.
  2. Нажмите Start или введите команду /start.
  3. Выберите команду /newbot.
  4. Введите название бота — это то, что видят пользователи (например, Бот Простой Гид).
  5. Введите username бота — он должен оканчиваться на bot (например, simple_helper_bot).

После этого BotFather пришлёт вам сообщение с токеном вида:

1234567890:AAAbbbCCCdddEEEfffGGG111222333

Важно: токен — это пароль от вашего бота. Не публикуйте его в открытых репозиториях и скриншотах. В коде, который мы будем писать ниже, подставьте свой токен.

Шаг 2. Устанавливаем Python и создаём проект

Для первого бота удобнее всего использовать Python и библиотеку aiogram. Она закрывает все низкоуровневые детали и позволяет писать бота в пару десятков строк.

  1. Установите актуальный Python 3.10+ с сайта python.org (на Windows при установке поставьте галочку Add Python to PATH).
  2. Создайте папку проекта, например my_first_bot.
  3. Внутри папки откройте терминал / командную строку и выполните:
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. Куда развиваться дальше: кнопки, вебхуки и сервер

Если бот нужен не только «для себя», а для бизнеса или постоянной работы, его стоит перенести на сервер и добавить функции:

Если нужен готовый бот под задачу

Если вы хотите сосредоточиться на бизнес‑логике и не тратить время на инфраструктуру, можно заказать готовое решение:

  • Боты для поддержки, рассылок, продаж.
  • Готовый Агрегатор Новостей с установкой на ваш сервер.
  • Интеграции с CRM, 1С, сайтами и API.

Оставьте заявку на главной или в обзоре — обсудим задачу и подберём формат бота под ваши цели.