Комментарии 8
лайк за отсылку к TBBT
дизлайк за slack)))))))
А чем вам слак не угодил?
Спасибо! Очень интересно!
А каким образом бот был разделен на модули? Буквально на плагины, микросервисы или условно раскиданы по папкам?
У меч тоже есть телеграм бот для офисной техподдержки внутренних пользователей. Сейчас он является монолитом с несколькими модулями внутри и вся логика строго завязана на одном пакете. Сейчас провожу расследование на тему- написать шлюз для go плагинов, чтобы каждый раздел бота был независимым плагином, которые можно было добавлять и удалять независимо от шлюзовой части, всякий раз погружаться в анализ логики обработки сообщений бота.
А зачем вам го плагины? Про разделение на модули, скорее всего подразумевается разделение кода на точку входа, гейтвеи (работа с бд, источниками и тп) и бизнес логику
Вам надо копать в сторону DDD, Clean Architecture
А плагины как по мне решают немного другую задачу
Раньше в коде самого бота переиспользуемыми были только общие куски кода: репозитории для работы с Jira, методы работы с самим слаком, итд. Но при подключении новой команды, им самим приходилось писать формирование своих отчетов.
Сейчас же мы вынесли в общие модули сами отчеты, обработку интерактивных элементов, реакций итд. Так что команда, подключаясь к шелдону, просто указывает, из каких элементов (или блоков) должны состоять их отчеты и когда приходить.
Сейчас у нас порядка 13 различных блоков, и 5 интерактивных элементов, которые можно переиспользовать между командами.
Спасибо за статью! Занимаюсь разработкой ботов уже 6 лет, и хорошо что они в тг, т.к судя по вашей статье прикрепить фотографию к сообщению это попаболь)
Мы на старой работе все сидели в тг и тоже в какой-то момент надоело что-то делать постоянно самому и хотелось это отгрузить на бота
Вообще было много ботов, и если собрать их в одно, то эти боты решали следующие задачи:
У нас часто скидывали задачи в чат, и с мобильника было не очень удобно просматривать их в браузере, по этому он показывал краткое превью задачи (и по кнопке разворачивал полный таск с комментариями) если кто-то кидал ссылку, и позволял делать "быстрые" опции с ней
У нас был мониторинг обычный, но увы не было мониторинга версий, по этому он стал следить за выходом релизов каких-то групп сервисов связанных вместе и показывал понизилась версия или повысилась и писал об этом в чат. Было удобно потому что не все процессы были идеально в этом плане отлажены, и порой случалось так что зависимая часть сервиса выкатывалась а ты не в курсе :(
можно было "подписаться" на уведомления о выходе релиза у сервиса:) Этим пользовались те, у кого не было доступа в систему релизов, но им хотелось узнавать о выходе, как правило, это были менеджеры или тестеры
Через бот можно было с мобильника послать запрос на внутрисетевой ресурс и получить ответ :) Узкий кейс, но пару раз пригождалось
Как и у вас,бот напоминал о подвисших тасках тегируя нужных людей, и в целом можно было попросить о чем-то напомнить
Помимо релиза версий еще и следил за SSL и доменами, у нас уже был простенький внутренний мониторинг этого, но постоянно нужно было напоминать об этом куда-то еще, и бот в тг показался отличным вариантом
Еще один супер узкий кейс - это мониторинг апи тестами. Все по той же причине плохих процессов пришлось докручивать и это, помогало понять что какой-то релиз сломал апи, если кто-то невнимательный плохо проверил или пропустил это в релиз, а сами тесты описывались как json схема с правилами)
Sheldon: бот для автоматизации командной рутины