我正在使用 Slack API 从 Slack 工作区获取链接。它的工作原理是在发布消息时触发多次。每次。这是我的代码:

exports.slack = (req , res) => {
var message = req.body;

if (message.challenge) {
     res.send(message.challenge);

} else if (message.event.type == 'message_received') {
    if (message.event.text.includes('<')) {
        // Link
        console.log('NEW LINK');

        var link = message.event.text.slice(1, -1);

        getArticleInfo(link, (error, body) => {
            if (error)
                console.error(error);
            else {
                newArticleToDB(body , link, req);
            }
        });
    }
  }
}

每次发布新消息时,我都会多次收到“新链接”日志。任何想法在哪里寻找这个问题?

谢谢。

最佳答案

我添加了 res.sendStatus(200),现在一切都按预期工作。这是代码:

exports.slack = (req , res) => {
var message = req.body;
res.sendStatus(200);

if (message.challenge) {
    res.send(message.challenge);

} else if (message.event.type == 'message' && message.event.subtype != 'message_changed') {
    if (message.event.text && message.event.text.includes('<')) {
        // Link
        console.log('NEW LINK');

        var link = message.event.text.slice(1, -1);

        getArticleInfo(link, (error, body) => {
            if (error)
                console.error(error);
            else {
                newArticleToDB(body , link, req);
            }
        });
    }
}

关于javascript - 松弛事件api由一条消息多次触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50715387/

10-13 06:47