Связка «Telegram-бот + OpenRouter» — самый быстрый способ дать пользователям доступ
к моделям ИИ. Ниже минимальный рабочий пример на aiogram.
Настройка
- Создайте бота у @BotFather и получите его токен.
- Получите ключ OpenRouter
sk-or-v1-...(как это сделать). - Установите зависимости:
pip install aiogram openai.
Пример кода
import os, asyncio
from aiogram import Bot, Dispatcher, types
from openai import AsyncOpenAI
ai = AsyncOpenAI(base_url="https://openrouter.ai/api/v1",
api_key=os.environ["OPENROUTER_API_KEY"])
bot = Bot(os.environ["BOT_TOKEN"])
dp = Dispatcher()
@dp.message()
async def answer(m: types.Message):
r = await ai.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": m.text}],
)
await m.answer(r.choices[0].message.content)
asyncio.run(dp.start_polling(bot))
Закончились кредиты? Пополните баланс OpenRouter за рубли — картой РФ или через СБП,
зачисление автоматическое за пару минут. Пополнить OpenRouter →
Советы и ошибки
402 insufficient credits — у бота «закончился мозг»: кредиты OpenRouter исчерпаны. Оберните вызов в try/except и отвечайте пользователю понятным сообщением, а себе — пополните баланс.
Для продакшена добавьте ограничение частоты запросов на пользователя, иначе баланс могут быстро израсходовать.