我创建了一个松弛的应用程序。它是一个聊天机器人。我把它命名为jsbot。
我的机器人的工作:
messages
到我的bot
bot
接受message
并转到dialogflow (api.ai)
dialogflow
会根据action
向我返回message
。 key
找到与action
匹配的database
,而database
找回与匹配value
对应的key
。 value
发送给whomever messaged me
。问题:
目前我正在向slack incoming webhook
发送最终消息,但它运行正常。现在我的slackteam member
之一安装了我的app
。
他向我的应用发送消息。我的应用程序响应了我而不是我希望它能回复我的朋友。
代码:
以下是我的机器人响应的代码:
request({
uri: 'https://hooks.slack.com/services/XXX',
method: 'POST',
json: message
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log('Successfully sent message');
} else {
console.error(error);
}
});
我认为每个用户对incoming-webhook
都有不同的uri。因此,我正在搜索将消息发送给特定用户的URL。当用户请求我时,我保存了用户,因此我可以向同一个用户发送消息。
有人知道slack webhook的网址,它允许我通过user_id发送消息吗?
答案 0 :(得分:0)
Incoming webhooks对Slack的工作方式略有不同。您不需要或不希望每个用户使用单独的webhook URL。相反,您可以使用相同的传入webhook URL将消息发送给不同的用户。
您需要做的就是将接收用户的用户ID作为频道参数提供(从而覆盖默认频道)。
curl -X POST -H 'Content-type: application/json' --data '{"channel": "U12345678", "text":"This is a line of text.\nAnd this is another one."}' https://hooks.slack.com/services/XXXXX