0% нашли этот документ полезным (0 голосов)
1 просмотров8 страниц

Telegram Bot Guide

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

Загружено:

milanaln
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
1 просмотров8 страниц

Telegram Bot Guide

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

Загружено:

milanaln
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd

Бот для чайников

[Link] · 4 апреля 2026 г.

Пошаговый гайд: от нуля до рабочего Telegram-бота


Привет! Я собрала этот гайд после того, как сама прошла путь от "а как вообще запустить
бота" до рабочих систем в продакшене — HR-бот на 700+ сотрудников, бот для подарков на
дни рождения, автоматизация Telegram → Asana. Всё собирала руками и Cursor'ом.
Этот гайд — для тех, кто не программист, но хочет сделать бота сам. Пройдём от
регистрации аккаунтов до рабочего бота за один вечер. А дальше — разберёмся, как
сделать его по-настоящему полезным.
Что получится в итоге: работающий Telegram-бот, который отвечает на сообщения,
показывает кнопки, подключён к базе данных и развёрнут на сервере.
Сколько времени: 1–2 часа на базового бота, ещё пару часов на кнопки, базу и деплой.

Что понадобится
Зарегистрируй аккаунты:
GitHub ([Link]) — хранилище кода
Vercel ([Link]) — по желанию, бесплатный слой для веб-страниц и API рядом с
ботом; у каждого деплоя свой URL (подробнее — шаг 7)
Railway ([Link]) — когда понадобится, чтобы бот работал 24/7 как процесс (платно
по факту использования; шаг 7)
Supabase ([Link]) — база данных, понадобится позже
Установи:
Cursor — редактор кода со встроенным ИИ. Залогинься через GitHub.

Python или TypeScript — что выбрать


В гайде ниже — пример на Python, но ветка с TypeScript такая же рабочая. Коротко, по сути
(без ссылок на доки — их найдёшь, когда понадобится):

[Link] 1/8
Критерий Python TypeScript ([Link])

Чем Библиотека python-telegram-bot — много Фреймворк grammY — привычный стек,


писать примеров в интернете, проще искать «как если уже трогала сайты на TypeScript или
бота сделать X» на русском и английском. хочешь один язык и для бота, и для веб-
части.

Когда Первый раз в коде, хочется максимум Уже есть опыт с JS/TS или планируешь
удобнее пошаговых туториалов. админку на том же стеке, что и сайт.

Оба варианта нормальны. Если сомневаешься — бери тот язык, на котором тебе спокойнее
читать чужой код; Cursor подскажет синтаксис.

Часть 1: Привет, мир!


Цель — бот, который отвечает на любое сообщение. Примерно 30–60 минут.

Шаг 1. Создать бота в Telegram


1. В Telegram найди @BotFather
2. Напиши /start , потом /newbot
3. Назови бота — Name (отображаемое имя) и Username (уникальный, заканчивается на
bot )
4. Скопируй токен вида 123456:ABC-DEF…
Токен — это ключ от твоего бота. Кто его знает — тот управляет ботом. Никогда не вставляй
токен прямо в код и не отправляй его в чат. Через минуту настроим безопасное хранение.

Шаг 2. Создать репозиторий на GitHub


1. На GitHub: New repository → дай имя (например, my-telegram-bot ), выбери Public или
Private
2. В Cursor: Open from GitHub → выбери этот репозиторий

Шаг 3. Настроить проект в Cursor


Вот какая структура файлов должна получиться:

my-telegram-bot/
├── .env ← секреты (токен бота)
├── .gitignore ← чтобы секреты не попали на GitHub
├── [Link] ← код бота
├── [Link] ← список зависимостей
└── [Link] ← описание проекта

[Link] 2/8
В Cursor открой ИИ-чат и напиши:

«Создай минимальный Telegram-бот на python-telegram-bot (polling mode), который отвечает


"Привет!" на любое сообщение. Токен бери из переменной окружения TELEGRAM_BOT_TOKEN.
Создай [Link], .env с плейсхолдером для токена и .gitignore.»

Cursor сгенерирует все файлы. Проверь три вещи:


В .env — подставь свой настоящий токен
В .gitignore — есть строка .env
В коде — нигде нет токена напрямую, только [Link]("TELEGRAM_BOT_TOKEN")

Шаг 4. Защити свои секреты


Это критически важный шаг, который многие пропускают.

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

Убедись, что в .gitignore есть:

.env
__pycache__/
*.pyc

Если уже случайно закоммитил .env — недостаточно просто удалить файл. Нужно сменить
токен в @BotFather командой /revoke . Старый токен навсегда остаётся в истории Git.

Шаг 5. Запустить бота локально


Открой встроенный терминал в Cursor. Попроси ИИ:

«Напиши команды, чтобы установить зависимости и запустить бота локально.»

Обычно это:

pip install -r [Link]


python [Link]

Если всё ок — напиши что-нибудь своему боту в Telegram. Он должен ответить.


Как бот вообще узнаёт о новых сообщениях (без терминов из учебников)
Здесь мы делаем так: программа сама по кругу спрашивает у Telegram: «есть что-то
новое?». Тебе не нужен адрес сайта в интернете — поэтому так проще начать и тестировать
у себя на компьютере. Когда выложишь бота на хостинг, который умеет держать программу

[Link] 3/8
включённой всё время (см. шаг 7, Railway), обычно можно оставить тот же способ — ничего
заново не придумывать.
Если же захочешь именно Vercel (бесплатный слой «по запросу»), там нельзя оставить
программу «крутящейся вечно». Тогда путь другой: Telegram сам присылает событие на
твою ссылку в интернете — в чатах с Cursor это часто называют webhook. Попроси: «сделай
бота под Vercel: Telegram стучится по моему URL, без вечного цикла опроса». Это уже
отдельная настройка, не тот же код, что в самом начале гайда.

Принцип: первая версия может быть совсем простой — один ответ на всё. Это нормально.
Сначала добейся, чтобы ничего не падало, потом наращивай сценарии.

У тебя работающий бот — это уже серьёзно.

Часть 2: Делаем полезного бота

Шаг 6. Добавить реальную логику


Бот отвечает "Привет" — пора научить его делать что-то полезное. В Cursor формулируй
задачу так, как объяснял бы коллеге:

«Хочу, чтобы бот показывал меню из трёх кнопок: "FAQ", "Контакты", "Обратная связь". При
нажатии на FAQ — показывал список частых вопросов.»

Cursor найдёт нужные файлы и предложит изменения (зелёные/красные строки). Читай


summary, жми Apply, если всё ок.
Рабочий цикл (его стоит запомнить):
1. Формулируешь задачу в чате Cursor
2. Cursor предлагает изменения
3. Проверяешь и применяешь
4. Тестируешь в Telegram
5. Коммитишь: «Сделай commit и push с сообщением "Добавлено меню с кнопками"»
Cursor сам выполнит git add , git commit , git push .

На будущее: меню со временем разрастается. Удобно сразу попросить Cursor держать тексты
кнопок и ответы в одном месте (отдельный файл или структура данных), чтобы не плодить
копипасту в коде.

[Link] 4/8
Шаг 7. Развернуть бота на сервере
Пока бот работает только на твоём компьютере. Закроешь Cursor — бот замолчит. Чтобы он
работал 24/7, нужен хостинг.
Многие хотят начать с чего-то полностью бесплатного — это логично. Ниже — два разных
сценария: сначала про бесплатный вариант и его границы, потом про платный хостинг,
когда бот должен крутиться как маленький сервер.

Вариант А: Vercel (бесплатный тариф)


Vercel заточен под сайты и куски кода, которые запускаются, когда кто-то открыл страницу
или дернул API. После ответа всё может «уснуть» — нельзя оставить программу, которая
круглосуточно сама опрашивает Telegram (тот способ, с которого мы начали в гайде).
Что сюда хорошо ложится: лендинг, простая админ-страница, API для отчётов. У каждого
деплоя свой адрес — удобно сравнивать версии.
Если хочешь, чтобы сам бот жил на Vercel: нужна схема, где Telegram приходит к тебе по
ссылке (см. блок выше про «webhook») — это другой код и другая настройка, не
копипаста из шагов 3–5. После простоя первый ответ иногда приходит с паузой; очень
долгие ответы (например, тяжёлый AI) упираются в лимит времени на один запуск —
длинную генерацию обычно выносят в фон.
Итого: Vercel — сильный бесплатный слой для веб-части рядом с ботом. Сценарий «бот как
в начале гайда» без переделок — скорее не сюда.

Вариант Б: Railway (платный по сути, зато «как сервер»)


Здесь поднимаешь сервис, который работает всё время — как компьютер в облаке. Тот
способ, с которого мы начали (бот сам спрашивает Telegram по кругу), сюда переносится
без смены логики.
1. Зайди на [Link], залогинься через GitHub
2. New Project → Deploy from GitHub repo → выбери репозиторий с ботом
3. Если нужно — укажи Start Command (спроси Cursor: «Дай команду запуска для Railway
для моего [Link] »)
4. В Variables добавь TELEGRAM_BOT_TOKEN = твой токен (не коммить в репозиторий)
5. Дождись деплоя и проверь бота в Telegram
Про деньги: у Railway обычно есть стартовый кредит; дальше списание по факту
использования — смотри Usage в дашборде. Маленький бот часто укладывается в пару–
несколько долларов в месяц, но это уже не «вечно ноль», а плата за нормальный always-on.

[Link] 5/8
Частая ошибка: бот работал локально, а на сервере — нет. Чаще всего забыли
TELEGRAM_BOT_TOKEN в Variables или в коде остался хардкод вместо [Link]() . Логи: Railway
→ сервис → Logs (или у конкретного деплоя — View logs).

Шаг 8. Подключить базу данных


Когда это нужно: если бот должен что-то запоминать между сообщениями.
Примеры:
Запоминать, что пользователь уже сделал в сценарии (шаг диалога, статус заявки)
Хранить список сотрудников и их данные
Вести историю обращений
Отправлять отложенные сообщения (напоминания, поздравления)
Если бот просто отвечает на вопросы из фиксированного списка — база не нужна, не
усложняй.
Подключение Supabase:
1. Создай проект на [Link]
2. Создай таблицу (например, users с полями telegram_chat_id , name , created_at )
3. Скопируй URL и ключи проекта
4. Добавь их в .env (и проверь, что .env в .gitignore !)
В Cursor:

«Подключи бота к Supabase. URL и ключ в .env. Сделай функции для записи и чтения
пользователей из таблицы users.»

На что обратить внимание: таблицы и поля, которые задала в начале, потом не всегда удобно
менять — когда данных много, миграции и правки связей отнимают время. Если схема кажется
«на вырост», имеет смысл хотя бы набросать её на бумаге или в Notion до кодинга: что храним,
что уникально, что может повторяться.

Часть 3: Что дальше


Ты прошёл путь от нуля до рабочего бота с кнопками, базой данных и деплоем. Это
серьёзный результат.
Но между "бот работает у меня" и "бот работает в команде на 50+ человек" — большая
дистанция. Вот что нужно реальным production-ботам:
Надёжность

[Link] 6/8
Обработка ошибок — что если Supabase недоступен? что если пользователь прислал
стикер вместо текста?
Логирование — понимать, что пошло не так, без гадания
Мониторинг — узнавать о проблемах раньше пользователей
Масштаб
Многошаговые сценарии — бот ведёт диалог, помнит контекст
Роли — пользователь видит одно, админ — другое
Нагрузка — когда 500 человек пишут одновременно
Безопасность
Защита от спама и злоупотреблений
Ограничение доступа — только сотрудники компании
Безопасное хранение персональных данных
Интеграции
Связка с CRM, ATS, Google Sheets, Notion
Автоматические отчёты и дашборды
Webhook-цепочки между сервисами
Всё это решаемо, но обычно не за один вечер — появляются очереди, ретраи, отдельные
сервисы под тяжёлые задачи.

Шпаргалка: как говорить с Cursor

Описывай что хочешь, а не какой код написать


«Добавь кнопку "Отпуск" — бот должен спросить даты и записать в таблицу vacations»
«Сделай HTML-страницу, где я как HR вижу список обращений в бота за неделю»
«Обнови логику: напоминание не за 10 дней до ДР, а раз в месяц — список именинников»

Проси разбить на шаги


«Сделай пошаговый план: что изменить, в каких файлах, какие команды выполнить»
«Какие файлы изменятся, если я попрошу добавить X?»

Когда ломается
«Вот логи с Railway (вставь логи). Найди причину и исправь код.»
«Бот перестал отвечать после последних изменений. Что могло сломаться?»
«Откати последнее изменение и объясни, что пошло не так.»

[Link] 7/8
Для понимания
«Объясни этот код простыми словами — что он делает и зачем»
«Я не понимаю эту ошибку (вставь ошибку) — объясни, что не так и как починить»

Для качества
«Добавь обработку ошибок — что если пользователь отправит не то, что ожидается?»
«Этот файл слишком длинный — разбей на короткие куски по смыслу и убери
повторяющийся код»
«Проверь, нет ли в коде проблем с безопасностью»

Когда имеет смысл позвать человека


Гайд закрывает старт. Дальше часто всплывают задачи, где один Cursor не заменит контекст
компании:
бот внезапно перестал отвечать, а по логам непонятно;
нужно стыковать Telegram с CRM, ATS, таблицами, внутренними API;
бот не для себя, а для команды — роли, доступы, админка;
многошаговые сценарии и хранение состояния между сообщениями;
процесс под конкретный регламент (онбординг, опросы, FAQ по политикам).
Если хочется разобрать свой кейс голосом или в переписке — Telegram @dadariat.

[Link] 8/8

Вам также может понравиться