Сегодня расскажу о том, как подружил бота с ChatGPT. Получилось быстро и почти без проблем, но есть нюанс, который видно невооружённым взглядом :)
Скрытый текст
Первая часть была на модерации почти неделю, поэтому здесь старые скриншоты, которые были актуальны на момент написания статьи

Итак, на первом этапе мне удалось запилить простого бота с менюшкой и оживить его, не написав ни единой строчки кода своими руками. Всё придумал ChatGPT, а я только копипастил и следовал инструкциям.
Подключение к ChatGPT
Напомню ключевую механику сервиса: запрос обрабатывается ИИ-моделью, и пользователь получает результат анализа.
Для этого сначала нужно научить бота общаться с ChatGPT технически: отправлять туда исходящие запросы и принимать входящие.
Обмен данными происходит по API, с чем я и начал разбираться. Для технически подкованной аудитории Хабра эта задача — не рокет-сайенс, но я-то не настоящий сварщик.
В общем, один короткий промпт в ChatGPT, и появилась конкретика:
зарегистрироваться на platform.openai.com — новый аккаунт, а не учетка от chatgpt.com
привязать карту — по понятным причинам РФ-карта не подходит, но задача решаемая, обойдусь без рекламы
пополнить баланс — минимум $5
API-ключ можно создать только после этих манипуляций
Потому что за каждый входящий и исходящий API-запрос OpenAI взимает плату. Цена зависит от крутости модели (самая новая — 5.1), типа запроса (текст, картинка, аудио, видео) и его размера в токенах.
Там же, в личном кабинете OpenAI Platform, в разделе Limits я настроил минимальный лимит расходов, чтобы не оказаться в долгах перед Сэмом Альтманом, если что-то пойдёт не так.

Ага, попался! Статьи клепаешь, а реально ничего не делаешь — сам же показал скрин, где ни копейки не потратил, дурачок!
Вынужден расстроить: тестирую бота на дешёвой модельке gpt-4.1-mini, и к моменту публикации этой статьи на тесты ушло примерно 2500 токенов, что в деньгах означает меньше $0.01.

В общем, всё настроил, создал API-ключ и сохранил его в переменную окружения на сервере — в DO App Platfotm это делается буквально в пару кликов.
Там же указал модель, к которой буду обращаться по API:

Для тестов выбрал дешёвую модель gpt-4.1-mini — опять же, чтобы не жечь деньги впустую. Плюс, сейчас мне важно не качество ответов, а чтобы ответы хотя бы начали приходить в бота.
Пора писать код
Точнее, попросить об этом моего ИИ-напарника. Огромный плюс проектов: ChatGPT «помнит» историю общения.
Благодаря контексту, с первой же попытки получился код, похожий на правду:

Мне даже было примерно понятно, что этот код должен делать. Не зря говнокодил на питоне в своё время! :)
Далее:
Ctrl+C (точнее, клик по виджету с кодом)
Ctrl+V
коммит и пуш в гитхаб
автоматическая сборка на сервере
Иии... не получилось :)
Бот поднялся, но при отправке запроса ничего нового, кроме ошибок в логах, не появилось.
Такое уже проходили: копирую кусок лога с ошибками в ChatGPT, получаю рекомендацию по исправлению, пушу обновления на гитхаб, проект автоматом пересобирается.
И так несколько раз.
В процессе отладки ChatGPT по традиции заявил, что написанный им код и не должен был работать (ha-ha, classic).
А ещё ChatGPT сам предложил добавить к ответу кнопку для генерации отчёта в PDF. Видимо, подтянул эту мою хотелку из истории. Самой генерации ещё нет (это следующий этап), но кнопка пригодится.
Наконец, после очередной сборки бот раздуплился: начал отправлять запросы к ИИ-модели и возвращать ответ пользователю.
Работает!
Кнопка для заказа PDF-ки тоже появилась.

Хорошая новость: бот работает и дёргает ИИ по API.
Плохая новость: запрос был 24 ноября 2025, а у ХК «Сибирь» формально нет главного тренера, а есть только и.о. Ярослав Люзенков.
Почему так происходит
Короткий ответ: ИИ-модели обучают на исторических данных и по умолчанию они «не в курсе» происходящего за рамками «окна обучения».
Например, отсечка знаний у GPT-4.1 (и mini) — 1 июня 2024.
А у самой новой модели GPT-5.1 — 30 сентября 2024.
Если интересно, всё это можно узнать здесь.
Вывсёврёти!
Я общаюсь с ChatGPT, он ходит в инет и выдаёт свежую инфу!
Да, это так, но есть нюанс.
Чат-бот под названием ChatGPT, с которым мы привыкли «общаться», и модель GPT, доступная по API, работают по-разному:
у чат-бота уже есть инструкция по поиску в интернете
а модель использует только данные, на которых обучена

Выяснилось, что для поиска в интернете модели нужно отдельно сказать, чтобы она поискала в интернете. Преступление раскрыто, преступления не было.
То есть, «просто запрос» надо превратить в «запрос с использованием Web Search». Пока я это выяснял, ChatGPT опять нёс всякую дичь и придумывал несуществующие сервисы OpenAI, но закончилось всё хорошо:

Решил пока что не тратить время на прикручивание Web Search. Сделаю позже, когда дойдёт до реального анализа. Вероятно, там придётся прилично повозиться, а тормозить основной процесс не хочется.
Главное, получилось подружить бота с OpenAI по API.
Конец второй серии
Поделка обрастает мясом, но по-прежнему доступен только мне, потому что:
тестирую сразу на настоящем боте
не нужна дополнительная нагрузка
не нужны дополнительные расходы (каждый запрос платный)
Но для подтверждения, что я не просто выдумываю, а реально всё это делаю, записал скринкаст:

Переходите в бота и стартуйте: первые юзеры получат бонус при релизе бота, когда (и если) он состоится. Бот может тупить, потому что крутится на самом дешёвом сервере.
Вот прямая ссылка, никаких рефералок и скама: https://t.me/FaktometrBot
Напишите, пожалуйста, в комментариях, долго ли пришлось ждать стартового сообщения. Если совсем беда, перенесу на более мощную машину.
Текущий прогресс
Уже готово:
Подготовка к подготовке
Нормальная подготовка
Бот, который ничего не умеет
Бот умеет общаться с ChatGPT по API
Следующий этап:
Научить бота генерировать PDF-документ на базе ответа модели
По моей задумке, непосредственно в боте пользователь получает краткий анализ запроса, а подробный отчёт доступен в PDF-версии — никакого подвоха, это просто удобней, чем читать простыню текста в телеге.
Непродолжительный опыт сотрудничества с ChatGPT вселяет оптимизм.
Думаю, всё получится, но это не точно :-)
Цикл Бумер и вайб-кодинг:
Часть 2 (вы находитесь здесь)
Комментируйте, добавляйте в закладки, задавайте вопросы — постараюсь ответить.
И подписывайтесь в телеге. Спасибо.
Продолжение следует ;-)