Chatbot 消息不会显示在 Facebook Messenger 聊天头像中

Chatbot messages do not show up in Facebook Messenger chat heads

我正在使用 Microsoft Bot Framework 为 Facebook Messenger 开发聊天机器人。机器人向用户发送主动消息(提醒)。不幸的是,出于某种原因,消息永远不会出现在聊天头(用于对话的 Android 小部件)中,如果以前没有出现在屏幕上,也不会弹出聊天头。其他聊天机器人确实会发生这种情况(例如 Jarvis)。

这是发送提醒的代码:

Reminder.find({ next_reminder: { $lte: new Date() } }, (err, res) => {
        if (err !== null) {
            return console.error(err);
        }

        res.forEach(reminder => {
            // Build a notification message and address it to user who created the reminder           

            const msg = new builder.Message().text('...');

            bot.beginDialog(reminder.user_address, '*:/sendReminder', {message: msg, nudnik: nudnik});

            });
        });
    };
};

我也试过bot.send(msg, () => ....)session.beginDialog('sendReminder', msg)。但是,当收到消息时,Messenger 仍然没有任何指示。这里会出什么问题?

好的,我明白了!显然,Facebook 消息的默认通知设置是不显示通知。要更改它,在 NodeJS 中,您应该使用以下代码将特定于频道的数据添加到消息中:

msg = msg.sourceEvent({
                    facebook:
                        {notification_type: 'REGULAR'}
                });

您可以在 Microsoft 的官方文档中发现更多信息 (here and here) and also in this Github discussion.