mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
got rid of redundancies
This commit is contained in:
@@ -254,7 +254,7 @@ export class WAConnection extends EventEmitter {
|
||||
this.msgCount += 1 // increment message count, it makes the 'epoch' field when sending binary messages
|
||||
return this.conn.send(m)
|
||||
}
|
||||
protected async waitForConnection (waitForOpen: boolean) {
|
||||
protected async waitForConnection (waitForOpen: boolean=true) {
|
||||
if (!waitForOpen || this.state === 'open') return
|
||||
|
||||
const timeout = this.pendingRequestTimeoutMs
|
||||
@@ -298,6 +298,7 @@ export class WAConnection extends EventEmitter {
|
||||
|
||||
Object.keys(this.callbacks).forEach(key => {
|
||||
if (!key.includes('function:')) {
|
||||
this.log (`cancelling message wait: ${key}`, MessageLogLevel.info)
|
||||
this.callbacks[key].errCallback(new Error('closed'))
|
||||
delete this.callbacks[key]
|
||||
}
|
||||
|
||||
@@ -129,6 +129,10 @@ export class WAConnection extends Base {
|
||||
chat.t = +chat.t
|
||||
chat.count = +chat.count
|
||||
chat.messages = []
|
||||
|
||||
const oldChat = this.chats.get(chat.jid)
|
||||
oldChat && this.chats.delete (oldChat)
|
||||
|
||||
this.chats.insert (chat) // chats data (log json to see what it looks like)
|
||||
})
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ export class WAConnection extends Base {
|
||||
if (!chat) return
|
||||
|
||||
this.emit ('message-update', update)
|
||||
this.chatUpdatedMessage (update.ids, update.type, chat)
|
||||
this.chatUpdatedMessage (update.ids, update.type as number, chat)
|
||||
}
|
||||
this.registerCallback('Msg', func)
|
||||
this.registerCallback('MsgInfo', func)
|
||||
@@ -194,7 +194,7 @@ export class WAConnection extends Base {
|
||||
to: message.key.remoteJid,
|
||||
ids: [message.key.id],
|
||||
timestamp: new Date(),
|
||||
type: -1
|
||||
type: 'delete'
|
||||
}
|
||||
this.emit ('message-update', update)
|
||||
}
|
||||
|
||||
@@ -39,6 +39,16 @@ export class WAConnection extends Base {
|
||||
type: MessageType,
|
||||
options: MessageOptions = {},
|
||||
) {
|
||||
const content = await this.prepareMessageContent (
|
||||
message,
|
||||
type,
|
||||
options
|
||||
)
|
||||
const preparedMessage = this.prepareMessageFromContent(id, content, options)
|
||||
return preparedMessage
|
||||
}
|
||||
/** Prepares the message content */
|
||||
async prepareMessageContent (message: string | WATextMessage | WALocationMessage | WAContactMessage | Buffer, type: MessageType, options: MessageOptions) {
|
||||
let m: WAMessageContent = {}
|
||||
switch (type) {
|
||||
case MessageType.text:
|
||||
@@ -59,13 +69,13 @@ export class WAConnection extends Base {
|
||||
m.contactMessage = message as WAContactMessage
|
||||
break
|
||||
default:
|
||||
m = await this.prepareMediaMessage(message as Buffer, type, options)
|
||||
m = await this.prepareMessageMedia(message as Buffer, type, options)
|
||||
break
|
||||
}
|
||||
return this.generateWAMessage(id, m, options)
|
||||
return m
|
||||
}
|
||||
/** Prepare a media message for sending */
|
||||
async prepareMediaMessage(buffer: Buffer, mediaType: MessageType, options: MessageOptions = {}) {
|
||||
async prepareMessageMedia(buffer: Buffer, mediaType: MessageType, options: MessageOptions = {}) {
|
||||
if (mediaType === MessageType.document && !options.mimetype) {
|
||||
throw new Error('mimetype required to send a document')
|
||||
}
|
||||
@@ -126,8 +136,8 @@ export class WAConnection extends Base {
|
||||
}
|
||||
return message as WAMessageContent
|
||||
}
|
||||
/** generates a WAMessage from the given content & options */
|
||||
generateWAMessage(id: string, message: WAMessageContent, options: MessageOptions) {
|
||||
/** prepares a WAMessage for sending from the given content & options */
|
||||
prepareMessageFromContent(id: string, message: WAMessageContent, options: MessageOptions) {
|
||||
if (!options.timestamp) options.timestamp = new Date() // set timestamp to now
|
||||
|
||||
// prevent an annoying bug (WA doesn't accept sending messages with '@c.us')
|
||||
|
||||
@@ -227,7 +227,7 @@ export class WAConnection extends Base {
|
||||
type: WAMessageProto.ProtocolMessage.PROTOCOL_MESSAGE_TYPE.REVOKE
|
||||
}
|
||||
}
|
||||
const waMessage = this.generateWAMessage (id, json, {})
|
||||
const waMessage = this.prepareMessageFromContent (id, json, {})
|
||||
await this.relayWAMessage (waMessage)
|
||||
return waMessage
|
||||
}
|
||||
@@ -254,7 +254,7 @@ export class WAConnection extends Base {
|
||||
if (score > 0) content[key].contextInfo = { forwardingScore: score, isForwarded: true }
|
||||
else content[key].contextInfo = {}
|
||||
|
||||
const waMessage = this.generateWAMessage (id, content, {})
|
||||
const waMessage = this.prepareMessageFromContent (id, content, {})
|
||||
await this.relayWAMessage (waMessage)
|
||||
return waMessage
|
||||
}
|
||||
|
||||
@@ -189,12 +189,6 @@ export enum Presence {
|
||||
recording = 'recording', // "recording..."
|
||||
paused = 'paused', // I have no clue
|
||||
}
|
||||
/** Status of a message sent or received */
|
||||
export enum MessageStatus {
|
||||
sent = 'sent',
|
||||
received = 'received',
|
||||
read = 'read',
|
||||
}
|
||||
/** Set of message types that are supported by the library */
|
||||
export enum MessageType {
|
||||
text = 'conversation',
|
||||
@@ -274,7 +268,7 @@ export interface MessageStatusUpdate {
|
||||
/** Message IDs read/delivered */
|
||||
ids: string[]
|
||||
/** Status of the Message IDs */
|
||||
type: WA_MESSAGE_STATUS_TYPE
|
||||
type: WA_MESSAGE_STATUS_TYPE | 'delete'
|
||||
}
|
||||
export enum GroupSettingChange {
|
||||
messageSend = 'announcement',
|
||||
|
||||
Reference in New Issue
Block a user