gifted-baileys 1.5.6 → 1.5.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 (252) hide show
  1. package/README.md +9 -0
  2. package/WAProto/WAProto.proto +969 -88
  3. package/WAProto/index.d.ts +13199 -1260
  4. package/WAProto/index.js +124901 -74525
  5. package/lib/Defaults/baileys-version.json +3 -0
  6. package/lib/Defaults/index.d.ts +284 -0
  7. package/{src → lib}/Defaults/index.js +7 -14
  8. package/lib/Signal/libsignal.d.ts +3 -0
  9. package/lib/Signal/libsignal.js +161 -0
  10. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
  11. package/lib/Socket/Client/index.d.ts +2 -0
  12. package/{src → lib}/Socket/Client/index.js +2 -3
  13. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  14. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  15. package/lib/Socket/Client/types.d.ts +17 -0
  16. package/lib/Socket/Client/types.js +13 -0
  17. package/lib/Socket/Client/websocket.d.ts +12 -0
  18. package/lib/Socket/Client/websocket.js +62 -0
  19. package/lib/Socket/business.d.ts +170 -0
  20. package/{src → lib}/Socket/business.js +28 -33
  21. package/lib/Socket/chats.d.ts +81 -0
  22. package/{src → lib}/Socket/chats.js +174 -176
  23. package/lib/Socket/groups.d.ts +115 -0
  24. package/{src → lib}/Socket/groups.js +80 -68
  25. package/lib/Socket/index.d.ts +172 -0
  26. package/{src → lib}/Socket/index.js +4 -1
  27. package/lib/Socket/messages-recv.d.ts +158 -0
  28. package/{src → lib}/Socket/messages-recv.js +378 -211
  29. package/lib/Socket/messages-send.d.ts +155 -0
  30. package/{src → lib}/Socket/messages-send.js +452 -177
  31. package/lib/Socket/newsletter.d.ts +132 -0
  32. package/{src → lib}/Socket/newsletter.js +107 -98
  33. package/lib/Socket/registration.d.ts +264 -0
  34. package/{src → lib}/Socket/registration.js +56 -48
  35. package/lib/Socket/socket.d.ts +44 -0
  36. package/{src → lib}/Socket/socket.js +77 -77
  37. package/lib/Socket/usync.d.ts +37 -0
  38. package/lib/Socket/usync.js +70 -0
  39. package/lib/Store/index.d.ts +3 -0
  40. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  41. package/{src → lib}/Store/make-cache-manager-store.js +25 -34
  42. package/lib/Store/make-in-memory-store.d.ts +118 -0
  43. package/{src → lib}/Store/make-in-memory-store.js +36 -32
  44. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  45. package/lib/Store/object-repository.d.ts +10 -0
  46. package/{src → lib}/Store/object-repository.js +1 -1
  47. package/lib/Types/Auth.d.ts +109 -0
  48. package/lib/Types/Call.d.ts +13 -0
  49. package/lib/Types/Chat.d.ts +107 -0
  50. package/{src/Types/Contact.ts → lib/Types/Contact.d.ts} +8 -9
  51. package/lib/Types/Events.d.ts +172 -0
  52. package/lib/Types/GroupMetadata.d.ts +56 -0
  53. package/lib/Types/Label.d.ts +46 -0
  54. package/{src/Types/LabelAssociation.ts → lib/Types/LabelAssociation.d.ts} +16 -22
  55. package/lib/Types/Message.d.ts +433 -0
  56. package/lib/Types/Newsletter.d.ts +92 -0
  57. package/lib/Types/Product.d.ts +78 -0
  58. package/lib/Types/Signal.d.ts +57 -0
  59. package/{src/Types/Socket.ts → lib/Types/Socket.d.ts} +61 -68
  60. package/lib/Types/State.d.ts +27 -0
  61. package/lib/Types/USync.d.ts +25 -0
  62. package/lib/Types/index.d.ts +66 -0
  63. package/lib/Utils/auth-utils.d.ts +18 -0
  64. package/{src → lib}/Utils/auth-utils.js +73 -90
  65. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  66. package/lib/Utils/baileys-event-stream.js +63 -0
  67. package/lib/Utils/business.d.ts +22 -0
  68. package/{src → lib}/Utils/business.js +15 -43
  69. package/lib/Utils/chat-utils.d.ts +70 -0
  70. package/{src → lib}/Utils/chat-utils.js +87 -94
  71. package/lib/Utils/crypto.d.ts +40 -0
  72. package/{src → lib}/Utils/crypto.js +4 -2
  73. package/lib/Utils/decode-wa-message.d.ts +36 -0
  74. package/lib/Utils/decode-wa-message.js +226 -0
  75. package/lib/Utils/event-buffer.d.ts +35 -0
  76. package/{src → lib}/Utils/event-buffer.js +4 -13
  77. package/lib/Utils/generics.d.ts +88 -0
  78. package/{src → lib}/Utils/generics.js +67 -86
  79. package/lib/Utils/history.d.ts +19 -0
  80. package/{src → lib}/Utils/history.js +13 -39
  81. package/lib/Utils/index.d.ts +17 -0
  82. package/lib/Utils/link-preview.d.ts +21 -0
  83. package/{src → lib}/Utils/link-preview.js +17 -54
  84. package/lib/Utils/logger.d.ts +2 -0
  85. package/lib/Utils/lt-hash.d.ts +12 -0
  86. package/lib/Utils/make-mutex.d.ts +7 -0
  87. package/{src → lib}/Utils/make-mutex.js +4 -13
  88. package/lib/Utils/messages-media.d.ts +113 -0
  89. package/{src → lib}/Utils/messages-media.js +193 -255
  90. package/lib/Utils/messages.d.ts +77 -0
  91. package/{src → lib}/Utils/messages.js +588 -118
  92. package/lib/Utils/noise-handler.d.ts +20 -0
  93. package/lib/Utils/process-message.d.ts +41 -0
  94. package/{src → lib}/Utils/process-message.js +27 -30
  95. package/lib/Utils/signal.d.ts +33 -0
  96. package/{src → lib}/Utils/signal.js +25 -42
  97. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -0
  98. package/{src → lib}/Utils/use-multi-file-auth-state.js +27 -28
  99. package/lib/Utils/validate-connection.d.ts +11 -0
  100. package/{src → lib}/Utils/validate-connection.js +40 -9
  101. package/lib/WABinary/constants.d.ts +27 -0
  102. package/lib/WABinary/decode.d.ts +6 -0
  103. package/lib/WABinary/encode.d.ts +2 -0
  104. package/{src → lib}/WABinary/encode.js +16 -10
  105. package/lib/WABinary/generic-utils.d.ts +14 -0
  106. package/lib/WABinary/index.d.ts +5 -0
  107. package/lib/WABinary/jid-utils.d.ts +31 -0
  108. package/lib/WABinary/types.d.ts +18 -0
  109. package/lib/WABinary/types.js +2 -0
  110. package/lib/WAM/BinaryInfo.d.ts +8 -0
  111. package/lib/WAM/constants.d.ts +38 -0
  112. package/lib/WAM/encode.d.ts +2 -0
  113. package/lib/WAM/index.d.ts +3 -0
  114. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  115. package/lib/WAUSync/Protocols/USyncContactProtocol.js +32 -0
  116. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  117. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  118. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  119. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  120. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  121. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  122. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  123. package/lib/WAUSync/Protocols/index.js +20 -0
  124. package/lib/WAUSync/USyncQuery.d.ts +26 -0
  125. package/lib/WAUSync/USyncQuery.js +79 -0
  126. package/lib/WAUSync/USyncUser.d.ts +10 -0
  127. package/lib/WAUSync/USyncUser.js +22 -0
  128. package/lib/WAUSync/index.d.ts +3 -0
  129. package/lib/WAUSync/index.js +19 -0
  130. package/{src → lib}/index.js +1 -0
  131. package/package.json +26 -8
  132. package/LICENSE +0 -21
  133. package/src/Defaults/baileys-version.json +0 -3
  134. package/src/Defaults/index.ts +0 -131
  135. package/src/README.md +0 -1
  136. package/src/Signal/libsignal.js +0 -180
  137. package/src/Signal/libsignal.ts +0 -141
  138. package/src/Socket/Client/abstract-socket-client.ts +0 -19
  139. package/src/Socket/Client/index.ts +0 -3
  140. package/src/Socket/Client/mobile-socket-client.js +0 -78
  141. package/src/Socket/Client/mobile-socket-client.ts +0 -66
  142. package/src/Socket/Client/web-socket-client.js +0 -75
  143. package/src/Socket/Client/web-socket-client.ts +0 -57
  144. package/src/Socket/business.ts +0 -281
  145. package/src/Socket/chats.ts +0 -1030
  146. package/src/Socket/groups.ts +0 -356
  147. package/src/Socket/index.ts +0 -13
  148. package/src/Socket/messages-recv.ts +0 -985
  149. package/src/Socket/messages-send.ts +0 -871
  150. package/src/Socket/newsletter.ts +0 -282
  151. package/src/Socket/registration.ts +0 -250
  152. package/src/Socket/socket.ts +0 -777
  153. package/src/Store/index.ts +0 -3
  154. package/src/Store/make-cache-manager-store.ts +0 -100
  155. package/src/Store/make-in-memory-store.ts +0 -475
  156. package/src/Store/make-ordered-dictionary.ts +0 -86
  157. package/src/Store/object-repository.ts +0 -32
  158. package/src/Tests/test.app-state-sync.js +0 -204
  159. package/src/Tests/test.app-state-sync.ts +0 -207
  160. package/src/Tests/test.event-buffer.js +0 -270
  161. package/src/Tests/test.event-buffer.ts +0 -319
  162. package/src/Tests/test.key-store.js +0 -76
  163. package/src/Tests/test.key-store.ts +0 -92
  164. package/src/Tests/test.libsignal.js +0 -141
  165. package/src/Tests/test.libsignal.ts +0 -186
  166. package/src/Tests/test.media-download.js +0 -93
  167. package/src/Tests/test.media-download.ts +0 -76
  168. package/src/Tests/test.messages.js +0 -33
  169. package/src/Tests/test.messages.ts +0 -37
  170. package/src/Tests/utils.js +0 -34
  171. package/src/Tests/utils.ts +0 -36
  172. package/src/Types/Auth.ts +0 -113
  173. package/src/Types/Call.ts +0 -15
  174. package/src/Types/Chat.ts +0 -106
  175. package/src/Types/Events.ts +0 -93
  176. package/src/Types/GroupMetadata.ts +0 -53
  177. package/src/Types/Label.ts +0 -36
  178. package/src/Types/Message.ts +0 -288
  179. package/src/Types/Newsletter.ts +0 -98
  180. package/src/Types/Product.ts +0 -85
  181. package/src/Types/Signal.ts +0 -68
  182. package/src/Types/State.ts +0 -29
  183. package/src/Types/index.ts +0 -59
  184. package/src/Utils/auth-utils.ts +0 -222
  185. package/src/Utils/baileys-event-stream.js +0 -92
  186. package/src/Utils/baileys-event-stream.ts +0 -66
  187. package/src/Utils/business.ts +0 -275
  188. package/src/Utils/chat-utils.ts +0 -860
  189. package/src/Utils/crypto.ts +0 -131
  190. package/src/Utils/decode-wa-message.js +0 -211
  191. package/src/Utils/decode-wa-message.ts +0 -228
  192. package/src/Utils/event-buffer.ts +0 -613
  193. package/src/Utils/generics.ts +0 -434
  194. package/src/Utils/history.ts +0 -112
  195. package/src/Utils/index.ts +0 -17
  196. package/src/Utils/link-preview.ts +0 -122
  197. package/src/Utils/logger.ts +0 -3
  198. package/src/Utils/lt-hash.ts +0 -61
  199. package/src/Utils/make-mutex.ts +0 -44
  200. package/src/Utils/messages-media.ts +0 -847
  201. package/src/Utils/messages.ts +0 -956
  202. package/src/Utils/noise-handler.ts +0 -197
  203. package/src/Utils/process-message.ts +0 -414
  204. package/src/Utils/signal.ts +0 -177
  205. package/src/Utils/use-multi-file-auth-state.ts +0 -90
  206. package/src/Utils/validate-connection.ts +0 -238
  207. package/src/WABinary/constants.ts +0 -42
  208. package/src/WABinary/decode.ts +0 -265
  209. package/src/WABinary/encode.ts +0 -236
  210. package/src/WABinary/generic-utils.ts +0 -121
  211. package/src/WABinary/index.ts +0 -5
  212. package/src/WABinary/jid-utils.ts +0 -68
  213. package/src/WABinary/types.ts +0 -17
  214. package/src/WAM/BinaryInfo.ts +0 -12
  215. package/src/WAM/constants.ts +0 -15382
  216. package/src/WAM/encode.ts +0 -174
  217. package/src/WAM/index.ts +0 -3
  218. package/src/gifted +0 -1
  219. package/src/index.ts +0 -13
  220. /package/{src → lib}/Defaults/phonenumber-mcc.json +0 -0
  221. /package/{src → lib}/Socket/Client/abstract-socket-client.js +0 -0
  222. /package/{src → lib}/Store/index.js +0 -0
  223. /package/{src → lib}/Store/make-ordered-dictionary.js +0 -0
  224. /package/{src → lib}/Types/Auth.js +0 -0
  225. /package/{src → lib}/Types/Call.js +0 -0
  226. /package/{src → lib}/Types/Chat.js +0 -0
  227. /package/{src → lib}/Types/Contact.js +0 -0
  228. /package/{src → lib}/Types/Events.js +0 -0
  229. /package/{src → lib}/Types/GroupMetadata.js +0 -0
  230. /package/{src → lib}/Types/Label.js +0 -0
  231. /package/{src → lib}/Types/LabelAssociation.js +0 -0
  232. /package/{src → lib}/Types/Message.js +0 -0
  233. /package/{src → lib}/Types/Newsletter.js +0 -0
  234. /package/{src → lib}/Types/Product.js +0 -0
  235. /package/{src → lib}/Types/Signal.js +0 -0
  236. /package/{src → lib}/Types/Socket.js +0 -0
  237. /package/{src → lib}/Types/State.js +0 -0
  238. /package/{src/WABinary/types.js → lib/Types/USync.js} +0 -0
  239. /package/{src → lib}/Types/index.js +0 -0
  240. /package/{src → lib}/Utils/index.js +0 -0
  241. /package/{src → lib}/Utils/logger.js +0 -0
  242. /package/{src → lib}/Utils/lt-hash.js +0 -0
  243. /package/{src → lib}/Utils/noise-handler.js +0 -0
  244. /package/{src → lib}/WABinary/constants.js +0 -0
  245. /package/{src → lib}/WABinary/decode.js +0 -0
  246. /package/{src → lib}/WABinary/generic-utils.js +0 -0
  247. /package/{src → lib}/WABinary/index.js +0 -0
  248. /package/{src → lib}/WABinary/jid-utils.js +0 -0
  249. /package/{src → lib}/WAM/BinaryInfo.js +0 -0
  250. /package/{src → lib}/WAM/constants.js +0 -0
  251. /package/{src → lib}/WAM/encode.js +0 -0
  252. /package/{src → lib}/WAM/index.js +0 -0
package/src/Types/Chat.ts DELETED
@@ -1,106 +0,0 @@
1
- import type { proto } from '../../WAProto'
2
- import type { AccountSettings } from './Auth'
3
- import type { BufferedEventData } from './Events'
4
- import type { ChatLabelAssociationActionBody } from './LabelAssociation'
5
- import type { MessageLabelAssociationActionBody } from './LabelAssociation'
6
- import type { MinimalMessage } from './Message'
7
-
8
- /** privacy settings in WhatsApp Web */
9
- export type WAPrivacyValue = 'all' | 'contacts' | 'contact_blacklist' | 'none'
10
-
11
- export type WAPrivacyOnlineValue = 'all' | 'match_last_seen'
12
-
13
- export type WAReadReceiptsValue = 'all' | 'none'
14
-
15
- /** set of statuses visible to other people; see updatePresence() in WhatsAppWeb.Send */
16
- export type WAPresence = 'unavailable' | 'available' | 'composing' | 'recording' | 'paused'
17
-
18
- export const ALL_WA_PATCH_NAMES = ['critical_block', 'critical_unblock_low', 'regular_high', 'regular_low', 'regular'] as const
19
-
20
- export type WAPatchName = typeof ALL_WA_PATCH_NAMES[number]
21
-
22
- export interface PresenceData {
23
- lastKnownPresence: WAPresence
24
- lastSeen?: number
25
- }
26
-
27
- export type ChatMutation = {
28
- syncAction: proto.ISyncActionData
29
- index: string[]
30
- }
31
-
32
- export type WAPatchCreate = {
33
- syncAction: proto.ISyncActionValue
34
- index: string[]
35
- type: WAPatchName
36
- apiVersion: number
37
- operation: proto.SyncdMutation.SyncdOperation
38
- }
39
-
40
- export type Chat = proto.IConversation & {
41
- /** unix timestamp of when the last message was received in the chat */
42
- lastMessageRecvTimestamp?: number
43
- }
44
-
45
- export type ChatUpdate = Partial<Chat & {
46
- /**
47
- * if specified in the update,
48
- * the EV buffer will check if the condition gets fulfilled before applying the update
49
- * Right now, used to determine when to release an app state sync event
50
- *
51
- * @returns true, if the update should be applied;
52
- * false if it can be discarded;
53
- * undefined if the condition is not yet fulfilled
54
- * */
55
- conditional: (bufferedData: BufferedEventData) => boolean | undefined
56
- }>
57
-
58
- /**
59
- * the last messages in a chat, sorted reverse-chronologically. That is, the latest message should be first in the chat
60
- * for MD modifications, the last message in the array (i.e. the earlist message) must be the last message recv in the chat
61
- * */
62
- export type LastMessageList = MinimalMessage[] | proto.SyncActionValue.ISyncActionMessageRange
63
-
64
- export type ChatModification =
65
- {
66
- archive: boolean
67
- lastMessages: LastMessageList
68
- }
69
- | { pushNameSetting: string }
70
- | { pin: boolean }
71
- | {
72
- /** mute for duration, or provide timestamp of mute to remove*/
73
- mute: number | null
74
- }
75
- | {
76
- clear: 'all' | { messages: { id: string, fromMe?: boolean, timestamp: number }[] }
77
- }
78
- | {
79
- star: {
80
- messages: { id: string, fromMe?: boolean }[]
81
- star: boolean
82
- }
83
- }
84
- | {
85
- markRead: boolean
86
- lastMessages: LastMessageList
87
- }
88
- | { delete: true, lastMessages: LastMessageList }
89
- // Label assosiation
90
- | { addChatLabel: ChatLabelAssociationActionBody }
91
- | { removeChatLabel: ChatLabelAssociationActionBody }
92
- | { addMessageLabel: MessageLabelAssociationActionBody }
93
- | { removeMessageLabel: MessageLabelAssociationActionBody }
94
-
95
- export type InitialReceivedChatsState = {
96
- [jid: string]: {
97
- /** the last message received from the other party */
98
- lastMsgRecvTimestamp?: number
99
- /** the absolute last message in the chat */
100
- lastMsgTimestamp: number
101
- }
102
- }
103
-
104
- export type InitialAppStateSyncOptions = {
105
- accountSettings: AccountSettings
106
- }
@@ -1,93 +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 } from './GroupMetadata'
8
- import { Label } from './Label'
9
- import { LabelAssociation } from './LabelAssociation'
10
- import { MessageUpsertType, MessageUserReceiptUpdate, WAMessage, WAMessageKey, WAMessageUpdate } from './Message'
11
- import { ConnectionState } from './State'
12
-
13
- export type BaileysEventMap = {
14
- /** connection state has been updated -- WS closed, opened, connecting etc. */
15
- 'connection.update': Partial<ConnectionState>
16
- /** credentials updated -- some metadata, keys or something */
17
- 'creds.update': Partial<AuthenticationCreds>
18
- /** set chats (history sync), everything is reverse chronologically sorted */
19
- 'messaging-history.set': {
20
- chats: Chat[]
21
- contacts: Contact[]
22
- messages: WAMessage[]
23
- isLatest: boolean
24
- }
25
- /** upsert chats */
26
- 'chats.upsert': Chat[]
27
- /** update the given chats */
28
- 'chats.update': ChatUpdate[]
29
- 'chats.phoneNumberShare': {lid: string, jid: string}
30
- /** delete chats with given ID */
31
- 'chats.delete': string[]
32
- /** presence of contact in a chat updated */
33
- 'presence.update': { id: string, presences: { [participant: string]: PresenceData } }
34
-
35
- 'contacts.upsert': Contact[]
36
- 'contacts.update': Partial<Contact>[]
37
-
38
- 'messages.delete': { keys: WAMessageKey[] } | { jid: string, all: true }
39
- 'messages.update': WAMessageUpdate[]
40
- 'messages.media-update': { key: WAMessageKey, media?: { ciphertext: Uint8Array, iv: Uint8Array }, error?: Boom }[]
41
- /**
42
- * add/update the given messages. If they were received while the connection was online,
43
- * the update will have type: "notify"
44
- * */
45
- 'messages.upsert': { messages: WAMessage[], type: MessageUpsertType }
46
- /** message was reacted to. If reaction was removed -- then "reaction.text" will be falsey */
47
- 'messages.reaction': { key: WAMessageKey, reaction: proto.IReaction }[]
48
-
49
- 'message-receipt.update': MessageUserReceiptUpdate[]
50
-
51
- 'groups.upsert': GroupMetadata[]
52
- 'groups.update': Partial<GroupMetadata>[]
53
- /** apply an action to participants in a group */
54
- 'group-participants.update': { id: string, author: string, participants: string[], action: ParticipantAction }
55
-
56
- 'blocklist.set': { blocklist: string[] }
57
- 'blocklist.update': { blocklist: string[], type: 'add' | 'remove' }
58
-
59
- /** Receive an update on a call, including when the call was received, rejected, accepted */
60
- 'call': WACallEvent[]
61
- 'labels.edit': Label
62
- 'labels.association': { association: LabelAssociation, type: 'add' | 'remove' }
63
- }
64
-
65
- export type BufferedEventData = {
66
- historySets: {
67
- chats: { [jid: string]: Chat }
68
- contacts: { [jid: string]: Contact }
69
- messages: { [uqId: string]: WAMessage }
70
- empty: boolean
71
- isLatest: boolean
72
- }
73
- chatUpserts: { [jid: string]: Chat }
74
- chatUpdates: { [jid: string]: ChatUpdate }
75
- chatDeletes: Set<string>
76
- contactUpserts: { [jid: string]: Contact }
77
- contactUpdates: { [jid: string]: Partial<Contact> }
78
- messageUpserts: { [key: string]: { type: MessageUpsertType, message: WAMessage } }
79
- messageUpdates: { [key: string]: WAMessageUpdate }
80
- messageDeletes: { [key: string]: WAMessageKey }
81
- messageReactions: { [key: string]: { key: WAMessageKey, reactions: proto.IReaction[] } }
82
- messageReceipts: { [key: string]: { key: WAMessageKey, userReceipt: proto.IUserReceipt[] } }
83
- groupUpdates: { [jid: string]: Partial<GroupMetadata> }
84
- }
85
-
86
- export type BaileysEvent = keyof BaileysEventMap
87
-
88
- export interface BaileysEventEmitter {
89
- on<T extends keyof BaileysEventMap>(event: T, listener: (arg: BaileysEventMap[T]) => void): void
90
- off<T extends keyof BaileysEventMap>(event: T, listener: (arg: BaileysEventMap[T]) => void): void
91
- removeAllListeners<T extends keyof BaileysEventMap>(event: T): void
92
- emit<T extends keyof BaileysEventMap>(event: T, arg: BaileysEventMap[T]): boolean
93
- }
@@ -1,53 +0,0 @@
1
- import { Contact } from './Contact'
2
-
3
- export type GroupParticipant = (Contact & { isAdmin?: boolean, isSuperAdmin?: boolean, admin?: 'admin' | 'superadmin' | null })
4
-
5
- export type ParticipantAction = 'add' | 'remove' | 'promote' | 'demote'
6
-
7
- export interface GroupMetadata {
8
- id: string
9
- owner: string | undefined
10
- subject: string
11
- /** group subject owner */
12
- subjectOwner?: string
13
- /** group subject modification date */
14
- subjectTime?: number
15
- creation?: number
16
- desc?: string
17
- descOwner?: string
18
- descId?: string
19
- /** if this group is part of a community, it returns the jid of the community to which it belongs */
20
- linkedParent?: string
21
- /** is set when the group only allows admins to change group settings */
22
- restrict?: boolean
23
- /** is set when the group only allows admins to write messages */
24
- announce?: boolean
25
- /** is set when the group also allows members to add participants */
26
- memberAddMode?: boolean
27
- /** Request approval to join the group */
28
- joinApprovalMode?: boolean
29
- /** is this a community */
30
- isCommunity?: boolean
31
- /** is this the announce of a community */
32
- isCommunityAnnounce?: boolean
33
- /** number of group participants */
34
- size?: number
35
- // Baileys modified array
36
- participants: GroupParticipant[]
37
- ephemeralDuration?: number
38
- inviteCode?: string
39
- /** the person who added you to group or changed some setting in group */
40
- author?: string
41
- }
42
-
43
-
44
- export interface WAGroupCreateResponse {
45
- status: number
46
- gid?: string
47
- participants?: [{ [key: string]: {} }]
48
- }
49
-
50
- export interface GroupModificationResponse {
51
- status: number
52
- participants?: { [key: string]: {} }
53
- }
@@ -1,36 +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
- /** WhatsApp has 20 predefined colors */
15
- export enum LabelColor {
16
- Color1 = 0,
17
- Color2,
18
- Color3,
19
- Color4,
20
- Color5,
21
- Color6,
22
- Color7,
23
- Color8,
24
- Color9,
25
- Color10,
26
- Color11,
27
- Color12,
28
- Color13,
29
- Color14,
30
- Color15,
31
- Color16,
32
- Color17,
33
- Color18,
34
- Color19,
35
- Color20,
36
- }
@@ -1,288 +0,0 @@
1
- import { AxiosRequestConfig } from 'axios'
2
- import type { Logger } from 'pino'
3
- import type { Readable } from 'stream'
4
- import type { URL } from 'url'
5
- import { BinaryNode } from '../WABinary'
6
- import { proto } from '../../WAProto'
7
- import { MEDIA_HKDF_KEY_MAPPING } from '../Defaults'
8
- import type { GroupMetadata } from './GroupMetadata'
9
- import { CacheStore } from './Socket'
10
-
11
- // export the WAMessage Prototypes
12
- export { proto as WAProto }
13
- export type WAMessage = proto.IWebMessageInfo
14
- export type WAMessageContent = proto.IMessage
15
- export type WAContactMessage = proto.Message.IContactMessage
16
- export type WAContactsArrayMessage = proto.Message.IContactsArrayMessage
17
- export type WAMessageKey = proto.IMessageKey
18
- export type WATextMessage = proto.Message.IExtendedTextMessage
19
- export type WAContextInfo = proto.IContextInfo
20
- export type WALocationMessage = proto.Message.ILocationMessage
21
- export type WAGenericMediaMessage = proto.Message.IVideoMessage | proto.Message.IImageMessage | proto.Message.IAudioMessage | proto.Message.IDocumentMessage | proto.Message.IStickerMessage
22
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
23
- export import WAMessageStubType = proto.WebMessageInfo.StubType
24
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
25
- export import WAMessageStatus = proto.WebMessageInfo.Status
26
- export type WAMediaUpload = Buffer | { url: URL | string } | { stream: Readable }
27
- /** Set of message types that are supported by the library */
28
- export type MessageType = keyof proto.Message
29
-
30
- export type DownloadableMessage = { mediaKey?: Uint8Array | null, directPath?: string | null, url?: string | null }
31
-
32
- export type MessageReceiptType = 'read' | 'read-self' | 'hist_sync' | 'peer_msg' | 'sender' | 'inactive' | 'played' | undefined
33
-
34
- export type MediaConnInfo = {
35
- auth: string
36
- ttl: number
37
- hosts: { hostname: string, maxContentLengthBytes: number }[]
38
- fetchDate: Date
39
- }
40
-
41
- export interface WAUrlInfo {
42
- 'canonical-url': string
43
- 'matched-text': string
44
- title: string
45
- description?: string
46
- jpegThumbnail?: Buffer
47
- highQualityThumbnail?: proto.Message.IImageMessage
48
- originalThumbnailUrl?: string
49
- }
50
-
51
- // types to generate WA messages
52
- type Mentionable = {
53
- /** list of jids that are mentioned in the accompanying text */
54
- mentions?: string[]
55
- }
56
- type Contextable = {
57
- /** add contextInfo to the message */
58
- contextInfo?: proto.IContextInfo
59
- }
60
- type ViewOnce = {
61
- viewOnce?: boolean
62
- }
63
-
64
- type Buttonable = {
65
- /** add buttons to the message */
66
- buttons?: proto.Message.ButtonsMessage.IButton[]
67
- }
68
- type Templatable = {
69
- /** add buttons to the message (conflicts with normal buttons)*/
70
- templateButtons?: proto.IHydratedTemplateButton[]
71
-
72
- footer?: string
73
- }
74
- type Editable = {
75
- edit?: WAMessageKey
76
- }
77
- type Listable = {
78
- /** Sections of the List */
79
- sections?: proto.Message.ListMessage.ISection[]
80
-
81
- /** Title of a List Message only */
82
- title?: string
83
-
84
- /** Text of the bnutton on the list (required) */
85
- buttonText?: string
86
- }
87
- type WithDimensions = {
88
- width?: number
89
- height?: number
90
- }
91
-
92
- export type PollMessageOptions = {
93
- name: string
94
- selectableCount?: number
95
- values: string[]
96
- /** 32 byte message secret to encrypt poll selections */
97
- messageSecret?: Uint8Array
98
- }
99
-
100
- type SharePhoneNumber = {
101
- sharePhoneNumber: boolean
102
- }
103
-
104
- type RequestPhoneNumber = {
105
- requestPhoneNumber: boolean
106
- }
107
-
108
- export type MediaType = keyof typeof MEDIA_HKDF_KEY_MAPPING
109
- export type AnyMediaMessageContent = (
110
- ({
111
- image: WAMediaUpload
112
- caption?: string
113
- jpegThumbnail?: string
114
- } & Mentionable & Contextable & Buttonable & Templatable & WithDimensions)
115
- | ({
116
- video: WAMediaUpload
117
- caption?: string
118
- gifPlayback?: boolean
119
- jpegThumbnail?: string
120
- /** if set to true, will send as a `video note` */
121
- ptv?: boolean
122
- } & Mentionable & Contextable & Buttonable & Templatable & WithDimensions)
123
- | {
124
- audio: WAMediaUpload
125
- /** if set to true, will send as a `voice note` */
126
- ptt?: boolean
127
- /** optionally tell the duration of the audio */
128
- seconds?: number
129
- }
130
- | ({
131
- sticker: WAMediaUpload
132
- isAnimated?: boolean
133
- } & WithDimensions) | ({
134
- document: WAMediaUpload
135
- mimetype: string
136
- fileName?: string
137
- caption?: string
138
- } & Contextable & Buttonable & Templatable))
139
- & { mimetype?: string } & Editable
140
-
141
- export type ButtonReplyInfo = {
142
- displayText: string
143
- id: string
144
- index: number
145
- }
146
-
147
- export type WASendableProduct = Omit<proto.Message.ProductMessage.IProductSnapshot, 'productImage'> & {
148
- productImage: WAMediaUpload
149
- }
150
-
151
- export type AnyRegularMessageContent = (
152
- ({
153
- text: string
154
- linkPreview?: WAUrlInfo | null
155
- }
156
- & Mentionable & Contextable & Buttonable & Templatable & Listable & Editable)
157
- | AnyMediaMessageContent
158
- | ({
159
- poll: PollMessageOptions
160
- } & Mentionable & Contextable & Buttonable & Templatable & Editable)
161
- | {
162
- contacts: {
163
- displayName?: string
164
- contacts: proto.Message.IContactMessage[]
165
- }
166
- }
167
- | {
168
- location: WALocationMessage
169
- }
170
- | { react: proto.Message.IReactionMessage }
171
- | {
172
- buttonReply: ButtonReplyInfo
173
- type: 'template' | 'plain'
174
- }
175
- | {
176
- listReply: Omit<proto.Message.IListResponseMessage, 'contextInfo'>
177
- }
178
- | {
179
- product: WASendableProduct
180
- businessOwnerJid?: string
181
- body?: string
182
- footer?: string
183
- } | SharePhoneNumber | RequestPhoneNumber
184
- ) & ViewOnce
185
-
186
- export type AnyMessageContent = AnyRegularMessageContent | {
187
- forward: WAMessage
188
- force?: boolean
189
- } | {
190
- /** Delete your message or anyone's message in a group (admin required) */
191
- delete: WAMessageKey
192
- } | {
193
- disappearingMessagesInChat: boolean | number
194
- }
195
-
196
- export type GroupMetadataParticipants = Pick<GroupMetadata, 'participants'>
197
-
198
- type MinimalRelayOptions = {
199
- /** override the message ID with a custom provided string */
200
- messageId?: string
201
- /** cached group metadata, use to prevent redundant requests to WA & speed up msg sending */
202
- cachedGroupMetadata?: (jid: string) => Promise<GroupMetadataParticipants | undefined>
203
- }
204
-
205
- export type MessageRelayOptions = MinimalRelayOptions & {
206
- /** only send to a specific participant; used when a message decryption fails for a single user */
207
- participant?: { jid: string, count: number }
208
- /** additional attributes to add to the WA binary node */
209
- additionalAttributes?: { [_: string]: string }
210
- additionalNodes?: BinaryNode[];
211
- /** should we use the devices cache, or fetch afresh from the server; default assumed to be "true" */
212
- useUserDevicesCache?: boolean
213
- /** jid list of participants for status@broadcast */
214
- statusJidList?: string[]
215
- }
216
-
217
- export type MiscMessageGenerationOptions = MinimalRelayOptions & {
218
- /** optional, if you want to manually set the timestamp of the message */
219
- timestamp?: Date
220
- /** the message you want to quote */
221
- quoted?: WAMessage
222
- additionalNodes?: BinaryNode[];
223
- /** disappearing messages settings */
224
- ephemeralExpiration?: number | string
225
- /** timeout for media upload to WA server */
226
- mediaUploadTimeoutMs?: number
227
- /** jid list of participants for status@broadcast */
228
- statusJidList?: string[]
229
- /** backgroundcolor for status */
230
- backgroundColor?: string
231
- /** font type for status */
232
- font?: number
233
- /** if it is broadcast */
234
- broadcast?: boolean
235
- }
236
- export type MessageGenerationOptionsFromContent = MiscMessageGenerationOptions & {
237
- userJid: string
238
- }
239
-
240
- export type WAMediaUploadFunctionOpts = { fileEncSha256B64: string, mediaType: MediaType, newsletter?: boolean, timeoutMs?: number }
241
-
242
- export type WAMediaUploadFunction = (readStream: Readable | Buffer, opts: WAMediaUploadFunctionOpts) => Promise<{ mediaUrl: string, directPath: string, handle?: string }>
243
-
244
- export type MediaGenerationOptions = {
245
- logger?: Logger
246
- mediaTypeOverride?: MediaType
247
- upload: WAMediaUploadFunction
248
- /** cache media so it does not have to be uploaded again */
249
- mediaCache?: CacheStore
250
-
251
- mediaUploadTimeoutMs?: number
252
-
253
- options?: AxiosRequestConfig
254
-
255
- backgroundColor?: string
256
-
257
- font?: number
258
-
259
- /** The message is for newsletter? */
260
- newsletter?: boolean
261
- }
262
- export type MessageContentGenerationOptions = MediaGenerationOptions & {
263
- getUrlInfo?: (text: string) => Promise<WAUrlInfo | undefined>
264
- }
265
- export type MessageGenerationOptions = MessageContentGenerationOptions & MessageGenerationOptionsFromContent
266
-
267
- /**
268
- * Type of message upsert
269
- * 1. notify => notify the user, this message was just received
270
- * 2. append => append the message to the chat history, no notification required
271
- */
272
- export type MessageUpsertType = 'append' | 'notify'
273
-
274
- export type MessageUserReceipt = proto.IUserReceipt
275
-
276
- export type WAMessageUpdate = { update: Partial<WAMessage>, key: proto.IMessageKey }
277
-
278
- export type WAMessageCursor = { before: WAMessageKey | undefined } | { after: WAMessageKey | undefined }
279
-
280
- export type MessageUserReceiptUpdate = { key: proto.IMessageKey, receipt: MessageUserReceipt }
281
-
282
- export type MediaDecryptionKeyInfo = {
283
- iv: Buffer
284
- cipherKey: Buffer
285
- macKey?: Buffer
286
- }
287
-
288
- export type MinimalMessage = Pick<proto.IWebMessageInfo, 'key' | 'messageTimestamp'>
@@ -1,98 +0,0 @@
1
- import { proto } from '../../WAProto'
2
-
3
- export type NewsletterReactionMode = 'ALL' | 'BASIC' | 'NONE'
4
-
5
- export type NewsletterState = 'ACTIVE' | 'GEOSUSPENDED' | 'SUSPENDED'
6
-
7
- export type NewsletterVerification = 'VERIFIED' | 'UNVERIFIED'
8
-
9
- export type NewsletterMute = 'ON' | 'OFF' | 'UNDEFINED'
10
-
11
- export type NewsletterViewRole = 'ADMIN' | 'GUEST' | 'OWNER' | 'SUBSCRIBER'
12
-
13
- export type NewsletterViewerMetadata = {
14
- mute: NewsletterMute
15
- view_role: NewsletterViewRole
16
- }
17
-
18
- export type NewsletterMetadata = {
19
- /**jid of newsletter */
20
- id: string
21
- /**state of newsletter */
22
- state: NewsletterState
23
- /**creation timestamp of newsletter */
24
- creation_time: number
25
- /**name of newsletter */
26
- name: string
27
- /**timestamp of last name modification of newsletter */
28
- nameTime: number
29
- /**description of newsletter */
30
- description: string
31
- /**timestamp of last description modification of newsletter */
32
- descriptionTime: number
33
- /**invite code of newsletter */
34
- invite: string
35
- /**i dont know */
36
- handle: null
37
- /**direct path of picture */
38
- picture: string | null
39
- /**direct path of picture preview (lower quality) */
40
- preview: string | null
41
- /**reaction mode of newsletter */
42
- reaction_codes?: NewsletterReactionMode
43
- /**subscribers count of newsletter */
44
- subscribers: number
45
- /**verification state of newsletter */
46
- verification: NewsletterVerification
47
- /**viewer metadata */
48
- viewer_metadata: NewsletterViewerMetadata
49
- }
50
-
51
- export type SubscriberAction = 'promote' | 'demote'
52
-
53
- export type ReactionModeUpdate = {reaction_codes: {blocked_codes: null, enabled_ts_sec: null, value: NewsletterReactionMode}}
54
-
55
- /**only exists reaction mode update */
56
- export type NewsletterSettingsUpdate = ReactionModeUpdate
57
-
58
- export type NewsletterReaction = {count: number, code: string}
59
-
60
- export type NewsletterFetchedUpdate = {
61
- /**id of message in newsletter, starts from 100 */
62
- server_id: string
63
- /**count of views in this message */
64
- views?: number
65
- /**reactions in this message */
66
- reactions: NewsletterReaction[]
67
- /**the message, if you requested only updates, you will not receive message */
68
- message?: proto.IWebMessageInfo
69
- }
70
-
71
- export enum MexOperations {
72
- PROMOTE = 'NotificationNewsletterAdminPromote',
73
- DEMOTE = 'NotificationNewsletterAdminDemote',
74
- UPDATE = 'NotificationNewsletterUpdate'
75
- }
76
-
77
- export enum XWAPaths {
78
- PROMOTE = 'xwa2_notify_newsletter_admin_promote',
79
- DEMOTE = 'xwa2_notify_newsletter_admin_demote',
80
- ADMIN_COUNT = 'xwa2_newsletter_admin',
81
- CREATE = 'xwa2_newsletter_create',
82
- NEWSLETTER = 'xwa2_newsletter',
83
- METADATA_UPDATE = 'xwa2_notify_newsletter_on_metadata_update'
84
- }
85
-
86
- export enum QueryIds {
87
- JOB_MUTATION = '7150902998257522',
88
- METADATA = '6620195908089573',
89
- UNFOLLOW = '7238632346214362',
90
- FOLLOW = '7871414976211147',
91
- UNMUTE = '7337137176362961',
92
- MUTE = '25151904754424642',
93
- CREATE = '6996806640408138',
94
- ADMIN_COUNT = '7130823597031706',
95
- CHANGE_OWNER = '7341777602580933',
96
- DELETE = '8316537688363079',
97
- DEMOTE = '6551828931592903'
98
- }