mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
Separated sendGenericMessage & generateMessage
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@adiwajshing/baileys",
|
"name": "@adiwajshing/baileys",
|
||||||
"version": "2.2.0",
|
"version": "2.3.0",
|
||||||
"description": "WhatsApp Web API",
|
"description": "WhatsApp Web API",
|
||||||
"homepage": "https://github.com/adiwajshing/Baileys",
|
"homepage": "https://github.com/adiwajshing/Baileys",
|
||||||
"main": "lib/WAClient/WAClient.js",
|
"main": "lib/WAClient/WAClient.js",
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ export default class WhatsAppWebMessages extends WhatsAppWebGroups {
|
|||||||
type: proto.ProtocolMessage.PROTOCOL_MESSAGE_TYPE.REVOKE
|
type: proto.ProtocolMessage.PROTOCOL_MESSAGE_TYPE.REVOKE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return this.sendGenericMessage (id, json, {})
|
return this.sendMessageContent (id, json, {})
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Forward a message like WA does
|
* Forward a message like WA does
|
||||||
@@ -217,7 +217,7 @@ export default class WhatsAppWebMessages extends WhatsAppWebGroups {
|
|||||||
if (score > 0) content[key].contextInfo = { forwardingScore: score, isForwarded: true }
|
if (score > 0) content[key].contextInfo = { forwardingScore: score, isForwarded: true }
|
||||||
else content[key].contextInfo = {}
|
else content[key].contextInfo = {}
|
||||||
|
|
||||||
return this.sendGenericMessage (id, content, {})
|
return this.sendMessageContent (id, content, {})
|
||||||
}
|
}
|
||||||
async sendMessage(
|
async sendMessage(
|
||||||
id: string,
|
id: string,
|
||||||
@@ -251,7 +251,7 @@ export default class WhatsAppWebMessages extends WhatsAppWebGroups {
|
|||||||
m = await this.prepareMediaMessage(message as Buffer, type, options)
|
m = await this.prepareMediaMessage(message as Buffer, type, options)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
return this.sendGenericMessage(id, m, options)
|
return this.sendMessageContent(id, m, options)
|
||||||
}
|
}
|
||||||
/** Prepare a media message for sending */
|
/** Prepare a media message for sending */
|
||||||
async prepareMediaMessage(buffer: Buffer, mediaType: MessageType, options: MessageOptions = {}) {
|
async prepareMediaMessage(buffer: Buffer, mediaType: MessageType, options: MessageOptions = {}) {
|
||||||
@@ -315,9 +315,13 @@ export default class WhatsAppWebMessages extends WhatsAppWebGroups {
|
|||||||
}
|
}
|
||||||
return message as WAMessageContent
|
return message as WAMessageContent
|
||||||
}
|
}
|
||||||
/** Generic send message function */
|
/** Send message content */
|
||||||
async sendGenericMessage(id: string, message: WAMessageContent, options: MessageOptions) {
|
async sendMessageContent(id: string, message: WAMessageContent, options: MessageOptions) {
|
||||||
|
const messageJSON = this.generateWAMessage (id, message, options)
|
||||||
|
return this.sendWAMessage (messageJSON)
|
||||||
|
}
|
||||||
|
/** generates a WAMessage from the given content & options */
|
||||||
|
generateWAMessage(id: string, message: WAMessageContent, options: MessageOptions) {
|
||||||
if (!options.timestamp) options.timestamp = new Date() // set timestamp to now
|
if (!options.timestamp) options.timestamp = new Date() // set timestamp to now
|
||||||
|
|
||||||
const key = Object.keys(message)[0]
|
const key = Object.keys(message)[0]
|
||||||
@@ -354,13 +358,19 @@ export default class WhatsAppWebMessages extends WhatsAppWebGroups {
|
|||||||
participant: id.includes('@g.us') ? this.userMetaData.id : null,
|
participant: id.includes('@g.us') ? this.userMetaData.id : null,
|
||||||
status: WAMessageProto.proto.WebMessageInfo.WEB_MESSAGE_INFO_STATUS.PENDING
|
status: WAMessageProto.proto.WebMessageInfo.WEB_MESSAGE_INFO_STATUS.PENDING
|
||||||
}
|
}
|
||||||
const json = ['action', {epoch: this.msgCount.toString(), type: 'relay'}, [['message', null, messageJSON]]]
|
return messageJSON as WAMessage
|
||||||
const flag = id === this.userMetaData.id ? WAFlag.acknowledge : WAFlag.ignore // acknowledge when sending message to oneself
|
}
|
||||||
const response = await this.queryExpecting200(json, [WAMetric.message, flag], null, messageJSON.key.id)
|
/**
|
||||||
|
* Send a WAMessage; more advanced functionality, you may want to stick with sendMessage()
|
||||||
|
* */
|
||||||
|
async sendWAMessage(message: WAMessage) {
|
||||||
|
const json = ['action', {epoch: this.msgCount.toString(), type: 'relay'}, [['message', null, message]]]
|
||||||
|
const flag = message.key.remoteJid === this.userMetaData.id ? WAFlag.acknowledge : WAFlag.ignore // acknowledge when sending message to oneself
|
||||||
|
const response = await this.queryExpecting200(json, [WAMetric.message, flag], null, message.key.id)
|
||||||
return {
|
return {
|
||||||
status: response.status as number,
|
status: response.status as number,
|
||||||
messageID: messageJSON.key.id,
|
messageID: message.key.id,
|
||||||
message: messageJSON as WAMessage
|
message: message as WAMessage
|
||||||
} as WASendMessageResponse
|
} as WASendMessageResponse
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user