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.
我正在使用 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.