Telegram + AI API
Нейросеть для Telegram-бота по одному ключу
NormaHub отвечает на сообщения ваших пользователей: один ключ, один base_url и любая модель из каталога — GPT для диалогов, Claude для сложных запросов. Ключ живёт на backend, бюджет защищён лимитами.
Для кого: владельцы ботов, инди-разработчики и команды, которым нужен ИИ в Telegram без прямых кабинетов
Создать API keyБыстрый старт
От ключа до первого ответа
- 01
Создайте отдельный API-ключ под бота и пополните баланс рублями.
- 02
Подключите backend к base_url и возьмите model ID из каталога.
- 03
Задайте лимит ключа, max_tokens и скользящее окно истории диалога.
Рабочий шаблон
Скопируйте основу и замените модель
Используйте только идентификатор из актуального каталога. Ключ храните в переменной окружения.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NORMAHUB_API_KEY"], # только backend!
base_url="https://api.normahub.cc/v1",
)
answer = client.chat.completions.create(
model="MODEL_ID",
messages=[
{"role": "system", "content": "Отвечай коротко и по-русски."},
{"role": "user", "content": text[:2000]},
],
max_tokens=256,
).choices[0].message.contentДетали решения
Как это устроено
Зачем боту единый API
Пользователь пишет в Telegram, ваш backend добавляет ключ и обращается к NormaHub, ответ уходит в чат — модель меняется одним параметром. Разумная связка: дешёвая быстрая модель отвечает в личке, сильная подключается точечно на тяжёлые команды. Без аккаунта OpenAI, доступа к Anthropic по региону и VPN: один ключ, один баланс и один формат запросов покрывают модели каталога.
Сколько стоит диалог
Каждый ответ считается как входные токены плюс выходные по тарифу выбранной модели, поэтому экономика бота — это короткие ответы и короткая память. Ограничивайте выход значением max_tokens 256–512 и передавайте не весь лог переписки, а скользящее окно из пяти-шести последних реплик: иначе каждое сообщение будет стоить как сумма всего диалога. Точные ставки входа и выхода каждой модели смотрите в каталоге, а формулу месячного бюджета разберите в гайде по стоимости токенов.
Нюансы и лимиты
Публичный бот — это открытый кошелёк, поэтому защиты три: rate limit на пользователя в коде, spend limit на API-ключе в кабинете и обрезка входа с max_tokens на каждый вызов. Долгие ответы упираются в таймауты Telegram: сначала отправляйте промежуточное «Думаю…», затем редактируйте сообщение результатом. Ошибки маппите в человеческие ответы, а request ID пишите в лог рядом с user_id. История для MVP — в памяти процесса, для продакшена — Redis или Postgres с TTL.
Оплата и контроль расходов
Запросы оплачиваются с предварительно пополненного баланса по актуальным ставкам выбранной модели. Минимум и комиссия показываются перед оплатой в кабинете; лимит расходов задаётся для API-ключа.
Ограничения доступности
Возможности зависят от модели и внешнего маршрута. При недоступности provider запрос может завершиться ошибкой; проверяйте каталог, статус и документацию перед production.
Частые вопросы
Где хранить API-ключ Telegram-бота?
Только на backend-сервере, в переменных окружения. Ключ нельзя вшивать в клиент, мини-приложение или публичный репозиторий: его извлекут и потратят ваш баланс.
Какую модель выбрать для бота?
Быструю и дешёвую для диалогов с короткими ответами, сильную — для тяжёлых команд. Точные model ID и цены — в каталоге моделей.
Пользователь заспамил бота. Что защитит бюджет?
Три слоя сразу: rate limit на пользователя в коде, spend limit на API-ключе в личном кабинете и max_tokens на каждый вызов. Один слой без остальных — полумера.
Бот отвечает медленно. Что делать?
Сразу отвечайте промежуточным сообщением, затем редактируйте его результатом. Держите max_tokens разумным и задавайте timeout клиенту.