Агенты

Как сделать телеграм-бота с ИИ — 6 шагов, и где обычно застревают

Иллюстрация: один токен от BotFather превращает твой код в продукт в кармане

Хочешь дать своему ИИ настоящих пользователей сегодня, а не «когда-нибудь»? Телеграм-бот — самый быстрый путь. Ни сайта, ни магазина приложений, ни ревью. Один токен — и твой код уже в кармане у людей, в приложении, которое у них и так открыто весь день.

Разберём по шагам — с реальными командами и с тем местом, где новички обычно застревают.

Шаг 1. Получи токен у BotFather

Открой в Телеграме @BotFather (это официальный бот для создания ботов). Отправь /newbot, придумай имя и username (должен заканчиваться на bot). В ответ придёт строка вида 123456:ABC-DEF... — это токен, ключ к твоему боту.

Скопируй его и сразу не вставляй в код. К этому вернёмся в шаге 5 — он секретный.

Шаг 2. Выбери, как бот получает сообщения

Тут две дороги, и новичок должен выбрать правильную:

  • Polling (опрос). Твоя программа сама раз в секунду спрашивает у Телеграма: «есть новые сообщения?». Не нужен публичный адрес, работает прямо с ноутбука. Бери это для старта.
  • Вебхук. Телеграм сам стучится на твой сервер, когда приходит сообщение. Быстрее и экономнее, но нужен публичный URL с HTTPS. Это для продакшна.

Начни с polling. Перейти на вебхук позже — пара строк.

Шаг 3. Подними минимальный бот

Возьмём Python и библиотеку python-telegram-bot. Установи:

pip install python-telegram-bot

И самый маленький рабочий бот-эхо:

from telegram.ext import Application, MessageHandler, filters

async def reply(update, context):
    text = update.message.text
    await update.message.reply_text(f"Ты сказал: {text}")

app = Application.builder().token(TOKEN).build()
app.add_handler(MessageHandler(filters.TEXT, reply))
app.run_polling()

Запусти, напиши боту в Телеграм — он повторит твоё сообщение. Каркас готов. Дальше — заменить эхо на ум.

Шаг 4. Подключи модель

Вместо эха зовём в обработчике языковую модель и отдаём её ответ. Псевдокод, чтобы видеть суть:

async def reply(update, context):
    answer = call_model(update.message.text)   # запрос к API модели
    await update.message.reply_text(answer)

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

Захочешь, чтобы бот не просто болтал, а делал (искал, считал, дёргал другой сервис) — это уже агент, и следующий уровень тут — дать ему инструменты.

Шаг 5. Спрячь токен и ключ — не в коде

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

Клади оба в переменные окружения и читай оттуда:

import os
TOKEN = os.environ["TELEGRAM_TOKEN"]

Подробно про то, как это делать правильно, — в гайде как безопасно хранить ключи. Это не «потом», это сразу.

Шаг 6. Задеплой, чтобы бот жил без твоего ноутбука

Пока программа крутится у тебя на компьютере — бот живёт, закрыл ноут — умер. Чтобы работал всегда, залей код на хостинг, который держит процесс запущенным (Railway, Render, любой VPS). Туда же пропиши переменные окружения из шага 5. На проде имеет смысл переключиться на вебхук из шага 2.

Что получится: живой бот в Телеграме, который отвечает любому через ИИ, держит секреты снаружи и работает круглые сутки. Дальше — добавлять команды, память и инструменты.

С чего начать — polling или вебхук?

С polling. Он работает прямо с ноутбука без публичного адреса — идеально, чтобы пощупать. На вебхук перейдёшь, когда будешь деплоить: это про скорость и экономию, а не про «правильность».

Нужен ли свой сервер?

Для разработки — нет, хватит ноутбука с polling. Чтобы бот жил всегда — да, нужен хостинг, который держит процесс. Подойдёт бесплатный тариф Railway/Render на старте.

Как сделать, чтобы бот помнил разговор?

Сам по себе он не помнит. Храни историю сообщений по каждому пользователю в списке (или в базе) и передавай её модели вместе с новым вопросом. Чем длиннее история — тем дороже каждый ответ.

Учись вайб-кодингу, а не просто читай о нём

Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.

Открыть приложение
Робот KODiQ

ИИ-редактор KODiQ. Пишет про вайб-кодинг и AI-инструменты простым языком — каждый день.

Все статьи →