@fhynella/baileys 2.0.5 → 2.1.7

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.
Files changed (204) hide show
  1. package/lib/Defaults/connection.js +51 -0
  2. package/lib/Defaults/constants.js +62 -0
  3. package/lib/Defaults/history.js +17 -0
  4. package/lib/Defaults/index.js +36 -142
  5. package/lib/Defaults/media.js +48 -0
  6. package/lib/Defaults/prefix.js +18 -0
  7. package/lib/Signal/Group/group-session-builder.js +10 -42
  8. package/lib/Signal/Group/group_cipher.js +9 -6
  9. package/lib/Signal/Group/index.js +39 -53
  10. package/lib/Signal/Group/keyhelper.js +8 -41
  11. package/lib/Signal/Group/sender-chain-key.js +4 -4
  12. package/lib/Signal/Group/sender-key-distribution-message.js +5 -5
  13. package/lib/Signal/Group/sender-key-message.js +12 -8
  14. package/lib/Signal/Group/sender-key-record.js +7 -7
  15. package/lib/Signal/Group/sender-key-state.js +4 -4
  16. package/lib/Signal/Group/sender-message-key.js +2 -2
  17. package/lib/Signal/libsignal.js +45 -69
  18. package/lib/Signal/lid-mapping.js +15 -11
  19. package/lib/Socket/Client/types.js +2 -2
  20. package/lib/Socket/Client/websocket.js +16 -14
  21. package/lib/Socket/business.js +41 -32
  22. package/lib/Socket/chats.js +123 -98
  23. package/lib/Socket/community.js +50 -40
  24. package/lib/Socket/groups.js +59 -47
  25. package/lib/Socket/index.js +4 -4
  26. package/lib/Socket/messages-recv.js +219 -172
  27. package/lib/Socket/messages-send.js +187 -211
  28. package/lib/Socket/newsletter.js +61 -47
  29. package/lib/Socket/socket.js +133 -90
  30. package/lib/Socket/usync.js +6 -6
  31. package/lib/Store/index.js +27 -11
  32. package/lib/Store/make-cache-manager-store.js +14 -15
  33. package/lib/Store/make-in-memory-store.js +28 -24
  34. package/lib/Types/LabelAssociation.js +2 -2
  35. package/lib/Types/Message.js +6 -6
  36. package/lib/Types/MexUpdates.js +5 -5
  37. package/lib/Types/State.js +4 -4
  38. package/lib/Types/index.js +28 -12
  39. package/lib/Utils/auth-utils.js +28 -26
  40. package/lib/Utils/baileys-event-stream.js +68 -69
  41. package/lib/Utils/business.js +63 -53
  42. package/lib/Utils/chat-utils.js +81 -71
  43. package/lib/Utils/crypto.js +25 -45
  44. package/lib/Utils/decode-wa-message.js +319 -311
  45. package/lib/Utils/event-buffer.js +21 -22
  46. package/lib/Utils/generics.js +52 -75
  47. package/lib/Utils/history.js +21 -21
  48. package/lib/Utils/index.js +27 -13
  49. package/lib/Utils/link-preview.js +7 -30
  50. package/lib/Utils/logger.js +5 -5
  51. package/lib/Utils/lt-hash.js +3 -3
  52. package/lib/Utils/message-retry-manager.js +4 -4
  53. package/lib/Utils/messages-media.js +104 -109
  54. package/lib/Utils/messages.js +203 -171
  55. package/lib/Utils/noise-handler.js +28 -19
  56. package/lib/Utils/process-message.js +111 -96
  57. package/lib/Utils/signal.js +36 -25
  58. package/lib/Utils/use-multi-file-auth-state.js +18 -22
  59. package/lib/Utils/validate-connection.js +52 -45
  60. package/lib/WABinary/decode.js +6 -32
  61. package/lib/WABinary/encode.js +3 -29
  62. package/lib/WABinary/generic-utils.js +4 -4
  63. package/lib/WABinary/index.js +27 -11
  64. package/lib/WAM/encode.js +16 -8
  65. package/lib/WAM/index.js +27 -11
  66. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +20 -16
  67. package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -2
  68. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +7 -4
  69. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +2 -2
  70. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +0 -2
  71. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +2 -2
  72. package/lib/WAUSync/Protocols/index.js +27 -11
  73. package/lib/WAUSync/USyncQuery.js +17 -10
  74. package/lib/WAUSync/index.js +27 -11
  75. package/lib/index.js +60 -31
  76. package/package.json +15 -6
  77. package/WAProto/AICommon/AICommon.d.ts +0 -11702
  78. package/WAProto/Adv/Adv.d.ts +0 -643
  79. package/WAProto/BotMetadata/BotMetadata.d.ts +0 -5654
  80. package/WAProto/Cert/Cert.d.ts +0 -613
  81. package/WAProto/ChatLockSettings/ChatLockSettings.d.ts +0 -476
  82. package/WAProto/CompanionReg/CompanionReg.d.ts +0 -1361
  83. package/WAProto/DeviceCapabilities/DeviceCapabilities.d.ts +0 -577
  84. package/WAProto/E2E/E2E.d.ts +0 -41724
  85. package/WAProto/Ephemeral/Ephemeral.d.ts +0 -114
  86. package/WAProto/HistorySync/HistorySync.d.ts +0 -51700
  87. package/WAProto/LidMigrationSyncPayload/LidMigrationSyncPayload.d.ts +0 -229
  88. package/WAProto/MdStorageChatRowOpaqueData/MdStorageChatRowOpaqueData.d.ts +0 -583
  89. package/WAProto/MdStorageMsgRowOpaqueData/MdStorageMsgRowOpaqueData.d.ts +0 -42897
  90. package/WAProto/MmsRetry/MmsRetry.d.ts +0 -243
  91. package/WAProto/Protocol/Protocol.d.ts +0 -270
  92. package/WAProto/Reporting/Reporting.d.ts +0 -371
  93. package/WAProto/ServerSync/ServerSync.d.ts +0 -1285
  94. package/WAProto/SignalLocalStorageProtocol/SignalLocalStorageProtocol.d.ts +0 -1868
  95. package/WAProto/SignalWhisperTextProtocol/SignalWhisperTextProtocol.d.ts +0 -767
  96. package/WAProto/StatusAttributions/StatusAttributions.d.ts +0 -1027
  97. package/WAProto/SyncAction/SyncAction.d.ts +0 -11193
  98. package/WAProto/UserPassword/UserPassword.d.ts +0 -363
  99. package/WAProto/VnameCert/VnameCert.d.ts +0 -821
  100. package/WAProto/Wa6/Wa6.d.ts +0 -2128
  101. package/WAProto/Web/Web.d.ts +0 -46383
  102. package/WAProto/index.d.ts +0 -55
  103. package/lib/Defaults/index.d.ts +0 -77
  104. package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
  105. package/lib/Signal/Group/group-session-builder.d.ts +0 -17
  106. package/lib/Signal/Group/group_cipher.d.ts +0 -19
  107. package/lib/Signal/Group/index.d.ts +0 -11
  108. package/lib/Signal/Group/keyhelper.d.ts +0 -16
  109. package/lib/Signal/Group/sender-chain-key.d.ts +0 -14
  110. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -17
  111. package/lib/Signal/Group/sender-key-message.d.ts +0 -19
  112. package/lib/Signal/Group/sender-key-name.d.ts +0 -19
  113. package/lib/Signal/Group/sender-key-record.d.ts +0 -32
  114. package/lib/Signal/Group/sender-key-state.d.ts +0 -44
  115. package/lib/Signal/Group/sender-message-key.d.ts +0 -11
  116. package/lib/Signal/libsignal.d.ts +0 -8
  117. package/lib/Signal/lid-mapping.d.ts +0 -28
  118. package/lib/Socket/.nomedia +0 -0
  119. package/lib/Socket/Client/index.d.ts +0 -2
  120. package/lib/Socket/Client/types.d.ts +0 -16
  121. package/lib/Socket/Client/websocket.d.ts +0 -13
  122. package/lib/Socket/business.d.ts +0 -187
  123. package/lib/Socket/chats.d.ts +0 -97
  124. package/lib/Socket/community.d.ts +0 -129
  125. package/lib/Socket/groups.d.ts +0 -129
  126. package/lib/Socket/index.d.ts +0 -197
  127. package/lib/Socket/messages-recv.d.ts +0 -180
  128. package/lib/Socket/messages-send.d.ts +0 -169
  129. package/lib/Socket/messages-send.d.ts.bak +0 -165
  130. package/lib/Socket/messages-send.js.bak +0 -1812
  131. package/lib/Socket/newsletter.d.ts +0 -145
  132. package/lib/Socket/socket.d.ts +0 -45
  133. package/lib/Socket/usync.d.ts +0 -37
  134. package/lib/Store/index.d.ts +0 -4
  135. package/lib/Store/make-cache-manager-store.d.ts +0 -14
  136. package/lib/Store/make-in-memory-store.d.ts +0 -123
  137. package/lib/Store/make-ordered-dictionary.d.ts +0 -12
  138. package/lib/Store/object-repository.d.ts +0 -10
  139. package/lib/Types/Auth.d.ts +0 -121
  140. package/lib/Types/Bussiness.d.ts +0 -28
  141. package/lib/Types/Call.d.ts +0 -14
  142. package/lib/Types/Chat.d.ts +0 -143
  143. package/lib/Types/Contact.d.ts +0 -23
  144. package/lib/Types/Events.d.ts +0 -226
  145. package/lib/Types/GroupMetadata.d.ts +0 -66
  146. package/lib/Types/Label.d.ts +0 -48
  147. package/lib/Types/LabelAssociation.d.ts +0 -35
  148. package/lib/Types/Message.d.ts +0 -484
  149. package/lib/Types/MexUpdates.d.ts +0 -9
  150. package/lib/Types/Newsletter.d.ts +0 -109
  151. package/lib/Types/Product.d.ts +0 -92
  152. package/lib/Types/Signal.d.ts +0 -98
  153. package/lib/Types/Socket.d.ts +0 -141
  154. package/lib/Types/State.d.ts +0 -41
  155. package/lib/Types/USync.d.ts +0 -26
  156. package/lib/Types/index.d.ts +0 -80
  157. package/lib/Utils/auth-utils.d.ts +0 -21
  158. package/lib/Utils/baileys-event-stream.d.ts +0 -18
  159. package/lib/Utils/business.d.ts +0 -29
  160. package/lib/Utils/chat-utils.d.ts +0 -82
  161. package/lib/Utils/crypto.d.ts +0 -56
  162. package/lib/Utils/decode-wa-message.d.ts +0 -53
  163. package/lib/Utils/event-buffer.d.ts +0 -39
  164. package/lib/Utils/generics.d.ts +0 -117
  165. package/lib/Utils/history.d.ts +0 -23
  166. package/lib/Utils/index.d.ts +0 -20
  167. package/lib/Utils/link-preview.d.ts +0 -23
  168. package/lib/Utils/logger.d.ts +0 -13
  169. package/lib/Utils/lt-hash.d.ts +0 -14
  170. package/lib/Utils/make-mutex.d.ts +0 -9
  171. package/lib/Utils/message-retry-manager.d.ts +0 -88
  172. package/lib/Utils/messages-media.d.ts +0 -135
  173. package/lib/Utils/messages.d.ts +0 -105
  174. package/lib/Utils/noise-handler.d.ts +0 -20
  175. package/lib/Utils/process-message.d.ts +0 -49
  176. package/lib/Utils/signal.d.ts +0 -42
  177. package/lib/Utils/use-mongo-file-auth-state.d.ts +0 -6
  178. package/lib/Utils/use-mongo-file-auth-state.js +0 -84
  179. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  180. package/lib/Utils/use-single-file-auth-state.d.ts +0 -13
  181. package/lib/Utils/use-single-file-auth-state.js +0 -80
  182. package/lib/Utils/validate-connection.d.ts +0 -13
  183. package/lib/WABinary/constants.d.ts +0 -30
  184. package/lib/WABinary/decode.d.ts +0 -9
  185. package/lib/WABinary/encode.d.ts +0 -3
  186. package/lib/WABinary/generic-utils.d.ts +0 -28
  187. package/lib/WABinary/index.d.ts +0 -5
  188. package/lib/WABinary/jid-utils.d.ts +0 -58
  189. package/lib/WABinary/types.d.ts +0 -22
  190. package/lib/WAM/BinaryInfo.d.ts +0 -16
  191. package/lib/WAM/constants.d.ts +0 -47
  192. package/lib/WAM/encode.d.ts +0 -3
  193. package/lib/WAM/index.d.ts +0 -3
  194. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +0 -28
  195. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -10
  196. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -26
  197. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -14
  198. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +0 -10
  199. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -14
  200. package/lib/WAUSync/Protocols/index.d.ts +0 -6
  201. package/lib/WAUSync/USyncQuery.d.ts +0 -31
  202. package/lib/WAUSync/USyncUser.d.ts +0 -12
  203. package/lib/WAUSync/index.d.ts +0 -3
  204. package/lib/index.d.ts +0 -13
@@ -1,143 +0,0 @@
1
- import type { proto } from '../../WAProto'
2
- import type { AccountSettings } from './Auth'
3
- import type { QuickReplyAction } from './Bussines'
4
- import type { ContactAction } from './Contact'
5
- import type { BufferedEventData } from './Events'
6
- import type { LabelActionBody } from './Label'
7
- import type { ChatLabelAssociationActionBody } from './LabelAssociation'
8
- import type { MessageLabelAssociationActionBody } from './LabelAssociation'
9
- import type { MinimalMessage, WAMessageKey } from './Message'
10
-
11
- /** privacy settings in WhatsApp Web */
12
- export type WAPrivacyValue = 'all' | 'contacts' | 'contact_blacklist' | 'none'
13
-
14
- export type WAPrivacyOnlineValue = 'all' | 'match_last_seen'
15
-
16
- export type WAPrivacyGroupAddValue = 'all' | 'contacts' | 'contact_blacklist'
17
-
18
- export type WAReadReceiptsValue = 'all' | 'none'
19
-
20
- export type WAPrivacyCallValue = 'all' | 'known'
21
-
22
- export type WAPrivacyMessagesValue = 'all' | 'contacts'
23
-
24
- /** set of statuses visible to other people see updatePresence() in WhatsAppWeb.Send */
25
- export type WAPresence = 'unavailable' | 'available' | 'composing' | 'recording' | 'paused'
26
-
27
- export declare const ALL_WA_PATCH_NAMES: readonly ["critical_block", "critical_unblock_low", "regular_high", "regular_low", "regular"]
28
-
29
- export type WAPatchName = typeof ALL_WA_PATCH_NAMES[number]
30
-
31
- export type BotListInfo = {
32
- jid: string
33
- personaId: string
34
- }
35
-
36
- export interface PresenceData {
37
- lastKnownPresence: WAPresence
38
- lastSeen?: number
39
- }
40
-
41
- export type ChatMutation = {
42
- syncAction: proto.ISyncActionData
43
- index: string[]
44
- }
45
-
46
- export type WAPatchCreate = {
47
- syncAction: proto.ISyncActionValue
48
- index: string[]
49
- type: WAPatchName
50
- apiVersion: number
51
- operation: proto.SyncdMutation.SyncdOperation
52
- }
53
-
54
- export type Chat = proto.IConversation & {
55
- /** unix timestamp of when the last message was received in the chat */
56
- lastMessageRecvTimestamp?: number
57
- }
58
-
59
- export type ChatUpdate = Partial<Chat & {
60
- /**
61
- * if specified in the update,
62
- * the EV buffer will check if the condition gets fulfilled before applying the update
63
- * Right now, used to determine when to release an app state sync event
64
- *
65
- * @returns true, if the update should be applied
66
- * false if it can be discarded
67
- * undefined if the condition is not yet fulfilled
68
- * */
69
- conditional: (bufferedData: BufferedEventData) => boolean | undefined
70
- /** last update time */
71
- timestamp?: number
72
- }>
73
-
74
- /**
75
- * the last messages in a chat, sorted reverse-chronologically. That is, the latest message should be first in the chat
76
- * for MD modifications, the last message in the array (i.e. the earlist message) must be the last message recv in the chat
77
- * */
78
- export type LastMessageList = MinimalMessage[] | proto.SyncActionValue.ISyncActionMessageRange
79
-
80
- export type ChatModification = {
81
- archive: boolean
82
- lastMessages: LastMessageList
83
- } | {
84
- contact: ContactAction | null
85
- } | {
86
- pushNameSetting: string
87
- } | {
88
- pin: boolean
89
- } | {
90
- /** mute for duration, or provide timestamp of mute to remove*/
91
- mute: number | null
92
- } | {
93
- clear: boolean
94
- } | {
95
- deleteForMe: {
96
- deleteMedia: boolean
97
- key: WAMessageKey
98
- timestamp: number
99
- }
100
- } | {
101
- star: {
102
- messages: {
103
- id: string
104
- fromMe?: boolean
105
- }[]
106
- star: boolean
107
- }
108
- } | {
109
- markRead: boolean
110
- lastMessages: LastMessageList
111
- } | {
112
- delete: true
113
- lastMessages: LastMessageList
114
- } | {
115
- contact: proto.SyncActionValue.IContactAction | null
116
- } | {
117
- disableLinkPreviews: proto.SyncActionValue.IPrivacySettingDisableLinkPreviewsAction
118
- } | {
119
- addLabel: LabelActionBody
120
- } | {
121
- addChatLabel: ChatLabelAssociationActionBody
122
- } | {
123
- removeChatLabel: ChatLabelAssociationActionBody
124
- } | {
125
- addMessageLabel: MessageLabelAssociationActionBody
126
- } | {
127
- removeMessageLabel: MessageLabelAssociationActionBody
128
- } | {
129
- quickReply: QuickReplyAction
130
- }
131
-
132
- export type InitialReceivedChatsState = {
133
- [jid: string]: {
134
- /** the last message received from the other party */
135
- lastMsgRecvTimestamp?: number
136
- /** the absolute last message in the chat */
137
- lastMsgTimestamp: number
138
- }
139
- }
140
-
141
- export type InitialAppStateSyncOptions = {
142
- accountSettings: AccountSettings
143
- }
@@ -1,23 +0,0 @@
1
- export interface Contact {
2
- /** ID either in lid or jid format (preferred) **/
3
- id: string
4
- /** ID in LID format (@lid) **/
5
- lid?: string
6
- /** ID in PN format (@s.whatsapp.net) **/
7
- phoneNumber?: string
8
- /** name of the contact, you have saved on your WA */
9
- name?: string
10
- /** name of the contact, the contact has set on their own on WA */
11
- notify?: string
12
- /** I have no idea */
13
- verifiedName?: string
14
- /**
15
- * Url of the profile picture of the contact
16
- *
17
- * 'changed' => if the profile picture has changed
18
- * null => if the profile picture has not been set (default profile picture)
19
- * any other string => url of the profile picture
20
- */
21
- imgUrl?: string | null
22
- status?: string
23
- }
@@ -1,226 +0,0 @@
1
- import type { Boom } from '@hapi/boom'
2
- import { proto } from '../../WAProto'
3
- import { AuthenticationCreds } from './Auth'
4
- import { WACallEvent } from './Call'
5
- import { Chat, ChatUpdate, PresenceData } from './Chat'
6
- import { Contact } from './Contact'
7
- import { GroupMetadata, ParticipantAction, RequestJoinAction, RequestJoinMethod } from './GroupMetadata'
8
- import { Label } from './Label'
9
- import { LabelAssociation } from './LabelAssociation'
10
- import { MessageUpsertType, MessageUserReceiptUpdate, WAMessage, WAMessageKey, WAMessageUpdate } from './Message'
11
- import { NewsletterViewRole, SubscriberAction, NewsletterSettingsUpdate } from './Newsletter'
12
- import { ConnectionState } from './State'
13
-
14
- export type BaileysEventMap = {
15
- /** connection state has been updated -- WS closed, opened, connecting etc. */
16
- 'connection.update': Partial<ConnectionState>
17
- /** credentials updated -- some metadata, keys or something */
18
- 'creds.update': Partial<AuthenticationCreds>
19
- /** set chats (history sync), everything is reverse chronologically sorted */
20
- 'messaging-history.set': {
21
- chats: Chat[]
22
- contacts: Contact[]
23
- messages: WAMessage[]
24
- isLatest?: boolean
25
- progress?: number | null
26
- syncType?: proto.HistorySync.HistorySyncType
27
- peerDataRequestSessionId?: string | null
28
- }
29
- /** upsert chats */
30
- 'chats.upsert': Chat[]
31
- /** update the given chats */
32
- 'chats.update': ChatUpdate[]
33
- 'lid-mapping.update': {
34
- lid: string
35
- pn: string
36
- }
37
- /** delete chats with given ID */
38
- 'chats.delete': string[]
39
- /** presence of contact in a chat updated */
40
- 'presence.update': {
41
- id: string
42
- presences: {
43
- [participant: string]: PresenceData
44
- }
45
- }
46
- 'contacts.upsert': Contact[]
47
- 'contacts.update': Partial<Contact>[]
48
- 'messages.delete': {
49
- keys: WAMessageKey[]
50
- } | {
51
- jid: string
52
- all: true
53
- }
54
- 'messages.update': WAMessageUpdate[]
55
- 'messages.media-update': {
56
- key: WAMessageKey
57
- media?: {
58
- ciphertext: Uint8Array
59
- iv: Uint8Array
60
- }
61
- error?: Boom
62
- }[]
63
- /**
64
- * add/update the given messages. If they were received while the connection was online,
65
- * the update will have type: "notify"
66
- * if requestId is provided, then the messages was received from the phone due to it being unavailable
67
- * */
68
- 'messages.upsert': {
69
- messages: WAMessage[]
70
- type: MessageUpsertType
71
- requestId?: string
72
- }
73
- // 'messages.poll': {
74
- // key: WAMessageKey
75
- // pollUpdates: proto.IPollUpdateMessage
76
- // }[]
77
- /** message was reacted to. If reaction was removed -- then "reaction.text" will be falsey */
78
- 'messages.reaction': {
79
- key: WAMessageKey
80
- reaction: proto.IReaction
81
- }[]
82
- 'message-receipt.update': MessageUserReceiptUpdate[]
83
- 'groups.upsert': GroupMetadata[]
84
- 'groups.update': Partial<GroupMetadata>[]
85
- /** apply an action to participants in a group */
86
- 'group-participants.update': {
87
- id: string
88
- author: string
89
- participants: string[]
90
- action: ParticipantAction
91
- }
92
- 'group.join-request': {
93
- id: string
94
- author: string
95
- participant: string
96
- action: RequestJoinAction
97
- method: RequestJoinMethod
98
- }
99
- 'newsletter.reaction': {
100
- id: string
101
- newsletter_server_id: string
102
- reaction: {
103
- code?: string
104
- count?: number
105
- removed?: boolean
106
- }
107
- }
108
- 'newsletter.view': {
109
- id: string
110
- newsletter_server_id: string
111
- count: number
112
- }
113
- 'newsletter-participants.update': {
114
- id: string
115
- author: string
116
- user: string
117
- new_role: NewsletterViewRole
118
- action: SubscriberAction
119
- }
120
- 'newsletter-settings.update': {
121
- id: string
122
- update: NewsletterSettingsUpdate
123
- }
124
- 'limit-sharing.update': {
125
- id: string
126
- author: string
127
- action: 'on' | 'off'
128
- trigger: proto.LimitSharing.TriggerType
129
- update_time: number
130
- }
131
- 'community-owner.update': {
132
- id: string
133
- author: string
134
- user: string
135
- new_role: 'SUPERADMIN_MEMBER'
136
- update_time: number
137
- }
138
- 'blocklist.set': {
139
- blocklist: string[]
140
- }
141
- 'blocklist.update': {
142
- blocklist: string[]
143
- type: 'add' | 'remove'
144
- }
145
- /** Receive an update on a call, including when the call was received, rejected, accepted */
146
- 'call': WACallEvent[]
147
- 'labels.edit': Label
148
- 'labels.association': {
149
- association: LabelAssociation
150
- type: 'add' | 'remove'
151
- }
152
- }
153
-
154
- export type BufferedEventData = {
155
- historySets: {
156
- chats: {
157
- [jid: string]: Chat
158
- }
159
- contacts: {
160
- [jid: string]: Contact
161
- }
162
- messages: {
163
- [uqId: string]: WAMessage
164
- }
165
- empty: boolean
166
- isLatest: boolean
167
- progress?: number | null
168
- syncType?: proto.HistorySync.HistorySyncType
169
- peerDataRequestSessionId?: string
170
- }
171
- chatUpserts: {
172
- [jid: string]: Chat
173
- }
174
- chatUpdates: {
175
- [jid: string]: ChatUpdate
176
- }
177
- chatDeletes: Set<string>
178
- contactUpserts: {
179
- [jid: string]: Contact
180
- }
181
- contactUpdates: {
182
- [jid: string]: Partial<Contact>
183
- }
184
- messageUpserts: {
185
- [key: string]: {
186
- type: MessageUpsertType
187
- message: WAMessage
188
- }
189
- }
190
- messageUpdates: {
191
- [key: string]: WAMessageUpdate
192
- }
193
- messageDeletes: {
194
- [key: string]: WAMessageKey
195
- }
196
- // messagePollings: {
197
- // [key: string]: {
198
- // key: WAMessageKey
199
- // pollUpdates: proto.IPollUpdateMessage[]
200
- // }
201
- // }
202
- messageReactions: {
203
- [key: string]: {
204
- key: WAMessageKey
205
- reactions: proto.IReaction[]
206
- }
207
- }
208
- messageReceipts: {
209
- [key: string]: {
210
- key: WAMessageKey
211
- userReceipt: proto.IUserReceipt[]
212
- }
213
- }
214
- groupUpdates: {
215
- [jid: string]: Partial<GroupMetadata>
216
- }
217
- }
218
-
219
- export type BaileysEvent = keyof BaileysEventMap
220
-
221
- export interface BaileysEventEmitter {
222
- on<T extends keyof BaileysEventMap>(event: T, listener: (arg: BaileysEventMap[T]) => void): void
223
- off<T extends keyof BaileysEventMap>(event: T, listener: (arg: BaileysEventMap[T]) => void): void
224
- removeAllListeners<T extends keyof BaileysEventMap>(event: T): void
225
- emit<T extends keyof BaileysEventMap>(event: T, arg: BaileysEventMap[T]): boolean
226
- }
@@ -1,66 +0,0 @@
1
- import { Contact } from './Contact'
2
-
3
- export type GroupParticipant = (Contact & {
4
- isAdmin?: boolean
5
- isSuperAdmin?: boolean
6
- admin?: 'admin' | 'superadmin' | null
7
- })
8
-
9
- export type ParticipantAction = 'add' | 'remove' | 'promote' | 'demote' | 'modify'
10
-
11
- export type RequestJoinAction = 'created' | 'revoked' | 'rejected'
12
-
13
- export type RequestJoinMethod = 'invite_link' | 'linked_group_join' | 'non_admin_add' | undefined
14
-
15
- export interface GroupMetadata {
16
- id: string
17
- addressingMode: string
18
- owner: string | undefined
19
- ownerCountry: string,
20
- subject: string
21
- /** group subject owner */
22
- subjectOwner?: string
23
- /** group subject modification date */
24
- subjectTime?: number
25
- creation?: number
26
- desc?: string
27
- descOwner?: string
28
- descId?: string
29
- /** if this group is part of a community, it returns the jid of the community to which it belongs */
30
- linkedParent?: string
31
- /** is set when the group only allows admins to change group settings */
32
- restrict?: boolean
33
- /** is set when the group only allows admins to write messages */
34
- announce?: boolean
35
- /** is set when the group also allows members to add participants */
36
- memberAddMode?: boolean
37
- /** Request approval to join the group */
38
- joinApprovalMode?: boolean
39
- /** is this a community */
40
- isCommunity?: boolean
41
- /** is this the announce of a community */
42
- isCommunityAnnounce?: boolean
43
- /** number of group participants */
44
- size?: number
45
- participants: GroupParticipant[]
46
- picture?: string
47
- ephemeralDuration?: number
48
- inviteCode?: string
49
- /** the person who added you to group or changed some setting in group */
50
- author?: string
51
- }
52
-
53
- export interface WAGroupCreateResponse {
54
- status: number
55
- gid?: string
56
- participants?: [{
57
- [key: string]: {}
58
- }]
59
- }
60
-
61
- export interface GroupModificationResponse {
62
- status: number
63
- participants?: {
64
- [key: string]: {}
65
- }
66
- }
@@ -1,48 +0,0 @@
1
- export interface Label {
2
- /** Label uniq ID */
3
- id: string
4
- /** Label name */
5
- name: string
6
- /** Label color ID */
7
- color: number
8
- /** Is label has been deleted */
9
- deleted: boolean
10
- /** WhatsApp has 5 predefined labels (New customer, New order & etc) */
11
- predefinedId?: string
12
- }
13
-
14
- export interface LabelActionBody {
15
- id: string
16
- /** Label name */
17
- name?: string
18
- /** Label color ID */
19
- color?: number
20
- /** Is label has been deleted */
21
- deleted?: boolean
22
- /** WhatsApp has 5 predefined labels (New customer, New order & etc) */
23
- predefinedId?: number
24
- }
25
-
26
- /** WhatsApp has 20 predefined colors */
27
- export declare const enum LabelColor {
28
- Color1 = 0,
29
- Color2 = 1,
30
- Color3 = 2,
31
- Color4 = 3,
32
- Color5 = 4,
33
- Color6 = 5,
34
- Color7 = 6,
35
- Color8 = 7,
36
- Color9 = 8,
37
- Color10 = 9,
38
- Color11 = 10,
39
- Color12 = 11,
40
- Color13 = 12,
41
- Color14 = 13,
42
- Color15 = 14,
43
- Color16 = 15,
44
- Color17 = 16,
45
- Color18 = 17,
46
- Color19 = 18,
47
- Color20 = 19
48
- }
@@ -1,35 +0,0 @@
1
- /** Association type */
2
- export declare const enum LabelAssociationType {
3
- Chat = "label_jid",
4
- Message = "label_message"
5
- }
6
-
7
- export type LabelAssociationTypes = LabelAssociationType
8
-
9
- /** Association for chat */
10
- export interface ChatLabelAssociation {
11
- type: LabelAssociationType.Chat
12
- chatId: string
13
- labelId: string
14
- }
15
-
16
- /** Association for message */
17
- export interface MessageLabelAssociation {
18
- type: LabelAssociationType.Message
19
- chatId: string
20
- messageId: string
21
- labelId: string
22
- }
23
-
24
- export type LabelAssociation = ChatLabelAssociation | MessageLabelAssociation
25
-
26
- /** Body for add/remove chat label association action */
27
- export interface ChatLabelAssociationActionBody {
28
- labelId: string
29
- }
30
-
31
- /** body for add/remove message label association action */
32
- export interface MessageLabelAssociationActionBody {
33
- labelId: string
34
- messageId: string
35
- }