【发布时间】:2020-08-11 23:55:57
【问题描述】:
我有一个机器人,我使用 smooch 在 whatsapp 上运行该机器人。
我为此使用“smooch-core”npm。
当我一个接一个地发送大量消息时,有时消息在whatsapp中以相反的顺序显示。
这里是发送消息的代码:
for (const dataMessage of data) {
await sendMessage(dataMessage);
}
function sendMessage(dataMessage) {
return new Promise((resolve, reject) => {
smoochClient.appUsers.sendMessage({
appId: xxxx,
userId: userId,
message: dataMessage
}).then((response) => {
console.log('response: ' + JSON.stringify(response), 'green');
resolve();
}).catch(err => {
console.log('error: ' + JSON.stringify(err), 'red');
reject(err);
});
});
所有dataMessage看起来像这样:
{
role: "appMaker",
type: "text",
text: txt
}
我试图查看如何安排它,我看到有一个选项可以从 webhook 获取消息状态,然后等待每条消息到达适当的状态。然后才发送以下消息。
但我想知道有没有更简单的方法?是否有一个参数可以添加到消息本身来说明它的顺序是什么?或者在 npm 中有什么东西可以提供有关消息及其状态的信息?
【问题讨论】:
标签: node.js npm message whatsapp smooch