1

到目前为止,我只使用该机器人向频道发送消息。你看起来像这样。

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

如何向用户发送简单的直接消息?直接香奈儿的网址是:“/api/v4/channel/direct”对吗?所以尝试发送它。作为回复,我得到这个“错字?您是否缺少作为 url 的一部分的 team_id 或 user_id?” 没关系,因为我没有设置接收者用户。但现在?在 Github 我刚刚读到我需要设置 2 个 ID?我的身份证和收件人的身份证对吗?我如何从另一个用户那里获取 ID?

4

2 回答 2

1

您需要使用带有下划线的特殊频道形式,例如 X_Y,其中 X 和 Y 是用户 ID。用户 ID 与用户名不同。

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

您可以查看常见问题页面了解详细信息 https://docs.mattermost.com/developer/webhooks-incoming.html

于 2020-04-30T13:21:48.330 回答
1

这是另一种方式,我有这个解决方案

首先检查机器人是否具有正确的权限!!这是我的错误

然后发送一个 Post Request 到 url+"/api/v4/channels/direct 在 header 中发送 Bearer Token 并作为一个 Json 的 body

["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!"
}
于 2020-05-01T16:56:42.827 回答