general: preliminary support for @hosted + Usync LID stuff

This commit is contained in:
Rajeh Taher
2025-10-02 19:38:47 +03:00
parent 9f6e1d954f
commit 0af6c2f298
4 changed files with 18 additions and 12 deletions
+6 -4
View File
@@ -5,7 +5,7 @@ export const PSA_WID = '0@c.us'
export const STORIES_JID = 'status@broadcast'
export const META_AI_JID = '13135550002@c.us'
export type JidServer = 'c.us' | 'g.us' | 'broadcast' | 's.whatsapp.net' | 'call' | 'lid' | 'newsletter' | 'bot'
export type JidServer = 'c.us' | 'g.us' | 'broadcast' | 's.whatsapp.net' | 'call' | 'lid' | 'newsletter' | 'bot' | 'hosted' | 'hosted.lid'
export type JidWithDevice = {
user: string
@@ -14,11 +14,10 @@ export type JidWithDevice = {
export type FullJid = JidWithDevice & {
server: JidServer
domainType?: number
}
export const jidEncode = (user: string | number | null, server: JidServer, device?: number, agent?: number) => {
return `${user || ''}${!!agent ? `_${agent}` : ''}${!!device ? `:${device}` : ''}@${server}`
return `${user || ''}${!!agent ? `.${agent}` : ''}${!!device ? `:${device}` : ''}@${server}`
}
export const jidDecode = (jid: string | undefined): FullJid | undefined => {
@@ -36,7 +35,6 @@ export const jidDecode = (jid: string | undefined): FullJid | undefined => {
return {
server: server as JidServer,
user,
domainType: server === 'lid' ? 1 : 0,
device: device ? +device : undefined
}
}
@@ -58,6 +56,10 @@ export const isJidGroup = (jid: string | undefined) => jid?.endsWith('@g.us')
export const isJidStatusBroadcast = (jid: string) => jid === 'status@broadcast'
/** is the jid a newsletter */
export const isJidNewsletter = (jid: string | undefined) => jid?.endsWith('@newsletter')
/** is the jid a hosted PN */
export const isJidHostedPnUser = (jid: string | undefined) => jid?.endsWith('@hosted')
/** is the jid a hosted LID */
export const isJidHostedLidUser = (jid: string | undefined) => jid?.endsWith('@hosted.lid')
const botRegexp = /^1313555\d{4}$|^131655500\d{2}$/