wa_strapi
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

56 строки
1.4 KiB

  1. const messageModel = require("../model/messageModel");
  2. const moment = require("moment");
  3. module.exports = async function (client, sessionId) {
  4. const messages = await strapi.api.message.services.message.getQueueMessage(
  5. sessionId
  6. );
  7. for (const message of messages) {
  8. try {
  9. if (client != null) {
  10. await strapi.api.message.services.message.update(
  11. { id: message.id },
  12. { state: "SENDING" }
  13. );
  14. let send = await messageModel.sendMessage(
  15. client,
  16. message["chat_key"]["chatId"]._serialized,
  17. message["body"]
  18. );
  19. if (send["STATUS"] == 1) {
  20. // console.log(send["DATA"]);
  21. await strapi.api.message.services.message.update(
  22. { id: message.id },
  23. {
  24. state: "SENT",
  25. messageId: send["DATA"]["id"]["id"],
  26. from: send["DATA"]["from"],
  27. isForwarded:
  28. send["DATA"]["isForwarded"] == undefined
  29. ? false
  30. : send["DATA"]["isForwarded"],
  31. timestamp: moment
  32. .unix(send["DATA"]["timestamp"])
  33. .toDate(),
  34. }
  35. );
  36. } else {
  37. await strapi.api.message.services.message.update(
  38. { id: message.id },
  39. {
  40. state: "ERROR",
  41. keterangan: send["DATA"],
  42. }
  43. );
  44. }
  45. }
  46. } catch (e) {
  47. // console.log("err", e);
  48. await strapi.api.message.services.message.update(
  49. { id: message.id },
  50. { state: "ERROR", keterangan: e.message }
  51. );
  52. }
  53. }
  54. };