Небольшие компании часто ведут поддержку через Telegram-бота: клиент пишет боту, сообщение приходит в чат сотрудников, те отвечают. Но простой бот не говорит клиенту ночью, когда ему ответят, сотрудники набирают одни и те же ответы вручную, а руководитель не видит, сколько обращений и как быстро на них отвечают.
За основу взял известный открытый бот обратной связи MasterGroosha/telegram-feedback-bot (185 звёзд на GitHub) и сделал из него небольшую службу поддержки.
Добавил рабочее время с часовым поясом: ночью и в выходные клиент сразу получает «ответим завтра в 09:00» или «в понедельник в 09:00» — не на каждое сообщение, а не чаще раза в несколько часов. Сделал шаблоны быстрых ответов: сотрудник отвечает на сообщение клиента командой «/t цены», и уходит готовый текст.
Добавил журнал обращений в SQLite и команды для сотрудников: /waiting — кто ждёт ответа и сколько, /stats — обращения и среднее время ответа за сутки, неделю и месяц, /export — выгрузка в Excel с листом обращений и сводкой по дням. Блокировки спамеров теперь сохраняются, а не сбрасываются при перезапуске.
Нашёл и исправил ошибки оригинала: фото с подписью, где есть знак «<» или «&», терялось молча — не доходило ни сотрудникам, ни клиенту; с файлом настроек из примера бот вообще не запускался; зависимости не устанавливались на актуальный Python. 33 автотеста через настоящий диспетчер aiogram с управляемыми часами.
Бот, который можно поставить в поддержку магазина или студии: клиенты всегда понимают, когда им ответят, сотрудники отвечают на частые вопросы одной командой, а руководитель видит, кто ждёт ответа, как быстро работает поддержка, и получает отчёт в Excel.
Проект — открытый форк с сохранением лицензии MIT и указанием автора оригинала; в README подробно расписано, что добавлено и что исправлено.