Задача — разработать Telegram-бота для BLAGOVA_SWEETS, который сможет общаться с пользователем на естественном языке, помогать с поиском рецептов и использовать AI для обработки запросов.
Бот должен был понимать русскоязычные сообщения, определять намерение пользователя, обращаться к внешнему API рецептов и возвращать результат в удобном формате непосредственно внутри Telegram.
Дополнительно требовалось сохранить контекст диалога, добавить удобную навигацию через кнопки и подготовить приложение к стабильной работе на сервере.
Разработал Telegram-бота на Python с использованием pyTelegramBotAPI и OpenAI API.
Реализовал обработку естественного языка и определение намерения пользователя с помощью LLM.
Для поиска рецептов интегрировал внешний TheMealDB API. Добавил обработку русскоязычных запросов, получение информации о рецептах и перевод данных на русский язык.
Реализовал:
— inline-кнопки и удобную навигацию;
— карточки рецептов с изображениями;
— ограниченную историю диалога для сохранения контекста;
— обработку ошибок внешних API;
— структурированное логирование.
Production-логи отправляются в Better Stack.
Приложение контейнеризировано с помощью Docker и Docker Compose и развёрнуто на VPS.
В результате получился работающий Telegram AI-бот, объединяющий LLM и внешний API в одном пользовательском сценарии.
Пользователь может:
— отправлять запросы естественным языком;
— искать рецепты;
— получать структурированную информацию и изображения;
— продолжать диалог с учётом недавнего контекста;
— работать с ботом полностью внутри Telegram.
Проект развёрнут на VPS и настроен для стабильной работы с production-логированием.
Исходный код:
https://github.com/Andrei-Blagov/telegram-chatgpt-bot