Как сделать Telegram-бота для текстовых квестов на ChatGPT — опыт одного разработчика

Если вам нравятся текстовые квесты и вы хотите попробовать себя в создании ботов, то эта история точно заинтересует. Один разработчик решил воплотить свою детскую мечту — сделать телеграм-бота для игры в текстовые квесты — и использовал для этого ChatGPT-4o.
Началось всё с ностальгии по книге-игре из школьных лет. Классика жанра: выбираешь действия героя, и сюжет идёт дальше по выбранному пути. Идея сделать бота витала давно, но руки дошли только с появлением GPT.
Структура бота простая: запускаешь игру — бот отправляет главу с текстом и вариантами выбора, ждёт твой ответ, обновляет состояние игрока (здоровье, инвентарь, характеристики) и переходит к следующей части. Всё это строится на JSON с описанием глав, который получился из парсинга исходного текста квеста.
Сам парсер написал с помощью GPT — он отлично справился с регулярными выражениями и преобразованием формата в удобный JSON. Далее — отрисовка текста и кнопок, обработка нажатий, изменение состояния игрока, сохранение и загрузка прогресса.
Однако с ростом кода GPT начал путаться: исправлял одну ошибку, но создавал другую. Пришлось самому погружаться в код, переписывать логику, но теперь расширять функционал стало проще.
Особенно круто, что GPT умеет писать автоматические тесты — помогло не потерять важную логику и быстрее находить баги.
Если хотите погрузиться в детали и посмотреть исходники, вот репозиторий автора — questTg. А полную историю создания и разбор можно почитать в статье на Хабре — Как я Telegram бота для текстовых квестов на ChatGPT делал.
Кто уже пробовал делать что-то подобное с GPT? Делитесь опытом или задавайте вопросы, обсудим!
Поделиться:
Ещё из архива
Все публикации
Интервью с Владимиром Аюевым: графический язык бигтеха, студия SASHA и дизайн-образование
1 месяц назад
Jockey от TwelveLabs: ИИ-агент для семантического поиска по видеоархивам и извлечения метаданных
1 месяц назад
Архитектура винной этикетки: баланс наборного шрифта и каллиграфии в кейсе Winecraft
1 месяц назад
Оптимизация контекста в Claude Code: как работает кэширование промптов и за что мы платим
1 месяц назад
Архитектура памяти для LLM-агентов: от базового SQLite до Graph RAG
1 месяц назад