metamigo-api - fix linter errors in signal service
This commit is contained in:
parent
ab7844827e
commit
594bc23583
2 changed files with 32 additions and 29 deletions
|
|
@ -3,6 +3,7 @@ import { Service } from "@hapipal/schmervice";
|
|||
import { promises as fs } from "fs";
|
||||
import {
|
||||
SignaldAPI,
|
||||
SendResponsev1,
|
||||
IncomingMessagev1,
|
||||
ClientMessageWrapperv1,
|
||||
} from "@digiresilience/node-signald";
|
||||
|
|
@ -118,17 +119,21 @@ export default class SignaldService extends Service {
|
|||
return db.signalBots.findBy({ token });
|
||||
}
|
||||
|
||||
async register(bot: Bot, code: string): Promise<any> {
|
||||
async register(bot: Bot, code: string): Promise<void> {
|
||||
const address = await this.signald.verify(bot.phoneNumber, code);
|
||||
this.server.db().signalBots.updateAuthInfo(bot, address.address.uuid);
|
||||
}
|
||||
|
||||
async send(bot: Bot, phoneNumber: string, message: string): Promise<any> {
|
||||
async send(
|
||||
bot: Bot,
|
||||
phoneNumber: string,
|
||||
message: string
|
||||
): Promise<SendResponsev1> {
|
||||
this.server.logger.debug(
|
||||
{ us: bot.phoneNumber, then: phoneNumber, message },
|
||||
{ us: bot.phoneNumber, them: phoneNumber, message },
|
||||
"signald send"
|
||||
);
|
||||
return await this.signald.send(
|
||||
return this.signald.send(
|
||||
bot.phoneNumber,
|
||||
{ number: phoneNumber },
|
||||
undefined,
|
||||
|
|
@ -136,8 +141,8 @@ export default class SignaldService extends Service {
|
|||
);
|
||||
}
|
||||
|
||||
async resetSession(bot: Bot, phoneNumber: string): Promise<any> {
|
||||
return await this.signald.resetSession(bot.phoneNumber, {
|
||||
async resetSession(bot: Bot, phoneNumber: string): Promise<SendResponsev1> {
|
||||
return this.signald.resetSession(bot.phoneNumber, {
|
||||
number: phoneNumber,
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,14 +136,13 @@ export default class WhatsappService extends Service {
|
|||
}
|
||||
|
||||
private async queueMessage(bot: Bot, webMessageInfo: proto.WebMessageInfo) {
|
||||
const { key: { id, fromMe }, message, messageTimestamp } = webMessageInfo;
|
||||
|
||||
if (!fromMe && message) {
|
||||
const isMediaMessage =
|
||||
message.audioMessage ||
|
||||
message.documentMessage ||
|
||||
message.imageMessage ||
|
||||
message.videoMessage;
|
||||
const { key: { id, fromMe, remoteJid }, message, messageTimestamp } = webMessageInfo;
|
||||
if (!fromMe && message && remoteJid !== "status@broadcast") {
|
||||
const { audioMessage, documentMessage, imageMessage, videoMessage } = message;
|
||||
const isMediaMessage = audioMessage ||
|
||||
documentMessage ||
|
||||
imageMessage ||
|
||||
videoMessage;
|
||||
|
||||
const messageContent = Object.values(message)[0]
|
||||
let messageType: MediaType;
|
||||
|
|
@ -151,25 +150,25 @@ export default class WhatsappService extends Service {
|
|||
let filename: string;
|
||||
let mimetype: string;
|
||||
if (isMediaMessage) {
|
||||
if (message.audioMessage) {
|
||||
if (audioMessage) {
|
||||
messageType = "audio";
|
||||
filename =
|
||||
id + "." + message.audioMessage.mimetype.split("/").pop();
|
||||
mimetype = message.audioMessage.mimetype;
|
||||
} else if (message.documentMessage) {
|
||||
id + "." + audioMessage.mimetype.split("/").pop();
|
||||
mimetype = audioMessage.mimetype;
|
||||
} else if (documentMessage) {
|
||||
messageType = "document";
|
||||
filename = message.documentMessage.fileName;
|
||||
mimetype = message.documentMessage.mimetype;
|
||||
} else if (message.imageMessage) {
|
||||
filename = documentMessage.fileName;
|
||||
mimetype = documentMessage.mimetype;
|
||||
} else if (imageMessage) {
|
||||
messageType = "image";
|
||||
filename =
|
||||
id + "." + message.imageMessage.mimetype.split("/").pop();
|
||||
mimetype = message.imageMessage.mimetype;
|
||||
} else if (message.videoMessage) {
|
||||
id + "." + imageMessage.mimetype.split("/").pop();
|
||||
mimetype = imageMessage.mimetype;
|
||||
} else if (videoMessage) {
|
||||
messageType = "video"
|
||||
filename =
|
||||
id + "." + message.videoMessage.mimetype.split("/").pop();
|
||||
mimetype = message.videoMessage.mimetype;
|
||||
id + "." + videoMessage.mimetype.split("/").pop();
|
||||
mimetype = videoMessage.mimetype;
|
||||
}
|
||||
|
||||
const stream = await downloadContentFromMessage(messageContent, messageType)
|
||||
|
|
@ -199,7 +198,7 @@ export default class WhatsappService extends Service {
|
|||
}
|
||||
}
|
||||
|
||||
private async queueUnreadMessages(bot: Bot, messages: any[]) {
|
||||
private async queueUnreadMessages(bot: Bot, messages: proto.IWebMessageInfo[]) {
|
||||
for await (const message of messages) {
|
||||
await this.queueMessage(bot, message);
|
||||
}
|
||||
|
|
@ -266,9 +265,8 @@ export default class WhatsappService extends Service {
|
|||
}
|
||||
}
|
||||
|
||||
async receive(bot: Bot, lastReceivedDate: Date): Promise<any> {
|
||||
async receive(bot: Bot, _lastReceivedDate: Date): Promise<proto.IWebMessageInfo[]> {
|
||||
const connection = this.connections[bot.id]?.socket;
|
||||
|
||||
const messages = await connection.loadAllUnreadMessages();
|
||||
return messages;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue