Telegram-бот с ИИ: как подключить LLM через OpenAI-совместимый API TokenMaster
Telegram-бот с большой языковой моделью — это круглосуточная поддержка, быстрый сбор заявок и автоматизация ответов клиентам без найма отдельного сотрудника. Пользователь пишет в привычный мессенджер, а модель отвечает сама: консультирует, отвечает на частые вопросы и квалифицирует лиды. Ниже — пошаговая инструкция, как собрать такого бота на Python и подключить к нему модели DeepSeek, GLM и Qwen через TokenMaster.
Что понадобится
- Установленный Python (рекомендуем 3.10 или новее) и доступ в интернет.
- API-ключ TokenMaster вида
sk-…— через него бот обращается к моделям. - Токен Telegram-бота от @BotFather — он выглядит как длинная строка из цифр и букв.
Пошаговая настройка
1. Создаём бота через @BotFather
Откройте в Telegram диалог с @BotFather и отправьте команду /newbot. БотFather попросит задать имя (например, «Поддержка магазина») и username, который должен заканчиваться на bot (например, myshop_support_bot). В ответ вы получите токен вида 123456789:AAE… — сохраните его, он нужен для подключения к Telegram API.
2. Устанавливаем библиотеки
Для примера используем python-telegram-bot (актуальная ветка — v22.x) и официальный Python-клиент OpenAI, который работает с любым OpenAI-совместимым API:
pip install python-telegram-bot openai
Если вы привыкли к асинхронным фреймворкам, вместо python-telegram-bot можно взять aiogram (ветка 3.x) — принцип подключения модели при этом не меняется.
3. Пишем минимальный код бота
Сохраните файл bot.py и подставьте свои значения в TELEGRAM_ТОКЕН и api_key:
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes
from openai import OpenAI
client = OpenAI(
api_key="sk-ВАШ_КЛЮЧ", # ключ TokenMaster
base_url="https://tokenmaster.ru/v1", # единый Base URL
)
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text("Привет! Напишите вопрос — я отвечу через ИИ.")
async def reply(update: Update, context: ContextTypes.DEFAULT_TYPE):
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": update.message.text}],
)
await update.message.reply_text(response.choices[0].message.content)
def main():
app = Application.builder().token("TELEGRAM_ТОКЕН").build()
app.add_handler(CommandHandler("start", start))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, reply))
app.run_polling()
if __name__ == "__main__":
main()
Запустите бота командой python bot.py и напишите ему в Telegram. Каждое сообщение пользователя отправляется в модель, а ответ возвращается в чат.
4. Задаём роль и стиль ответов
Чтобы бот отвечал не «просто как нейросеть», а как сотрудник вашей компании, добавьте системное сообщение. Оно задаёт тон, сферу знаний и правила общения — например, просит отвечать вежливо, на русском языке и только по теме вашего продукта:
messages=[
{"role": "system", "content": "Ты — вежливый менеджер интернет-магазина. Отвечай кратко и по делу, на русском языке."},
{"role": "user", "content": update.message.text},
]
Именно системный промпт превращает универсальную модель в специализированного помощника: он не уходит от темы и выдерживает единый стиль во всех диалогах.
Подключение TokenMaster
TokenMaster — это AI-шлюз с OpenAI-совместимым API: весь код выше работает со стандартным клиентом OpenAI, нужно только указать правильный Base URL и ключ. Подключение занимает пару минут:
- Зарегистрируйтесь на tokenmaster.ru и создайте API-ключ в разделе «Ключи».
- В коде укажите Base URL
https://tokenmaster.ru/v1и ключ видаsk-…. - Выберите модель (например,
deepseek-chat, модель GLM от Zhipu или Qwen) в параметреmodel.
Почему TokenMaster? Один ключ и один баланс для моделей DeepSeek, GLM (Zhipu) и Qwen, оплата из России. Base URL единый —
https://tokenmaster.ru/v1, а значит для смены модели достаточно поменять одно поле в коде.
Проверка работы
Напишите боту простой вопрос — если пришёл осмысленный ответ, подключение работает. Типичные ошибки и их причины:
- 401 / invalid api key — ключ скопирован не полностью или неверно; проверьте, что он начинается с
sk-и создан в разделе «Ключи». - connection error — Base URL указан неправильно; он должен быть ровно
https://tokenmaster.ru/v1, без лишних слэшей на конце. - insufficient quota — на балансе недостаточно средств; пополните его в личном кабинете.
Частые вопросы
Какой фреймворк выбрать: python-telegram-bot или aiogram?
Оба варианта рабочие. python-telegram-bot проще для первого бота и отлично документирован, aiogram — мощный асинхронный фреймворк для проектов с большим числом пользователей. Модель подключается одинаково — через OpenAI-совместимый API.
Как сменить модель в боте?
Поменяйте значение параметра model в вызове client.chat.completions.create — например, с deepseek-chat на модель GLM или Qwen. Актуальный список и цены — на tokenmaster.ru/pricing.
Как задеплоить бота, чтобы он работал круглосуточно? Запустите скрипт на сервере или VPS в фоне (например, через systemd или Docker), а токены и ключ храните в переменных окружения, а не в коде.
Итог
Telegram-бот с LLM — это быстрый способ автоматизировать общение с клиентами, а TokenMaster даёт к нему модели DeepSeek, GLM и Qwen по одному ключу. Укажите Base URL https://tokenmaster.ru/v1 и ключ sk-… — и бот начнёт отвечать пользователям в реальном времени. Документация по API — на tokenmaster.ru/docs.
TokenMaster