Signal API updates

This commit is contained in:
Darren Clarke 2024-06-05 15:12:48 +02:00
parent 83653ef23b
commit c729a46a0c
25 changed files with 501 additions and 279 deletions

View file

@ -107,7 +107,7 @@ export default class WhatsappService extends Service {
} else if (connectionState === "open") {
console.log("opened connection");
} else if (connectionState === "close") {
console.log("connection closed due to ", lastDisconnect.error);
console.log("connection closed due to ", lastDisconnect?.error);
const disconnectStatusCode = (lastDisconnect?.error as any)?.output
?.statusCode;
@ -182,12 +182,12 @@ export default class WhatsappService extends Service {
const messageContent = Object.values(message)[0];
let messageType: MediaType;
let attachment: string;
let filename: string;
let mimetype: string;
let filename: string | null | undefined;
let mimetype: string | null | undefined;
if (isMediaMessage) {
if (audioMessage) {
messageType = "audio";
filename = id + "." + audioMessage.mimetype.split("/").pop();
filename = id + "." + audioMessage.mimetype?.split("/").pop();
mimetype = audioMessage.mimetype;
} else if (documentMessage) {
messageType = "document";
@ -195,16 +195,17 @@ export default class WhatsappService extends Service {
mimetype = documentMessage.mimetype;
} else if (imageMessage) {
messageType = "image";
filename = id + "." + imageMessage.mimetype.split("/").pop();
filename = id + "." + imageMessage.mimetype?.split("/").pop();
mimetype = imageMessage.mimetype;
} else if (videoMessage) {
messageType = "video";
filename = id + "." + videoMessage.mimetype.split("/").pop();
filename = id + "." + videoMessage.mimetype?.split("/").pop();
mimetype = videoMessage.mimetype;
}
const stream = await downloadContentFromMessage(
messageContent,
// @ts-ignore
messageType,
);
let buffer = Buffer.from([]);
@ -214,11 +215,13 @@ export default class WhatsappService extends Service {
attachment = buffer.toString("base64");
}
// @ts-ignore
if (messageContent || attachment) {
const receivedMessage = {
waMessageId: id,
waMessage: JSON.stringify(webMessageInfo),
waTimestamp: new Date((messageTimestamp as number) * 1000),
// @ts-ignore
attachment,
filename,
mimetype,

View file

@ -1,5 +1,5 @@
{
"extends": "@link-stack/typescript-config",
"extends": "@link-stack/typescript-config/tsconfig.node.json",
"compilerOptions": {
"module": "commonjs",
"target": "es2018",