Как подключить ChatGPT к Telegram-боту на Python
Обновлено: 15 октября 2026
В этой инструкции сделаем Telegram-бота, который отвечает с помощью нейросети GPT-6, помнит контекст разговора и ведёт себя по заданной роли. Понадобится Python 3.10+ и 15 минут.
Что понадобится
- Токен бота — создайте бота у
@BotFatherкомандой/newbot. - Ключ API — получите его в консоли API Market (как это сделать — в отдельной инструкции).
- Библиотеки:
pip install aiogram openai.
Минимальный бот
Код минимального бота есть на странице «Нейросеть для Telegram-бота». Он отвечает на каждое сообщение, но не помнит предыдущих. Добавим память.
Память диалога
Модель не хранит историю сама: каждый запрос — независимый. Чтобы бот «помнил», нужно отправлять вместе с новым сообщением предыдущие. Принцип показан на консольном примере:
{from openai import OpenAI
client = OpenAI(base_url="https://api-market1.shop/v1", api_key="sk-ваш-ключ")
history = [{"role": "system", "content": "Ты консультант магазина цветов."}]
while True:
text = input("Вы: ")
history.append({"role": "user", "content": text})
reply = client.chat.completions.create(model="gpt-6-luna", messages=history[-20:])
answer = reply.choices[0].message.content
history.append({"role": "assistant", "content": answer})
print("Бот:", answer)}
Обратите внимание на history[-20:]: мы отправляем только последние 20 сообщений. Иначе история будет расти, а вместе с ней — стоимость каждого запроса, ведь оплачиваются все отправленные токены.
В Telegram-боте историю удобно хранить в словаре по chat_id, а для продакшена — в Redis или SQLite.
Системный промпт
Первое сообщение с ролью system задаёт поведение: «Ты консультант магазина цветов. Отвечай коротко, предлагай букеты из каталога: …». Чем конкретнее инструкции и чем больше фактов о бизнесе вы туда положите, тем полезнее ответы.
Какую модель выбрать для бота
gpt-6-luna— дешёвые ответы, подходит для большинства ботов.gemini-3.8-flash— самые быстрые ответы.gpt-6-sol— если важны качество и следование сложным инструкциям.
Где запускать
Бота можно запустить на любом VPS, в том числе в России: API Market доступен без VPN. Для постоянной работы используйте systemd или Docker, чтобы бот перезапускался после сбоев.
Частые проблемы
- Бот молчит — проверьте токен и что polling запущен; посмотрите ошибки в консоли.
- Ошибка 401 — неверный ключ API.
- Ошибка 429 — слишком много запросов одновременно; добавьте очередь.
Попробуйте сами
Регистрация — минута, бонуса за Telegram хватит на тест. Оплата в рублях от 10 ₽, без VPN.