Как отправить прямое сообщение от бота пользователю в Mattermost - PullRequest
0 голосов
/ 24 апреля 2020

до сих пор я когда-либо использовал бота только для отправки сообщений на канал. Вы выглядели так.

{
  "channel_id": "my-id",
  "message": "Hello Channel"
}

Как я могу отправить простое прямое сообщение пользователю? URL для прямого Шанель: "/ api / v4 / channel / direct" правильно? так что попробуй отправить. в ответ я получаю это "Опечатка? Вы пропускаете team_id или user_id как часть URL?", все в порядке, потому что я не устанавливаю получателя User. Но сейчас? На Github я только что прочитал, мне нужно установить 2 идентификатора? Мой идентификатор и идентификатор получателя, верно? Как я могу получить идентификатор от другого пользователя?

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Вам необходимо использовать специальную форму канала с подчеркиванием, например, X_Y, где X и Y - идентификаторы пользователя. Идентификаторы пользователей не совпадают с именами пользователей.

payload={"channel": "6w41z1q367dujfaxr1nrykr5oc__94dzjnkd8igafdraw66syi1cde", "text": "Hello, this is some text\nThis is more text. :tada:"}

Подробнее см. На странице часто задаваемых вопросов https://docs.mattermost.com/developer/webhooks-incoming.html

0 голосов
/ 01 мая 2020

Вот еще один способ, у меня было это решение

Сначала проверьте, есть ли у бота правильные разрешения !! Это была моя ошибка

Затем пошлите Почтовый запрос на url + "/ api / v4 / channel / direct Отправить токен носителя в заголовке и в качестве тела Json

["bot ID", "reciever ID"]

Сейчас Вы должны отправить второй запрос на публикацию. См. здесь: "https://api.mattermost.com/#tag / posts / paths / ~ 1posts / post " Это то же самое, что и сообщение на канал.

Как channel_id вы берете "id", который вы получили от предыдущего запроса. Короткий путь: URL "/ api / v4 / posts" + токен на предъявителя в заголовке Это Json в теле:

{
  "channel_id": "the return id from the first request",
  "message": "Hello Dude, how are you!"
}
...