Как стать автором
Обновить

Комментарии 8

лайк за отсылку к TBBT
дизлайк за slack)))))))

А чем вам слак не угодил?

объективно - отсутствием нативного клиента (электроноподелие не считается десктопным клиентом), тормозной работой (в сравнении с matrix, telegram, dicord, jabber, mattermost), отстутствием возможности поставить selfhosted сервер (иногда это критично)
субъективно - некрасивый и неудобный

Спасибо! Очень интересно!

А каким образом бот был разделен на модули? Буквально на плагины, микросервисы или условно раскиданы по папкам?

У меч тоже есть телеграм бот для офисной техподдержки внутренних пользователей. Сейчас он является монолитом с несколькими модулями внутри и вся логика строго завязана на одном пакете. Сейчас провожу расследование на тему- написать шлюз для go плагинов, чтобы каждый раздел бота был независимым плагином, которые можно было добавлять и удалять независимо от шлюзовой части, всякий раз погружаться в анализ логики обработки сообщений бота.

А зачем вам го плагины? Про разделение на модули, скорее всего подразумевается разделение кода на точку входа, гейтвеи (работа с бд, источниками и тп) и бизнес логику

Вам надо копать в сторону DDD, Clean Architecture

А плагины как по мне решают немного другую задачу

Раньше в коде самого бота переиспользуемыми были только общие куски кода: репозитории для работы с Jira, методы работы с самим слаком, итд. Но при подключении новой команды, им самим приходилось писать формирование своих отчетов.

Сейчас же мы вынесли в общие модули сами отчеты, обработку интерактивных элементов, реакций итд. Так что команда, подключаясь к шелдону, просто указывает, из каких элементов (или блоков) должны состоять их отчеты и когда приходить.

Сейчас у нас порядка 13 различных блоков, и 5 интерактивных элементов, которые можно переиспользовать между командами.

Спасибо за статью! Занимаюсь разработкой ботов уже 6 лет, и хорошо что они в тг, т.к судя по вашей статье прикрепить фотографию к сообщению это попаболь)

Мы на старой работе все сидели в тг и тоже в какой-то момент надоело что-то делать постоянно самому и хотелось это отгрузить на бота

Вообще было много ботов, и если собрать их в одно, то эти боты решали следующие задачи:

  • У нас часто скидывали задачи в чат, и с мобильника было не очень удобно просматривать их в браузере, по этому он показывал краткое превью задачи (и по кнопке разворачивал полный таск с комментариями) если кто-то кидал ссылку, и позволял делать "быстрые" опции с ней

  • У нас был мониторинг обычный, но увы не было мониторинга версий, по этому он стал следить за выходом релизов каких-то групп сервисов связанных вместе и показывал понизилась версия или повысилась и писал об этом в чат. Было удобно потому что не все процессы были идеально в этом плане отлажены, и порой случалось так что зависимая часть сервиса выкатывалась а ты не в курсе :(

  • можно было "подписаться" на уведомления о выходе релиза у сервиса:) Этим пользовались те, у кого не было доступа в систему релизов, но им хотелось узнавать о выходе, как правило, это были менеджеры или тестеры

  • Через бот можно было с мобильника послать запрос на внутрисетевой ресурс и получить ответ :) Узкий кейс, но пару раз пригождалось

  • Как и у вас,бот напоминал о подвисших тасках тегируя нужных людей, и в целом можно было попросить о чем-то напомнить

  • Помимо релиза версий еще и следил за SSL и доменами, у нас уже был простенький внутренний мониторинг этого, но постоянно нужно было напоминать об этом куда-то еще, и бот в тг показался отличным вариантом

  • Еще один супер узкий кейс - это мониторинг апи тестами. Все по той же причине плохих процессов пришлось докручивать и это, помогало понять что какой-то релиз сломал апи, если кто-то невнимательный плохо проверил или пропустил это в релиз, а сами тесты описывались как json схема с правилами)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий