Standardize bridge send/receive params

This commit is contained in:
Darren Clarke 2024-07-18 11:08:01 +02:00
parent 69abe9bee1
commit c32c26088f
23 changed files with 7042 additions and 1276 deletions

View file

@ -95,10 +95,6 @@ export default class WhatsappService extends Service {
const botDirectory = this.getBotDirectory(botID);
const qrPath = `${botDirectory}/qr.txt`;
fs.writeFileSync(qrPath, qr, "utf8");
const verifiedFile = `${botDirectory}/verified`;
if (fs.existsSync(verifiedFile)) {
fs.rmSync(verifiedFile);
}
} else if (isNewLogin) {
console.log("got new login");
const botDirectory = this.getBotDirectory(botID);
@ -110,7 +106,6 @@ export default class WhatsappService extends Service {
console.log("connection closed due to ", lastDisconnect?.error);
const disconnectStatusCode = (lastDisconnect?.error as any)?.output
?.statusCode;
if (disconnectStatusCode === DisconnectReason.restartRequired) {
console.log("reconnecting after got new login");
await this.createConnection(botID, server, options);
@ -181,26 +176,26 @@ export default class WhatsappService extends Service {
const messageContent = Object.values(message)[0];
let messageType: MediaType;
let attachment: string;
let attachment: string | null | undefined;
let filename: string | null | undefined;
let mimetype: string | null | undefined;
let mimeType: string | null | undefined;
if (isMediaMessage) {
if (audioMessage) {
messageType = "audio";
filename = id + "." + audioMessage.mimetype?.split("/").pop();
mimetype = audioMessage.mimetype;
mimeType = audioMessage.mimetype;
} else if (documentMessage) {
messageType = "document";
filename = documentMessage.fileName;
mimetype = documentMessage.mimetype;
mimeType = documentMessage.mimetype;
} else if (imageMessage) {
messageType = "image";
filename = id + "." + imageMessage.mimetype?.split("/").pop();
mimetype = imageMessage.mimetype;
mimeType = imageMessage.mimetype;
} else if (videoMessage) {
messageType = "video";
filename = id + "." + videoMessage.mimetype?.split("/").pop();
mimetype = videoMessage.mimetype;
mimeType = videoMessage.mimetype;
}
const stream = await downloadContentFromMessage(
@ -217,17 +212,6 @@ export default class WhatsappService extends Service {
// @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,
whatsappBotId: botID,
};
const message =
webMessageInfo?.message?.conversation ??
webMessageInfo?.message?.extendedTextMessage?.text ??
@ -235,8 +219,14 @@ export default class WhatsappService extends Service {
webMessageInfo?.message?.videoMessage?.caption;
const payload = {
to: botID,
from: webMessageInfo.key.remoteJid?.split("@")[0],
messageId: id,
sentAt: new Date((messageTimestamp as number) * 1000).toISOString(),
message,
sender: webMessageInfo.key.remoteJid?.split("@")[0],
attachment,
filename,
mimeType,
};
await fetch(