@neelegirl/baileys 1.5.2 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +195 -187
- package/WAProto/WAProto.proto +537 -236
- package/WAProto/index.d.ts +5971 -2388
- package/WAProto/index.js +17298 -6513
- package/lib/Defaults/baileys-version.json +3 -3
- package/lib/Defaults/index.d.ts +77 -67
- package/lib/Defaults/index.js +148 -136
- package/lib/Defaults/phonenumber-mcc.json +223 -223
- package/lib/Signal/WASignalGroup/GroupProtocol.js +1908 -1908
- package/lib/Signal/WASignalGroup/ciphertext-message.d.ts +9 -0
- package/lib/Signal/WASignalGroup/ciphertext-message.js +19 -0
- package/lib/Signal/WASignalGroup/ciphertext_message.js +15 -15
- package/lib/Signal/WASignalGroup/group-session-builder.d.ts +17 -0
- package/lib/Signal/WASignalGroup/group-session-builder.js +72 -0
- package/lib/Signal/WASignalGroup/group.proto +41 -41
- package/lib/Signal/WASignalGroup/group_cipher.d.ts +19 -0
- package/lib/Signal/WASignalGroup/group_cipher.js +101 -110
- package/lib/Signal/WASignalGroup/group_session_builder.js +45 -45
- package/lib/Signal/WASignalGroup/index.d.ts +11 -0
- package/lib/Signal/WASignalGroup/index.js +61 -6
- package/lib/Signal/WASignalGroup/keyhelper.d.ts +16 -0
- package/lib/Signal/WASignalGroup/keyhelper.js +58 -13
- package/lib/Signal/WASignalGroup/protobufs.js +2 -2
- package/lib/Signal/WASignalGroup/queue_job.js +68 -68
- package/lib/Signal/WASignalGroup/readme.md +5 -5
- package/lib/Signal/WASignalGroup/sender-chain-key.d.ts +14 -0
- package/lib/Signal/WASignalGroup/sender-chain-key.js +47 -0
- package/lib/Signal/WASignalGroup/sender-key-distribution-message.d.ts +17 -0
- package/lib/Signal/WASignalGroup/sender-key-distribution-message.js +71 -0
- package/lib/Signal/WASignalGroup/sender-key-message.d.ts +19 -0
- package/lib/Signal/WASignalGroup/sender-key-message.js +73 -0
- package/lib/Signal/WASignalGroup/sender-key-name.d.ts +19 -0
- package/lib/Signal/WASignalGroup/sender-key-name.js +59 -0
- package/lib/Signal/WASignalGroup/sender-key-record.d.ts +32 -0
- package/lib/Signal/WASignalGroup/sender-key-record.js +58 -0
- package/lib/Signal/WASignalGroup/sender-key-state.d.ts +44 -0
- package/lib/Signal/WASignalGroup/sender-key-state.js +147 -0
- package/lib/Signal/WASignalGroup/sender-message-key.d.ts +11 -0
- package/lib/Signal/WASignalGroup/sender-message-key.js +33 -0
- package/lib/Signal/WASignalGroup/sender_chain_key.js +49 -49
- package/lib/Signal/WASignalGroup/sender_key_distribution_message.js +77 -77
- package/lib/Signal/WASignalGroup/sender_key_message.js +91 -91
- package/lib/Signal/WASignalGroup/sender_key_name.js +69 -69
- package/lib/Signal/WASignalGroup/sender_key_record.js +55 -55
- package/lib/Signal/WASignalGroup/sender_key_state.js +128 -128
- package/lib/Signal/WASignalGroup/sender_message_key.js +38 -38
- package/lib/Signal/libsignal.d.ts +5 -1
- package/lib/Signal/libsignal.js +390 -161
- package/lib/Signal/lid-mapping.d.ts +28 -0
- package/lib/Signal/lid-mapping.js +184 -0
- package/lib/Socket/Client/abstract-socket-client.d.ts +15 -15
- package/lib/Socket/Client/abstract-socket-client.js +13 -13
- package/lib/Socket/Client/index.d.ts +2 -2
- package/lib/Socket/Client/mobile-socket-client.d.ts +12 -12
- package/lib/Socket/Client/mobile-socket-client.js +65 -65
- package/lib/Socket/Client/types.d.ts +1 -1
- package/lib/Socket/Client/websocket.d.ts +1 -1
- package/lib/Socket/business.d.ts +6 -6
- package/lib/Socket/business.js +152 -5
- package/lib/Socket/chats.d.ts +3 -4
- package/lib/Socket/chats.js +31 -26
- package/lib/Socket/communities.d.ts +223 -223
- package/lib/Socket/communities.js +432 -432
- package/lib/Socket/groups.d.ts +2 -4
- package/lib/Socket/groups.js +22 -14
- package/lib/Socket/index.d.ts +69 -69
- package/lib/Socket/index.js +3 -2
- package/lib/Socket/messages-recv.d.ts +3 -6
- package/lib/Socket/messages-recv.js +1449 -1707
- package/lib/Socket/messages-send.d.ts +2 -4
- package/lib/Socket/messages-send.js +617 -126
- package/lib/Socket/mex.d.ts +2 -2
- package/lib/Socket/mex.js +46 -46
- package/lib/Socket/newsletter.d.ts +2 -4
- package/lib/Socket/newsletter.js +294 -285
- package/lib/Socket/socket.js +318 -132
- package/lib/Socket/usync.js +3 -3
- package/lib/Store/index.d.ts +4 -4
- package/lib/Store/index.js +23 -23
- package/lib/Store/make-cache-manager-store.d.ts +13 -13
- package/lib/Store/make-cache-manager-store.js +89 -89
- package/lib/Store/make-in-memory-store.d.ts +122 -122
- package/lib/Store/make-in-memory-store.js +428 -428
- package/lib/Store/make-ordered-dictionary.d.ts +11 -11
- package/lib/Store/make-ordered-dictionary.js +85 -85
- package/lib/Store/object-repository.d.ts +9 -9
- package/lib/Store/object-repository.js +30 -30
- package/lib/Types/Auth.d.ts +5 -4
- package/lib/Types/Bussines.js +3 -0
- package/lib/Types/Bussiness.d.ts +28 -0
- package/lib/Types/Chat.d.ts +13 -8
- package/lib/Types/Contact.d.ts +4 -1
- package/lib/Types/Events.d.ts +13 -16
- package/lib/Types/GroupMetadata.d.ts +1 -1
- package/lib/Types/Message.d.ts +18 -7
- package/lib/Types/Message.js +7 -1
- package/lib/Types/MexUpdates.d.ts +8 -8
- package/lib/Types/MexUpdates.js +17 -17
- package/lib/Types/Newsletter.d.ts +1 -1
- package/lib/Types/Product.d.ts +1 -1
- package/lib/Types/Signal.d.ts +31 -1
- package/lib/Types/Socket.d.ts +34 -13
- package/lib/Types/State.d.ts +1 -1
- package/lib/Types/USync.d.ts +2 -2
- package/lib/Types/index.d.ts +16 -15
- package/lib/Types/index.js +4 -2
- package/lib/Utils/auth-utils.d.ts +20 -20
- package/lib/Utils/auth-utils.js +527 -204
- package/lib/Utils/baileys-event-stream.d.ts +17 -17
- package/lib/Utils/baileys-event-stream.js +69 -69
- package/lib/Utils/business.d.ts +28 -28
- package/lib/Utils/business.js +254 -254
- package/lib/Utils/chat-utils.d.ts +81 -81
- package/lib/Utils/chat-utils.js +808 -780
- package/lib/Utils/crypto.d.ts +55 -55
- package/lib/Utils/crypto.js +188 -178
- package/lib/Utils/decode-wa-message.d.ts +52 -40
- package/lib/Utils/decode-wa-message.js +322 -252
- package/lib/Utils/event-buffer.d.ts +38 -38
- package/lib/Utils/event-buffer.js +594 -564
- package/lib/Utils/generics.d.ts +131 -129
- package/lib/Utils/generics.js +629 -623
- package/lib/Utils/history.d.ts +22 -22
- package/lib/Utils/history.js +103 -109
- package/lib/Utils/index.d.ts +20 -19
- package/lib/Utils/index.js +39 -38
- package/lib/Utils/link-preview.d.ts +22 -22
- package/lib/Utils/link-preview.js +119 -119
- package/lib/Utils/logger.d.ts +13 -13
- package/lib/Utils/logger.js +7 -7
- package/lib/Utils/lt-hash.d.ts +13 -13
- package/lib/Utils/lt-hash.js +57 -57
- package/lib/Utils/make-mutex.d.ts +8 -8
- package/lib/Utils/make-mutex.js +48 -48
- package/lib/Utils/message-retry-manager.d.ts +88 -0
- package/lib/Utils/message-retry-manager.js +160 -0
- package/lib/Utils/messages-media.d.ts +134 -128
- package/lib/Utils/messages-media.js +868 -805
- package/lib/Utils/messages.d.ts +104 -102
- package/lib/Utils/messages.js +1744 -1578
- package/lib/Utils/noise-handler.d.ts +20 -19
- package/lib/Utils/noise-handler.js +164 -154
- package/lib/Utils/process-message.d.ts +48 -48
- package/lib/Utils/process-message.js +427 -428
- package/lib/Utils/signal.d.ts +41 -41
- package/lib/Utils/signal.js +165 -165
- package/lib/Utils/use-mongo-file-auth-state.d.ts +5 -5
- package/lib/Utils/use-mongo-file-auth-state.js +83 -83
- package/lib/Utils/use-multi-file-auth-state.d.ts +17 -17
- package/lib/Utils/use-multi-file-auth-state.js +237 -237
- package/lib/Utils/use-single-file-auth-state.d.ts +12 -12
- package/lib/Utils/use-single-file-auth-state.js +79 -79
- package/lib/Utils/validate-connection.d.ts +12 -12
- package/lib/Utils/validate-connection.js +219 -186
- package/lib/WABinary/constants.d.ts +29 -29
- package/lib/WABinary/constants.js +1315 -1315
- package/lib/WABinary/decode.d.ts +8 -8
- package/lib/WABinary/decode.js +287 -287
- package/lib/WABinary/encode.d.ts +2 -2
- package/lib/WABinary/encode.js +264 -264
- package/lib/WABinary/generic-utils.d.ts +27 -27
- package/lib/WABinary/generic-utils.js +141 -141
- package/lib/WABinary/index.d.ts +5 -5
- package/lib/WABinary/index.js +24 -24
- package/lib/WABinary/jid-utils.d.ts +58 -53
- package/lib/WABinary/jid-utils.js +103 -91
- package/lib/WABinary/types.d.ts +21 -21
- package/lib/WABinary/types.js +2 -2
- package/lib/WAM/BinaryInfo.d.ts +15 -15
- package/lib/WAM/BinaryInfo.js +16 -16
- package/lib/WAM/constants.d.ts +46 -46
- package/lib/WAM/constants.js +15370 -15370
- package/lib/WAM/encode.d.ts +2 -2
- package/lib/WAM/encode.js +163 -164
- package/lib/WAM/index.d.ts +3 -3
- package/lib/WAM/index.js +22 -22
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +27 -27
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +68 -68
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +3 -3
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +2 -2
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +2 -2
- package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +9 -8
- package/lib/WAUSync/Protocols/USyncLIDProtocol.js +37 -29
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +2 -2
- package/lib/WAUSync/Protocols/index.d.ts +6 -6
- package/lib/WAUSync/USyncQuery.d.ts +3 -3
- package/lib/WAUSync/index.d.ts +3 -3
- package/lib/index.d.ts +13 -13
- package/lib/index.js +33 -33
- package/package.json +96 -94
- package/lib/Socket/registration.d.ts +0 -266
- package/lib/Socket/registration.js +0 -166
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
"use strict"
|
|
2
|
-
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod }
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true })
|
|
8
|
-
|
|
9
|
-
const cache_manager_1 = require("cache-manager")
|
|
10
|
-
const WAProto_1 = require("../../WAProto")
|
|
11
|
-
const Utils_1 = require("../Utils")
|
|
12
|
-
const logger_1 = __importDefault(require("../Utils/logger"))
|
|
13
|
-
|
|
14
|
-
const makeCacheManagerAuthState = async (store, sessionKey) => {
|
|
15
|
-
const defaultKey = (file) => `${sessionKey}:${file}`
|
|
16
|
-
const databaseConn = await cache_manager_1.caching(store)
|
|
17
|
-
const writeData = async (file, data) => {
|
|
18
|
-
let ttl = undefined
|
|
19
|
-
if (file === 'creds') {
|
|
20
|
-
ttl = 63115200 // 2 years
|
|
21
|
-
}
|
|
22
|
-
await databaseConn.set(defaultKey(file), JSON.stringify(data, Utils_1.BufferJSON.replacer), ttl)
|
|
23
|
-
}
|
|
24
|
-
const readData = async (file) => {
|
|
25
|
-
try {
|
|
26
|
-
const data = await databaseConn.get(defaultKey(file))
|
|
27
|
-
if (data) {
|
|
28
|
-
return JSON.parse(data, Utils_1.BufferJSON.reviver)
|
|
29
|
-
}
|
|
30
|
-
return null
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
logger_1.default.error(error)
|
|
34
|
-
return null
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
const removeData = async (file) => {
|
|
38
|
-
try {
|
|
39
|
-
return await databaseConn.del(defaultKey(file))
|
|
40
|
-
}
|
|
41
|
-
catch (_a) {
|
|
42
|
-
logger_1.default.error(`Error removing ${file} from session ${sessionKey}`)
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const clearState = async () => {
|
|
46
|
-
try {
|
|
47
|
-
const result = await databaseConn.store.keys(`${sessionKey}*`)
|
|
48
|
-
await Promise.all(result.map(async (key) => await databaseConn.del(key)))
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
const creds = (await readData('creds')) || (0, Utils_1.initAuthCreds)()
|
|
54
|
-
return {
|
|
55
|
-
clearState,
|
|
56
|
-
saveCreds: () => writeData('creds', creds),
|
|
57
|
-
state: {
|
|
58
|
-
creds,
|
|
59
|
-
keys: {
|
|
60
|
-
get: async (type, ids) => {
|
|
61
|
-
const data = {}
|
|
62
|
-
await Promise.all(ids.map(async (id) => {
|
|
63
|
-
let value = await readData(`${type}-${id}`)
|
|
64
|
-
if (type === 'app-state-sync-key' && value) {
|
|
65
|
-
value = WAProto_1.proto.Message.AppStateSyncKeyData.fromObject(value)
|
|
66
|
-
}
|
|
67
|
-
data[id] = value
|
|
68
|
-
}))
|
|
69
|
-
return data
|
|
70
|
-
},
|
|
71
|
-
set: async (data) => {
|
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
73
|
-
const tasks = []
|
|
74
|
-
for (const category in data) {
|
|
75
|
-
for (const id in data[category]) {
|
|
76
|
-
const value = data[category][id]
|
|
77
|
-
const key = `${category}-${id}`
|
|
78
|
-
tasks.push(value ? writeData(key, value) : removeData(key))
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
await Promise.all(tasks)
|
|
82
|
-
},
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
module.exports = {
|
|
89
|
-
makeCacheManagerAuthState
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod }
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true })
|
|
8
|
+
|
|
9
|
+
const cache_manager_1 = require("cache-manager")
|
|
10
|
+
const WAProto_1 = require("../../WAProto")
|
|
11
|
+
const Utils_1 = require("../Utils")
|
|
12
|
+
const logger_1 = __importDefault(require("../Utils/logger"))
|
|
13
|
+
|
|
14
|
+
const makeCacheManagerAuthState = async (store, sessionKey) => {
|
|
15
|
+
const defaultKey = (file) => `${sessionKey}:${file}`
|
|
16
|
+
const databaseConn = await cache_manager_1.caching(store)
|
|
17
|
+
const writeData = async (file, data) => {
|
|
18
|
+
let ttl = undefined
|
|
19
|
+
if (file === 'creds') {
|
|
20
|
+
ttl = 63115200 // 2 years
|
|
21
|
+
}
|
|
22
|
+
await databaseConn.set(defaultKey(file), JSON.stringify(data, Utils_1.BufferJSON.replacer), ttl)
|
|
23
|
+
}
|
|
24
|
+
const readData = async (file) => {
|
|
25
|
+
try {
|
|
26
|
+
const data = await databaseConn.get(defaultKey(file))
|
|
27
|
+
if (data) {
|
|
28
|
+
return JSON.parse(data, Utils_1.BufferJSON.reviver)
|
|
29
|
+
}
|
|
30
|
+
return null
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
logger_1.default.error(error)
|
|
34
|
+
return null
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const removeData = async (file) => {
|
|
38
|
+
try {
|
|
39
|
+
return await databaseConn.del(defaultKey(file))
|
|
40
|
+
}
|
|
41
|
+
catch (_a) {
|
|
42
|
+
logger_1.default.error(`Error removing ${file} from session ${sessionKey}`)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const clearState = async () => {
|
|
46
|
+
try {
|
|
47
|
+
const result = await databaseConn.store.keys(`${sessionKey}*`)
|
|
48
|
+
await Promise.all(result.map(async (key) => await databaseConn.del(key)))
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const creds = (await readData('creds')) || (0, Utils_1.initAuthCreds)()
|
|
54
|
+
return {
|
|
55
|
+
clearState,
|
|
56
|
+
saveCreds: () => writeData('creds', creds),
|
|
57
|
+
state: {
|
|
58
|
+
creds,
|
|
59
|
+
keys: {
|
|
60
|
+
get: async (type, ids) => {
|
|
61
|
+
const data = {}
|
|
62
|
+
await Promise.all(ids.map(async (id) => {
|
|
63
|
+
let value = await readData(`${type}-${id}`)
|
|
64
|
+
if (type === 'app-state-sync-key' && value) {
|
|
65
|
+
value = WAProto_1.proto.Message.AppStateSyncKeyData.fromObject(value)
|
|
66
|
+
}
|
|
67
|
+
data[id] = value
|
|
68
|
+
}))
|
|
69
|
+
return data
|
|
70
|
+
},
|
|
71
|
+
set: async (data) => {
|
|
72
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
73
|
+
const tasks = []
|
|
74
|
+
for (const category in data) {
|
|
75
|
+
for (const id in data[category]) {
|
|
76
|
+
const value = data[category][id]
|
|
77
|
+
const key = `${category}-${id}`
|
|
78
|
+
tasks.push(value ? writeData(key, value) : removeData(key))
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
await Promise.all(tasks)
|
|
82
|
+
},
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
module.exports = {
|
|
89
|
+
makeCacheManagerAuthState
|
|
90
90
|
}
|
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
import type KeyedDB from '@adiwajshing/keyed-db'
|
|
2
|
-
import type { Comparable } from '@adiwajshing/keyed-db/lib/Types'
|
|
3
|
-
import type { Logger } from 'pino'
|
|
4
|
-
import { proto } from '
|
|
5
|
-
import type makeMDSocket from '
|
|
6
|
-
import type { BaileysEventEmitter, Chat, ConnectionState, Contact, GroupMetadata, PresenceData, WAMessage, WAMessageCursor, WAMessageKey } from '
|
|
7
|
-
import { Label } from '
|
|
8
|
-
import { LabelAssociation } from '
|
|
9
|
-
import { ObjectRepository } from '
|
|
10
|
-
|
|
11
|
-
type WASocket = ReturnType<typeof makeMDSocket>
|
|
12
|
-
|
|
13
|
-
export declare const waChatKey: (pin: boolean) => {
|
|
14
|
-
key: (c: Chat) => string
|
|
15
|
-
compare: (k1: string, k2: string) => number
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export declare const waMessageID: (m: WAMessage) => string
|
|
19
|
-
|
|
20
|
-
export declare const waLabelAssociationKey: Comparable<LabelAssociation, string>
|
|
21
|
-
|
|
22
|
-
export type BaileysInMemoryStoreConfig = {
|
|
23
|
-
chatKey?: Comparable<Chat, string>
|
|
24
|
-
labelAssociationKey?: Comparable<LabelAssociation, string>
|
|
25
|
-
logger?: Logger
|
|
26
|
-
socket?: WASocket
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export declare const makeInMemoryStore: (config: BaileysInMemoryStoreConfig) => {
|
|
30
|
-
chats: KeyedDB<Chat, string>
|
|
31
|
-
contacts: {
|
|
32
|
-
[_: string]: Contact
|
|
33
|
-
}
|
|
34
|
-
messages: {
|
|
35
|
-
[_: string]: {
|
|
36
|
-
array: proto.IWebMessageInfo[]
|
|
37
|
-
get: (id: string) => proto.IWebMessageInfo | undefined
|
|
38
|
-
upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void
|
|
39
|
-
update: (item: proto.IWebMessageInfo) => boolean
|
|
40
|
-
remove: (item: proto.IWebMessageInfo) => boolean
|
|
41
|
-
updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean
|
|
42
|
-
clear: () => void
|
|
43
|
-
filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void
|
|
44
|
-
toJSON: () => proto.IWebMessageInfo[]
|
|
45
|
-
fromJSON: (newItems: proto.IWebMessageInfo[]) => void
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
groupMetadata: {
|
|
49
|
-
[_: string]: GroupMetadata
|
|
50
|
-
}
|
|
51
|
-
state: ConnectionState
|
|
52
|
-
presences: {
|
|
53
|
-
[id: string]: {
|
|
54
|
-
[participant: string]: PresenceData
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
labels: ObjectRepository<Label>
|
|
58
|
-
labelAssociations: KeyedDB<LabelAssociation, string>
|
|
59
|
-
bind: (ev: BaileysEventEmitter) => void
|
|
60
|
-
/** loads messages from the store, if not found -- uses the legacy connection */
|
|
61
|
-
loadMessages: (jid: string, count: number, cursor: WAMessageCursor) => Promise<proto.IWebMessageInfo[]>
|
|
62
|
-
/**
|
|
63
|
-
* Get all available labels for profile
|
|
64
|
-
*
|
|
65
|
-
* Keep in mind that the list is formed from predefined tags and tags
|
|
66
|
-
* that were "caught" during their editing.
|
|
67
|
-
*/
|
|
68
|
-
getLabels: () => ObjectRepository<Label>
|
|
69
|
-
/**
|
|
70
|
-
* Get labels for chat
|
|
71
|
-
*
|
|
72
|
-
* @returns Label IDs
|
|
73
|
-
**/
|
|
74
|
-
getChatLabels: (chatId: string) => LabelAssociation[]
|
|
75
|
-
/**
|
|
76
|
-
* Get labels for message
|
|
77
|
-
*
|
|
78
|
-
* @returns Label IDs
|
|
79
|
-
**/
|
|
80
|
-
getMessageLabels: (messageId: string) => string[]
|
|
81
|
-
loadMessage: (jid: string, id: string) => Promise<proto.IWebMessageInfo | undefined>
|
|
82
|
-
mostRecentMessage: (jid: string) => Promise<proto.IWebMessageInfo>
|
|
83
|
-
fetchImageUrl: (jid: string,
|
|
84
|
-
fetchGroupMetadata: (jid: string,
|
|
85
|
-
fetchMessageReceipts: ({ remoteJid, id }: WAMessageKey) => Promise<proto.IUserReceipt[] | null | undefined>
|
|
86
|
-
toJSON: () => {
|
|
87
|
-
chats: KeyedDB<Chat, string>
|
|
88
|
-
contacts: {
|
|
89
|
-
[_: string]: Contact
|
|
90
|
-
}
|
|
91
|
-
messages: {
|
|
92
|
-
[_: string]: {
|
|
93
|
-
array: proto.IWebMessageInfo[]
|
|
94
|
-
get: (id: string) => proto.IWebMessageInfo | undefined
|
|
95
|
-
upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void
|
|
96
|
-
update: (item: proto.IWebMessageInfo) => boolean
|
|
97
|
-
remove: (item: proto.IWebMessageInfo) => boolean
|
|
98
|
-
updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean
|
|
99
|
-
clear: () => void
|
|
100
|
-
filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void
|
|
101
|
-
toJSON: () => proto.IWebMessageInfo[]
|
|
102
|
-
fromJSON: (newItems: proto.IWebMessageInfo[]) => void
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
labels: ObjectRepository<Label>
|
|
106
|
-
labelAssociations: KeyedDB<LabelAssociation, string>
|
|
107
|
-
}
|
|
108
|
-
fromJSON: (json: {
|
|
109
|
-
chats: Chat[]
|
|
110
|
-
contacts: {
|
|
111
|
-
[id: string]: Contact
|
|
112
|
-
}
|
|
113
|
-
messages: {
|
|
114
|
-
[id: string]: proto.IWebMessageInfo[]
|
|
115
|
-
}
|
|
116
|
-
labels: {
|
|
117
|
-
[labelId: string]: Label
|
|
118
|
-
}
|
|
119
|
-
labelAssociations: LabelAssociation[]
|
|
120
|
-
}) => void
|
|
121
|
-
writeToFile: (path: string) => void
|
|
122
|
-
readFromFile: (path: string) => void
|
|
1
|
+
import type KeyedDB from '@adiwajshing/keyed-db'
|
|
2
|
+
import type { Comparable } from '@adiwajshing/keyed-db/lib/Types'
|
|
3
|
+
import type { Logger } from 'pino'
|
|
4
|
+
import { proto } from '@neelegirl/baileys/WAProto'
|
|
5
|
+
import type makeMDSocket from '@neelegirl/baileys/lib/Socket'
|
|
6
|
+
import type { BaileysEventEmitter, Chat, ConnectionState, Contact, GroupMetadata, PresenceData, WAMessage, WAMessageCursor, WAMessageKey } from '@neelegirl/baileys/lib/Types'
|
|
7
|
+
import { Label } from '@neelegirl/baileys/lib/Types/Label'
|
|
8
|
+
import { LabelAssociation } from '@neelegirl/baileys/lib/Types/LabelAssociation'
|
|
9
|
+
import { ObjectRepository } from '@neelegirl/baileys/lib/Store/object-repository'
|
|
10
|
+
|
|
11
|
+
type WASocket = ReturnType<typeof makeMDSocket>
|
|
12
|
+
|
|
13
|
+
export declare const waChatKey: (pin: boolean) => {
|
|
14
|
+
key: (c: Chat) => string
|
|
15
|
+
compare: (k1: string, k2: string) => number
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export declare const waMessageID: (m: WAMessage) => string
|
|
19
|
+
|
|
20
|
+
export declare const waLabelAssociationKey: Comparable<LabelAssociation, string>
|
|
21
|
+
|
|
22
|
+
export type BaileysInMemoryStoreConfig = {
|
|
23
|
+
chatKey?: Comparable<Chat, string>
|
|
24
|
+
labelAssociationKey?: Comparable<LabelAssociation, string>
|
|
25
|
+
logger?: Logger
|
|
26
|
+
socket?: WASocket
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export declare const makeInMemoryStore: (config: BaileysInMemoryStoreConfig) => {
|
|
30
|
+
chats: KeyedDB<Chat, string>
|
|
31
|
+
contacts: {
|
|
32
|
+
[_: string]: Contact
|
|
33
|
+
}
|
|
34
|
+
messages: {
|
|
35
|
+
[_: string]: {
|
|
36
|
+
array: proto.IWebMessageInfo[]
|
|
37
|
+
get: (id: string) => proto.IWebMessageInfo | undefined
|
|
38
|
+
upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void
|
|
39
|
+
update: (item: proto.IWebMessageInfo) => boolean
|
|
40
|
+
remove: (item: proto.IWebMessageInfo) => boolean
|
|
41
|
+
updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean
|
|
42
|
+
clear: () => void
|
|
43
|
+
filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void
|
|
44
|
+
toJSON: () => proto.IWebMessageInfo[]
|
|
45
|
+
fromJSON: (newItems: proto.IWebMessageInfo[]) => void
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
groupMetadata: {
|
|
49
|
+
[_: string]: GroupMetadata
|
|
50
|
+
}
|
|
51
|
+
state: ConnectionState
|
|
52
|
+
presences: {
|
|
53
|
+
[id: string]: {
|
|
54
|
+
[participant: string]: PresenceData
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
labels: ObjectRepository<Label>
|
|
58
|
+
labelAssociations: KeyedDB<LabelAssociation, string>
|
|
59
|
+
bind: (ev: BaileysEventEmitter) => void
|
|
60
|
+
/** loads messages from the store, if not found -- uses the legacy connection */
|
|
61
|
+
loadMessages: (jid: string, count: number, cursor: WAMessageCursor) => Promise<proto.IWebMessageInfo[]>
|
|
62
|
+
/**
|
|
63
|
+
* Get all available labels for profile
|
|
64
|
+
*
|
|
65
|
+
* Keep in mind that the list is formed from predefined tags and tags
|
|
66
|
+
* that were "caught" during their editing.
|
|
67
|
+
*/
|
|
68
|
+
getLabels: () => ObjectRepository<Label>
|
|
69
|
+
/**
|
|
70
|
+
* Get labels for chat
|
|
71
|
+
*
|
|
72
|
+
* @returns Label IDs
|
|
73
|
+
**/
|
|
74
|
+
getChatLabels: (chatId: string) => LabelAssociation[]
|
|
75
|
+
/**
|
|
76
|
+
* Get labels for message
|
|
77
|
+
*
|
|
78
|
+
* @returns Label IDs
|
|
79
|
+
**/
|
|
80
|
+
getMessageLabels: (messageId: string) => string[]
|
|
81
|
+
loadMessage: (jid: string, id: string) => Promise<proto.IWebMessageInfo | undefined>
|
|
82
|
+
mostRecentMessage: (jid: string) => Promise<proto.IWebMessageInfo>
|
|
83
|
+
fetchImageUrl: (jid: string, baron: WASocket | undefined) => Promise<string | null | undefined>
|
|
84
|
+
fetchGroupMetadata: (jid: string, baron: WASocket | undefined) => Promise<GroupMetadata>
|
|
85
|
+
fetchMessageReceipts: ({ remoteJid, id }: WAMessageKey) => Promise<proto.IUserReceipt[] | null | undefined>
|
|
86
|
+
toJSON: () => {
|
|
87
|
+
chats: KeyedDB<Chat, string>
|
|
88
|
+
contacts: {
|
|
89
|
+
[_: string]: Contact
|
|
90
|
+
}
|
|
91
|
+
messages: {
|
|
92
|
+
[_: string]: {
|
|
93
|
+
array: proto.IWebMessageInfo[]
|
|
94
|
+
get: (id: string) => proto.IWebMessageInfo | undefined
|
|
95
|
+
upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void
|
|
96
|
+
update: (item: proto.IWebMessageInfo) => boolean
|
|
97
|
+
remove: (item: proto.IWebMessageInfo) => boolean
|
|
98
|
+
updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean
|
|
99
|
+
clear: () => void
|
|
100
|
+
filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void
|
|
101
|
+
toJSON: () => proto.IWebMessageInfo[]
|
|
102
|
+
fromJSON: (newItems: proto.IWebMessageInfo[]) => void
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
labels: ObjectRepository<Label>
|
|
106
|
+
labelAssociations: KeyedDB<LabelAssociation, string>
|
|
107
|
+
}
|
|
108
|
+
fromJSON: (json: {
|
|
109
|
+
chats: Chat[]
|
|
110
|
+
contacts: {
|
|
111
|
+
[id: string]: Contact
|
|
112
|
+
}
|
|
113
|
+
messages: {
|
|
114
|
+
[id: string]: proto.IWebMessageInfo[]
|
|
115
|
+
}
|
|
116
|
+
labels: {
|
|
117
|
+
[labelId: string]: Label
|
|
118
|
+
}
|
|
119
|
+
labelAssociations: LabelAssociation[]
|
|
120
|
+
}) => void
|
|
121
|
+
writeToFile: (path: string) => void
|
|
122
|
+
readFromFile: (path: string) => void
|
|
123
123
|
}
|