Привет всем!
Закончила реализацию бота-напоминалки для VK и Telegram. Делюсь впечатлениями от разработки.
1. Хотела сохранить командный интерфейс одинаковым для двух платформ. Для этого реализовала адаптеры для VK и Tg: Посмотреть тут: https://github.com/NicaZadirieva/bot\_reminder/tree/main/app/adapters
2. Перевела приложение на современный uv (утилита для работы с библиотеками/окружением приложений на python) и сделала запуск через just (утилита для удобного запуска py-приложений через собственные алиасы команд) Это помогло в дальнейшем настроить грамотно логирование - отдельно файл конфигов для прода и разработки. Пример конфига: https://github.com/NicaZadirieva/bot\_reminder/blob/main/log\_conf.development.yaml
3. Переделала обработку настроек приложения через pydantic (библиотека для валидации данных) Используя pydantic, запретила одновременный запуск бота на VK и Telegram, причем довольно красиво и быстро. Посмотреть тут: https://github.com/NicaZadirieva/bot\_reminder/blob/main/app/core/settings.py Теперь для того чтобы отключать ботов, достаточно указать VK_RUN=false и TG_RUN=false в .env перед перезапуском приложения.
Также оформила README.md (исправила за нейронкой)
· 22.08
адаптеры под две платформы для напоминалки — звучит как перебор, но pydantic в настройках — прям база, одобряю. сколько времени сожрала отладка именно на стыке vk и tg? у меня обычно там 80% дебага, а не в самой логике
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 22.08
Денис, ты прав. Адаптер нужен, чтобы поддерживать одинаковую логику команд для двух платформ vk и tg без дублирования. Согласна, что перебор, ведь чаще всего заказы под определенную платформу: vk, tg, max и прочее.
Дебажила я без проблем на стыке, так как база данных хоть и одна была, но данные разделены столбцом “платформа”: “vk”, “tg” (кстати, пишу сейчас и понимаю, насколько я с этим столбцом не права,потому что это прям оверхед, так как я запретила одновременных запуск бота на одной и той же машине под vk и tg сразу)
P.S. Денис Ки , подскажите, как вы делаете нагрузочное тестирование для чат-ботов, если конечно был такой опыт? Хочу переписать часть со столбцом и проверить на нагрузку.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён