Бот Slack открывает сообщение с помощью группы

#slack-api

#slack-api

Вопрос:

В настоящее время я использую метод 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. Насколько мне известно, невозможно отправить одно сообщение двум разным пользователям. Хотя есть мысль — как насчет отправки одного и того же сообщения двум разным пользователям независимо ?

2. Да, вы можете отправлять сообщения группе людей. Оно называется Group DM. Подробности смотрите в моем ответе ниже.

Ответ №1:

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

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

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

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