Бот меню и заказов для ресторана доставки
Задача
Каталог меню и приём заказов прямо в Telegram — с чистым и понятным диалогом и с обменом данными с iiko, учётной системой ресторана.
Что сделал
- Бот меню на aiogram: категории, составы блюд и карточки товаров на кнопках — весь ассортимент в чате, ничего не нужно набирать текстом.
- Меню идёт ступенями: главный экран → «Заказать» → категория → блюда категории → карточка товара.
- Бот помнит, на какой ступени человек смотрит меню, и убирает отжившие сообщения: возврат к списку категорий и на главный экран работает предсказуемо, а чат остаётся чистым.
- Кнопки главного меню подписаны обычными словами и различаются цветом — по ним видно, куда идти дальше.
- Модуль обмена с Айко: один вход в систему ресторана на всю сессию вместо нового входа на каждый запрос, корректный выход по завершении и отдельная реакция на каждый вид отказа — не подошёл доступ, не хватило прав, ошиблась сама iiko, запрошенной позиции нет в системе.
- Маршрут заказа описан от и до: витрина → корзина → подсчёт итога по ценам Айко → доставочный заказ → проверка статуса.
Моя роль
Разработал бота меню и заказов, логику навигации по ступеням меню и модуль обмена с iiko.
Результат
- Telegram-бот каталога меню с категориями, составами блюд и карточками товаров.
- Модуль работы с iiko API: инструкция по подключению, обработка сбоев, тесты и пример использования.
Что можно проверить
- Рабочий бот меню: категории, составы блюд и переход внутрь категории отлажены · февраль 2026
- Модуль обмена с Айко покрыт тестами: вход в систему, запросы, разбор ошибок · февраль 2026
- Модуль проверен на сервере iiko заказчика: соединение держится, формат запросов и разбор ответов корректны · февраль 2026
Задача
Ресторан доставки хотел показывать меню и принимать заказы прямо в Telegram, чтобы гость листал категории и товары кнопками и при этом диалог оставался чистым и понятным — без простыни из старых сообщений.
Вторым слоем шёл доступ к «Айко» — учётной системе ресторана. В ней ведутся меню, цены и заказы, поэтому боту нужен понятный способ обращаться к ней: брать оттуда ассортимент и передавать туда заказ, а не работать по отдельной копии меню, которую приходится обновлять руками.
Как устроено меню в чате
Главный экран — несколько кнопок основных действий, подписанных обычными словами и различающихся цветом, чтобы было видно, куда идти дальше.
Дальше меню идёт ступенями: от главного экрана к списку категорий, внутри категории — её блюда, у блюда — карточка с составом. Всё это открывается кнопками, текст не набирает никто.
Самое неочевидное в такой схеме — не вывод, а возврат. Бот помнит, на какой ступени человек сейчас смотрит меню, и убирает сообщения, которые этой ступени уже не относятся к делу: когда заходишь внутрь категории, прошлый список категорий с кнопкой возврата не остаётся висеть в чате лишним хвостом. Возвращаешься обратно — и видишь актуальный экран, а не три старых подряд. Из-за этого диалог выглядит как аккуратная витрина, а не как переписка, в которой нужно скроллить вверх.
Как устроен обмен с iiko
Логика витрины повторяет саму Айко: в меню показываются только те группы, которые включены в меню и не являются служебными наборами добавок, удалённые позиции не попадают в чат вовсе. У блюда бывают размеры — каждый со своей ценой и своей картинкой; у позиций есть описание и добавки, которые человек выбирает там, где они заданы в системе. Из выбранного собирается корзина, итог подсчитывается по ценам iiko, заказ уходит как доставочный, а его статус можно проверить в том же диалоге.
Техническую сторону держит отдельный модуль работы с Айко. Вход в систему ресторана делается один раз на всю сессию и дальше переиспользуется: каждый новый вход занимает лицензионный слот, и при входе на каждый запрос лимит кончился бы в первый же день. По завершении работы вход закрывается корректно, а сбои разбираются по-разному — не подошёл доступ, не хватило прав на раздел, ошиблась сама iiko, запрошенной позиции нет в системе. Модуль покрыт тестами, к нему приложены пример подключения и краткая инструкция; проверка проходила на сервере Айко заказчика — соединение держится, запросы уходят в верном формате, ответы система отдаёт и читаются корректно.
Результат
Получился рабочий бот каталога меню и заказов: категории, составы блюд и карточки товаров на кнопках, чистая навигация между ступенями меню. Это пример бота с чёткой логикой, где нейросеть ничего не додумывает, — предсказуемый и дешёвый в поддержке.
По обмену с iiko в проекте есть готовая база интеграции: разобранная документация, рабочий модуль с тестами и проверкой на живом сервере Айко, понятный маршрут «витрина → корзина → доставочный заказ → статус» и выбор, какой путь подключения брать для долгой работы. Подключение iiko к сайту, боту или учётной системе — отдельная услуга.