jefry преди 4 години
родител
ревизия
525730480d
променени са 4 файла, в които са добавени 78 реда и са изтрити 48 реда
  1. +5
    -1
      api/message/models/message.settings.json
  2. +4
    -0
      api/session-data/models/session-data.settings.json
  3. +66
    -43
      config/functions/cron.js
  4. +3
    -4
      model/messageModel.js

+ 5
- 1
api/message/models/message.settings.json Целия файл

@@ -14,7 +14,7 @@
"to": {
"type": "string",
"regex": "\\+?([ -]?\\d+)+|\\(\\d+\\)([ -]\\d+)",
"required": true
"required": false
},
"attachment": {
"collection": "file",
@@ -52,6 +52,10 @@
},
"timestamp": {
"type": "datetime"
},
"session_datum_key": {
"model": "session-data",
"via": "message"
}
}
}

+ 4
- 0
api/session-data/models/session-data.settings.json Целия файл

@@ -32,6 +32,10 @@
"phonenumber": {
"type": "string",
"required": true
},
"message": {
"via": "session_datum_key",
"model": "message"
}
}
}

+ 66
- 43
config/functions/cron.js Целия файл

@@ -78,49 +78,72 @@ module.exports = {
if (!sessionsValid) {
delete clients[parseInt(i)];
} else {
// const messages = await strapi.api.message.services.message.find(
// {
// _sort: "session_datum_key:desc",
// state: "QUEUE",
// session_datum_key: i,
// }
// );
// for (const message of messages) {
// // console.log(clients[i] != null, i, clients);
// try {
// if (clients[i] != null) {
// await strapi.api.message.services.message.update(
// { id: message.id },
// { state: "SENDING" }
// );
// let send = await messageModel.sendMessage(
// clients[i],
// message["send_to"],
// message["raw_text"]
// );
// // console.log(send);
// if (send["STATUS"] == 1) {
// await strapi.api.message.services.message.update(
// { id: message.id },
// { state: "SENT" }
// );
// } else {
// await strapi.api.message.services.message.update(
// { id: message.id },
// {
// state: "ERROR",
// keterangan: send["DATA"],
// }
// );
// }
// }
// } catch (e) {
// await strapi.api.message.services.message.update(
// { id: message.id },
// { state: "ERROR", keterangan: e.message }
// );
// }
// }
const messages = await strapi.api.message.services.message.find(
{
_sort: "session_datum_key:desc",
state: "QUEUE",
session_datum_key: parseInt(i),
}
);
// console.log(messages);
for (const message of messages) {
// console.log(clients[i] != null, i, clients);
try {
if (clients[i] != null) {
await strapi.api.message.services.message.update(
{ id: message.id },
{ state: "SENDING" }
);
let send = await messageModel.sendMessage(
clients[i],
message["chat_key"]["chatId"]
._serialized,
message["body"]
);
if (send["STATUS"] == 1) {
// console.log(send["DATA"]);
await strapi.api.message.services.message.update(
{ id: message.id },
{
state: "SENT",
messageId:
send["DATA"]["id"]["id"],
from: send["DATA"]["from"],
isForwarded:
send["DATA"][
"isForwarded"
] == undefined
? false
: send["DATA"][
"isForwarded"
],
timestamp: moment
.unix(
send["DATA"][
"timestamp"
]
)
.toDate(),
}
);
} else {
await strapi.api.message.services.message.update(
{ id: message.id },
{
state: "ERROR",
keterangan: send["DATA"],
}
);
}
}
} catch (e) {
// console.log("err", e);
await strapi.api.message.services.message.update(
{ id: message.id },
{ state: "ERROR", keterangan: e.message }
);
}
}
await utils.refreshChat(clients[i], parseInt(i));
}
}


+ 3
- 4
model/messageModel.js Целия файл

@@ -146,13 +146,12 @@ var sendMessage = async function (client, phone_number, textMessage) {
if (!client.info) {
throw { message: "Client Is Not Ready !" };
}
var phoneNumber = reformatMobilePhone(phone_number);
// var phoneNumber = reformatMobilePhone(phone_number);
// var state = await client.isRegisteredUser(phoneNumber);
// console.log(state);

await client.sendMessage(phoneNumber, textMessage);

return { STATUS: 1, DATA: "Messages Succesfully send !" };
var sending = await client.sendMessage(phone_number, textMessage);
return { STATUS: 1, DATA: sending };
} catch (e) {
console.log(e);
return { STATUS: 0, DATA: e.message };


Зареждане…
Отказ
Запис