Как подключить ChatGPT API к Telegram-боту
Делаем AI Telegram-бота на ChatGPT API с нуля: получаем ключ, пишем бота на Python (aiogram) и подключаем модель через OpenAI SDK.
AI-бот в Telegram — один из самых популярных способов применить нейросеть: бот отвечает на вопросы, генерирует тексты, консультирует клиентов. В этой инструкции с нуля сделаем бота на Python, который отвечает через ChatGPT API (модели OpenAI), и подключим его из России без VPN.
Что понадобится
- Токен Telegram-бота от @BotFather.
- API-ключ для доступа к модели (sk-shop-…) и base_url шлюза.
- Python 3.10+ и две библиотеки: aiogram и openai.
Шаг 1. Создаём бота в Telegram
Откройте @BotFather в Telegram, отправьте команду /newbot, задайте имя и username. В ответ BotFather пришлёт токен вида 123456:ABC… — он понадобится в коде.
Шаг 2. Получаем ключ к ChatGPT API
Чтобы бот мог обращаться к GPT из России, нужен ключ с оплатой картой РФ. Зарегистрируйтесь на store-api.ru, оплатите тариф под модель OpenAI (например, GPT-4o) и скопируйте ключ sk-shop-… из личного кабинета. Адрес шлюза — https://store-api.ru/v1, он совместим с OpenAI SDK.
Шаг 3. Устанавливаем зависимости
pip install aiogram openai
Шаг 4. Пишем код бота
Бот принимает текстовое сообщение, отправляет его в модель через OpenAI SDK и возвращает ответ. Обратите внимание: base_url указывает на шлюз, а ключ — ваш sk-shop-…
import asyncio
from aiogram import Bot, Dispatcher, types
from openai import OpenAI
bot = Bot("ВАШ_TELEGRAM_ТОКЕН")
dp = Dispatcher()
client = OpenAI(
base_url="https://store-api.ru/v1",
api_key="sk-shop-…",
)
@dp.message()
async def handle(message: types.Message):
resp = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": message.text}],
)
await message.answer(resp.choices[0].message.content)
async def main():
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())Шаг 5. Запускаем
python bot.py
Теперь напишите боту в Telegram — он ответит через GPT. Это минимальный пример; дальше его легко расширить.
Как улучшить бота
- Хранить историю диалога — передавайте предыдущие сообщения в массиве messages для контекста.
- Системный промпт — добавьте сообщение с ролью system, чтобы задать характер и правила бота.
- Стриминг ответа — включите stream=True и редактируйте сообщение по мере генерации.
- Экономия — для массовых ответов используйте GPT-4o mini, для сложных — GPT-4.1.
- Обработка ошибок и лимитов — следите за остатком токенов в личном кабинете.
Вывод
Подключить ChatGPT API к Telegram-боту можно за полчаса: создать бота у BotFather, получить ключ с оплатой картой РФ и подключить модель через OpenAI SDK. Дальше бота легко развивать — добавить память диалога, системный промпт и стриминг.
Частые вопросы
Можно ли сделать AI Telegram-бота из России?+
Да. Нужен токен бота от BotFather и ключ к модели с оплатой картой РФ. Бот обращается к GPT через шлюз без VPN.
Какую библиотеку выбрать для бота?+
Для Python популярны aiogram и python-telegram-bot. В примере используется aiogram вместе с OpenAI SDK.
Можно ли использовать Claude или Gemini вместо GPT?+
Да. Код тот же — меняется только параметр model на модель нужного тарифа.
Как контролировать расходы бота?+
Оплата идёт за токены, остаток и срок действия ключа видны в личном кабинете, без абонентской платы.