Набор для создания Slack-бота 🤖

Резюме: это конструктор интеграций для Slack-бота.

Он призван стать основой для создания более функционального бота, который может интегрироваться с вашей платформой Discourse и позволяет управлять им, написав простой код на Ruby.

На данном этапе проект находится в стадии экспериментов!

Если вы хотите, чтобы я помог вам создать бота для конкретных задач, вы можете нанять меня. В противном случае — сделайте форк репозитория и попробуйте сами!

Примечание: существует официальный инструмент для базовой интеграции с чатом Slack: Discourse Chat Integrations. Если этот плагин удовлетворяет вашим потребностям, используйте его — он официально поддерживается основной командой. Цель данного плагина — предоставить платформу для создания индивидуального бота.

:link: GitHub: GitHub - merefield/discourse-slack-bot: Get your Discourse to run a bot on Slack and use it to integrate the two systems · GitHub https://github.com/merefield/discourse-slack-bot
:arrow_right: Установка: следуйте руководству по установке плагинов.

Возможности

Аналогично, но менее развитому, моему Discord-боту, этот проект предлагает ряд функций «из коробки».

На данный момент возможности ограничены следующим:

  • синхронизация чата — копирование сообщений из Slack в тему на Discourse;
  • команда для копирования истории чата в Discourse (@botname copyhist <количество сообщений>).

Настройка

Параметры настройки просты:

Также необходимо настроить Open ID Connect для работы со Slack:

Обратите внимание:

  • Используется классический бот Slack, который проще в настройке (права доступа очень простые)

Планы на будущее

В настоящее время поддерживаются только классические боты Slack. Причина этого в том, что проект использует существующие библиотеки API на базе Gem, которые на данном этапе полностью поддерживают классические боты в необходимом для интеграции с Discourse виде. Переход на новый тип ботов потребует значительной доработки библиотеки API, что не входило в приоритеты данной MVP-версии. В отдалённом будущем классические боты будут выведены из эксплуатации. Надеемся, что мы сможем заняться обновлением API до этого момента, особенно если будет проявлен интерес.

Благодарности:

Команда Discourse предоставила финансирование для этой MVP-версии, спасибо! :pray: @erlend_sh , @markvanlan @david

9 лайков

Я планирую заняться этим в среду. Вот чего я хочу достичь:

  • Уведомление в Slack, когда пользователь публикует сообщение впервые
  • Уведомление в Slack, если на тему не было ответа в течение определённого времени

Прежде всего, выполнимы ли эти задачи? Если да, есть ли у вас какие-либо ссылки или материалы, которые помогут мне это реализовать?

Спасибо, Джо :slight_smile:

1 лайк

Джо, у меня нет ресурсов для оценки этого вне рамок контракта, но я не думаю, что это будет слишком сложно.

Только один момент: это идёт вразрез с тем, что сейчас реализовано, имейте это в виду.

Надеюсь, метод аутентификации и базовый API не изменились с момента создания.

Я определённо приму PR с этими дополнениями.

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

Удачи!