Slack Bot открыть сообщение с группой - PullRequest
1 голос
/ 25 марта 2019

В настоящее время я использую метод webhook для моего «бота» для отправки сообщений членам команды.

Пока это здорово:

$curl = curl_init('https://hooks.slack.com/services/XXX/YYY/ZZZ');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($message));
$json_response = curl_exec($curl);

Сообщения кодируются в JSON согласноhttps://api.slack.com/docs/message-attachments

Мы используем это для отправки отчетов об исключениях отдельным лицам.Для некоторых отчетов об исключениях требуется, чтобы администратор моего проекта следил.(Исключением может быть «Вы не заполнили свой календарь на следующую неделю».)

Я считаю, что это может улучшить подотчетность, если вместо того, чтобы робот отправлял сообщения непосредственно члену команды, робот мог бы отправитьсообщение для члена команды и администратора проекта.

Для прямого сообщения мы можем использовать

'channel' => '@' . $row['responsible_person'],

, но очевидное

'channel' => '@' . $row['responsible_person'] . ',@projectadmin',

не работает.

Возможно ли это?

1 Ответ

0 голосов
/ 26 марта 2019

Да, вы можете отправить сообщение нескольким пользователям одновременно с Slack. Он называет «прямым сообщением нескольких людей» или Group DM или MPIM, и вот как это работает:

  1. Откройте новый канал MPIM с помощью messages.open и предоставьте идентификаторы пользователей со свойством users. Это вернет идентификатор канала MPIM, а также создаст канал при необходимости.
  2. Используйте идентификатор канала, чтобы публиковать свои сообщения так же, как и на любом другом канале.

Обратите внимание, что этот канал будет состоять из приглашенных вами участников и вашего бота.

См. Также здесь для обзора всех типов каналов в Slack.

...