mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
feat: getChatId for broadcasts
This commit is contained in:
@@ -3,7 +3,7 @@ import type { Logger } from 'pino'
|
|||||||
import { proto } from '../../WAProto'
|
import { proto } from '../../WAProto'
|
||||||
import { AuthenticationCreds, BaileysEventEmitter, Chat, GroupMetadata, ParticipantAction, SignalKeyStoreWithTransaction, WAMessageStubType } from '../Types'
|
import { AuthenticationCreds, BaileysEventEmitter, Chat, GroupMetadata, ParticipantAction, SignalKeyStoreWithTransaction, WAMessageStubType } from '../Types'
|
||||||
import { downloadAndProcessHistorySyncNotification, getContentType, normalizeMessageContent, toNumber } from '../Utils'
|
import { downloadAndProcessHistorySyncNotification, getContentType, normalizeMessageContent, toNumber } from '../Utils'
|
||||||
import { areJidsSameUser, jidNormalizedUser } from '../WABinary'
|
import { areJidsSameUser, isJidBroadcast, isJidStatusBroadcast, jidNormalizedUser } from '../WABinary'
|
||||||
|
|
||||||
type ProcessMessageContext = {
|
type ProcessMessageContext = {
|
||||||
shouldProcessHistoryMsg: boolean
|
shouldProcessHistoryMsg: boolean
|
||||||
@@ -72,6 +72,18 @@ export const shouldIncrementChatUnread = (message: proto.IWebMessageInfo) => (
|
|||||||
!message.key.fromMe && !message.messageStubType
|
!message.key.fromMe && !message.messageStubType
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the ID of the chat from the given key.
|
||||||
|
* Typically -- that'll be the remoteJid, but for broadcasts, it'll be the participant
|
||||||
|
*/
|
||||||
|
export const getChatId = ({ remoteJid, participant }: proto.IMessageKey) => {
|
||||||
|
if(isJidBroadcast(remoteJid!) && !isJidStatusBroadcast(remoteJid!)) {
|
||||||
|
return participant!
|
||||||
|
}
|
||||||
|
|
||||||
|
return remoteJid!
|
||||||
|
}
|
||||||
|
|
||||||
const processMessage = async(
|
const processMessage = async(
|
||||||
message: proto.IWebMessageInfo,
|
message: proto.IWebMessageInfo,
|
||||||
{
|
{
|
||||||
@@ -86,7 +98,7 @@ const processMessage = async(
|
|||||||
const meId = creds.me!.id
|
const meId = creds.me!.id
|
||||||
const { accountSettings } = creds
|
const { accountSettings } = creds
|
||||||
|
|
||||||
const chat: Partial<Chat> = { id: jidNormalizedUser(message.key.remoteJid!) }
|
const chat: Partial<Chat> = { id: jidNormalizedUser(getChatId(message.key)) }
|
||||||
const isRealMsg = isRealMessage(message, meId)
|
const isRealMsg = isRealMessage(message, meId)
|
||||||
|
|
||||||
if(isRealMsg) {
|
if(isRealMsg) {
|
||||||
|
|||||||
Reference in New Issue
Block a user