У меня есть бот, и я использую 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
}
Я попытался выяснить, как мне это устроить, и увидел, что есть возможность получить статус сообщения через веб-крючок, а затем подождать, пока каждое сообщение придет для соответствующего статуса. И только потом отправьте следующее сообщение.
Но хотелось бы узнать, есть ли что-то попроще? Есть ли параметр, который можно добавить к самому сообщению, чтобы сказать, каков его порядок? Или в npm есть что-то, что дает информацию о сообщении и его статусе?