Общая суть проста - приложение прослойка подключается к серверу Slack и ждет сообщений. Затем транслирует их в 1С и возвращает ответ пользователю. Отправлять сообщения из 1С можно и напрямую, минуя утилиту. Хотя на эту тему публикаций достаточно, но в демо базе функции есть.
Итак, как настраивать. В архиве есть slackbot.exe и config.json. Они должны быть в одном каталоге. В конфиге нужно указать токен, полученный на странице https://my.slack.com/services/new/bot . Также нужно указать адрес http-сервиса, настроенного в 1С и параметры доступа к нему. И затем запустить slackbot.exe. Он просто отправляет POST запросы с параметрами user, message и email. Для полноценной работы можно с помощью сторонних утилит запускать как сервис. Прослойка написана на Go, исходник простой и лежит на https://github.com/nikepan/go-rtm2http-slackbot. В архиве лежат x86 версии под windows и linux.
После этого можно отправить боту команду "бабло" (без слэша и кавычек). Пример http-сервиса есть в приложенном dt файле. Там обрабатываются команды "бабло", "проекты" и "документы". Также есть возможность в пользовательсоком режиме настроить ответы на другие сообщения. Роутинг сообщений для простоты реализован прямо в модуле http-сервиса. В демо-базе пользователи ищутся по адресу электронной почты, и если не находятся, то по идентификатору Slack.
// Обработчик команды бабло
Функция ВывестиБабло(Сотрудник) Экспорт
ТекстОтвета = "Привет, " + ОбщегоНазначения2.ПолучитьИмяФизлица(Сотрудник) + Символы.ВК;
ТекстОтвета = ТекстОтвета + "Ты нам ничего не должен)";
Возврат ТекстОтвета;
КонецФункции
Обработка "Тест Слак" демонстрирует отправку сообщений напрямую из 1С. Содержит всего несколько функций:
- Отправка сообщения пользователю с указанным адресом;
- Получение сообщений чатов с пользователями;
- Заполнение идентификаторов пользователей и их каналов для более быстрой прямой отправки из 1С (чтобы не запрашивать их каждый раз).
Если в базе используется авторизация, то, как обычно, делаем пользователя на латиннице с ролью "слакбот" и указываем параметры входа в прослойке. При интеграции в пути к базе скорее всего нужно будет только заменить db на имя базы, если не менять сервис.
- ТокенСлак - нужна для отправки сообщений прямо из 1С. Пример есть в обработке ТестSlack.
- ИмяСлак - то, как бот будет себя называть.
- ИдСлак - нужно при ручном заборе сообщений в обработке ТестSlack, чтобы не показывать сообщения бота.
Разработку делал год назад как черновик, с тех пор она успешно работает. А я год 1С почти не занимался. Недавно, чуть причесал прослойку, и решил выложить комплекс здесь. Вдруг кому надо. В базе может что-то не работать, так как вырезал из рабочей и полностью не проверял. Но на сообщения отвечает. Если что, подскажу и поправлю.