base_url, и тот же openai SDK работает с Claude, GPT, Gemini и DeepSeek.
Что нужно заранее
- Ключ RuAPI —
sk-.... Создаётся в Консоли: «Токены» → «Создать токен». Баланс пополняется в USDT — см. пополнение. - Python 3.10+ — проверьте командой
python --version. - Токен Telegram-бота — получим на следующем шаге.
Создайте бота в Telegram
Откройте в Telegram чат с @BotFather и отправьте команду
/newbot. BotFather спросит имя бота и его username (должен заканчиваться на bot). В ответ он пришлёт HTTP API token — строку вида 123456789:AAH.... Скопируйте её, она понадобится дальше.Установите зависимости
python-telegram-bot версии 21+ — это асинхронный фреймворк для Telegram. openai — клиент, который мы направим на RuAPI.Напишите бота
Создайте файл
bot.py. Это полностью рабочий минимальный бот: на каждое текстовое сообщение он отправляет ваш текст модели и отвечает её ответом.bot.py
В примере — модель
claude-opus-4-8. Тем же ключом доступны и другие модели:
gpt-5, gemini-3.5-flash, deepseek-v3 и прочие. Точные имена — на странице
«Цены» основного сайта.Запустите
Передайте оба токена через переменные окружения и запустите скрипт:Бот молча запустится и начнёт слушать сообщения (
run_polling опрашивает Telegram). Найдите бота в Telegram по username, напишите ему что-нибудь — и он ответит через нейросеть. Чтобы остановить, нажмите Ctrl+C.Сделайте лучше
Минимальный бот не помнит контекст и отвечает на каждое сообщение с чистого листа. Несколько идей, куда расти:
- Память диалога. Храните историю сообщений по
chat_id(например, вcontext.chat_data) и передавайте весь список вmessages=[...]— тогда бот будет помнить предыдущие реплики. - Системный промпт. Добавьте первым элементом
{"role": "system", "content": "Ты — дружелюбный помощник..."}, чтобы задать тон и роль. - Команда /start. Добавьте
CommandHandler("start", ...)с приветствием — так бот выглядит дружелюбнее. - Смена модели. Поменяйте поле
model, чтобы переключиться на GPT или Gemini. - Дешевле для нагрузки. Если сообщений много, переведите бота на более доступную модель —
gemini-3.5-flashилиdeepseek-v3. Качество для чата отличное, расход баланса заметно ниже. - Ответ по мере генерации. Включите потоковый вывод и обновляйте сообщение по ходу — на длинных ответах бот выглядит живее, чем когда долго молчит.
Если что-то пошло не так
Бот молчит, не отвечает на сообщения
Бот молчит, не отвечает на сообщения
Проверьте, что токен бота скопирован целиком и без пробелов, и что скрипт
действительно запущен (
run_polling должен работать, окно терминала не
закрыто). Убедитесь, что вы пишете именно тому боту, которого создали у
BotFather. Ошибки печатаются в терминал — посмотрите туда.Ошибка 401 (Unauthorized)
Ошибка 401 (Unauthorized)
Ошибка 402 (Payment Required)
Ошибка 402 (Payment Required)
Закончился баланс. Пополните его в USDT — см. пополнение.
Что дальше
- Быстрый старт — основы работы с API и
base_url. - Ошибки и их решения — что означают коды ответов.
- Вопросы? [email protected]