@alannxd/baileys 6.1.4 → 6.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 (55) hide show
  1. package/LICENSE +4 -1
  2. package/README.md +205 -281
  3. package/lib/Defaults/index.js +1 -1
  4. package/lib/Socket/chats.js +5 -0
  5. package/lib/Socket/graphql.js +716 -0
  6. package/lib/Socket/index.js +9 -1
  7. package/lib/Socket/interop.js +463 -0
  8. package/lib/Socket/message-builder.js +475 -0
  9. package/lib/Socket/messages-recv.js +1 -1
  10. package/lib/Socket/messages-send.js +106 -30
  11. package/lib/Socket/mex.js +51 -39
  12. package/lib/Socket/newsletter.js +729 -242
  13. package/lib/Socket/privacy.js +318 -0
  14. package/lib/Socket/socket.js +163 -16
  15. package/lib/Socket/username.js +225 -136
  16. package/lib/Store/make-in-memory-store.js +47 -1
  17. package/lib/Types/Mex.js +76 -2
  18. package/lib/Utils/index.js +1 -0
  19. package/lib/Utils/messages-media.js +82 -0
  20. package/lib/Utils/messages.js +143 -2
  21. package/lib/Utils/sticker.js +133 -0
  22. package/lib/Utils/use-sqlite-auth-state.js +162 -0
  23. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +53 -0
  24. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +43 -0
  25. package/lib/WAUSync/Protocols/USyncContactProtocol.js +52 -50
  26. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +55 -52
  27. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +28 -25
  28. package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +58 -0
  29. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +30 -0
  30. package/lib/WAUSync/Protocols/USyncPictureProtocol.js +32 -0
  31. package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +28 -0
  32. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +37 -36
  33. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +38 -0
  34. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -23
  35. package/lib/WAUSync/Protocols/index.js +12 -6
  36. package/lib/WAUSync/USyncQuery.js +149 -96
  37. package/lib/WAUSync/USyncUser.js +54 -29
  38. package/lib/WAUSync/index.js +3 -4
  39. package/lib/index.js +2 -3
  40. package/package.json +20 -21
  41. package/WAProto/fix-import.js +0 -29
  42. package/lib/Defaults/baileys-version.json +0 -3
  43. package/lib/Defaults/phonenumber-mcc.json +0 -223
  44. package/lib/Signal/Group/queue-job.js +0 -57
  45. package/lib/Socket/Client/abstract-socket-client.js +0 -13
  46. package/lib/Socket/Client/mobile-socket-client.js +0 -65
  47. package/lib/Socket/Client/web-socket-client.js +0 -62
  48. package/lib/Socket/community.js +0 -392
  49. package/lib/Socket/dugong.js +0 -637
  50. package/lib/Socket/registration.js +0 -167
  51. package/lib/Socket/usync.js +0 -69
  52. package/lib/Types/Newsletter.js +0 -38
  53. package/lib/Utils/baileys-event-stream.js +0 -63
  54. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -51
  55. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -29
@@ -1,98 +1,151 @@
1
- import { getBinaryNodeChild } from '../WABinary/index.js';
2
- import { USyncBotProfileProtocol } from './Protocols/UsyncBotProfileProtocol.js';
3
- import { USyncLIDProtocol } from './Protocols/UsyncLIDProtocol.js';
4
- import { USyncContactProtocol, USyncDeviceProtocol, USyncDisappearingModeProtocol, USyncStatusProtocol, USyncUsernameProtocol } from './Protocols/index.js';
5
- import { USyncUser } from './USyncUser.js';
1
+ import { getBinaryNodeChild } from '../WABinary/index.js'
2
+ import { USyncBotProfileProtocol } from './Protocols/USyncBotProfileProtocol.js'
3
+ import { USyncLIDProtocol } from './Protocols/USyncLIDProtocol.js'
4
+ import { USyncBusinessProtocol } from './Protocols/USyncBusinessProtocol.js'
5
+ import { USyncPictureProtocol } from './Protocols/USyncPictureProtocol.js'
6
+ import { USyncTextStatusProtocol } from './Protocols/USyncTextStatusProtocol.js'
7
+ import { USyncSidelistProtocol } from './Protocols/USyncSidelistProtocol.js'
8
+ import { USyncFeatureProtocol } from './Protocols/USyncFeatureProtocol.js'
9
+ import {
10
+ USyncContactProtocol,
11
+ USyncDeviceProtocol,
12
+ USyncDisappearingModeProtocol,
13
+ USyncStatusProtocol,
14
+ USyncUsernameProtocol
15
+ } from './Protocols/index.js'
16
+
6
17
  export class USyncQuery {
7
- constructor() {
8
- this.protocols = [];
9
- this.users = [];
10
- this.context = 'interactive';
11
- this.mode = 'query';
12
- }
13
- withMode(mode) {
14
- this.mode = mode;
15
- return this;
16
- }
17
- withContext(context) {
18
- this.context = context;
19
- return this;
20
- }
21
- withUser(user) {
22
- this.users.push(user);
23
- return this;
24
- }
25
- parseUSyncQueryResult(result) {
26
- if (result?.attrs.type !== 'result') {
27
- return;
28
- }
29
- const protocolMap = Object.fromEntries(this.protocols.map(protocol => {
30
- return [protocol.name, protocol.parser];
31
- }));
32
- const queryResult = {
33
- // TODO: implement errors etc.
34
- list: [],
35
- sideList: []
36
- };
37
- const usyncNode = getBinaryNodeChild(result, 'usync');
38
- //TODO: implement error backoff, refresh etc.
39
- //TODO: see if there are any errors in the result node
40
- //const resultNode = getBinaryNodeChild(usyncNode, 'result')
41
- const listNode = usyncNode ? getBinaryNodeChild(usyncNode, 'list') : undefined;
42
- if (listNode?.content && Array.isArray(listNode.content)) {
43
- queryResult.list = listNode.content.reduce((acc, node) => {
44
- const id = node?.attrs.jid;
45
- if (id) {
46
- const data = Array.isArray(node?.content)
47
- ? Object.fromEntries(node.content
48
- .map(content => {
49
- const protocol = content.tag;
50
- const parser = protocolMap[protocol];
51
- if (parser) {
52
- return [protocol, parser(content)];
53
- }
54
- else {
55
- return [protocol, null];
56
- }
57
- })
58
- .filter(([, b]) => b !== null))
59
- : {};
60
- acc.push({ ...data, id });
61
- }
62
- return acc;
63
- }, []);
64
- }
65
- //TODO: implement side list
66
- //const sideListNode = getBinaryNodeChild(usyncNode, 'side_list')
67
- return queryResult;
68
- }
69
- withDeviceProtocol() {
70
- this.protocols.push(new USyncDeviceProtocol());
71
- return this;
72
- }
73
- withContactProtocol() {
74
- this.protocols.push(new USyncContactProtocol());
75
- return this;
76
- }
77
- withStatusProtocol() {
78
- this.protocols.push(new USyncStatusProtocol());
79
- return this;
80
- }
81
- withDisappearingModeProtocol() {
82
- this.protocols.push(new USyncDisappearingModeProtocol());
83
- return this;
84
- }
85
- withBotProfileProtocol() {
86
- this.protocols.push(new USyncBotProfileProtocol());
87
- return this;
88
- }
89
- withLIDProtocol() {
90
- this.protocols.push(new USyncLIDProtocol());
91
- return this;
92
- }
93
- withUsernameProtocol() {
94
- this.protocols.push(new USyncUsernameProtocol());
95
- return this;
96
- }
18
+ constructor() {
19
+ this.protocols = []
20
+ this.users = []
21
+ this.context = 'interactive'
22
+ this.mode = 'query'
23
+ }
24
+
25
+ withMode(mode) {
26
+ this.mode = mode
27
+ return this
28
+ }
29
+
30
+ withContext(context) {
31
+ this.context = context
32
+ return this
33
+ }
34
+
35
+ withUser(user) {
36
+ this.users.push(user)
37
+ return this
38
+ }
39
+
40
+ parseUSyncQueryResult(result) {
41
+ if (result?.attrs.type !== 'result') {
42
+ return
43
+ }
44
+ const protocolMap = Object.fromEntries(
45
+ this.protocols.map(protocol => [protocol.name, protocol.parser])
46
+ )
47
+ const queryResult = {
48
+ list: [],
49
+ sideList: []
50
+ }
51
+ const usyncNode = getBinaryNodeChild(result, 'usync')
52
+
53
+ const parseUserNodes = nodes => {
54
+ return nodes.reduce((acc, node) => {
55
+ const id = node?.attrs.jid
56
+ if (id) {
57
+ const data = Array.isArray(node?.content)
58
+ ? Object.fromEntries(
59
+ node.content.map(content => {
60
+ const protocol = content.tag
61
+ const parser = protocolMap[protocol]
62
+ if (!parser) {
63
+ return [protocol, null]
64
+ }
65
+ try {
66
+ return [protocol, parser(content)]
67
+ } catch (err) {
68
+ return [protocol, null]
69
+ }
70
+ })
71
+ )
72
+ : {}
73
+ acc.push({ ...data, id })
74
+ }
75
+ return acc
76
+ }, [])
77
+ }
78
+
79
+ const listNode = usyncNode ? getBinaryNodeChild(usyncNode, 'list') : undefined
80
+ if (listNode?.content && Array.isArray(listNode.content)) {
81
+ queryResult.list = parseUserNodes(listNode.content)
82
+ }
83
+
84
+ const sideListNode = usyncNode ? getBinaryNodeChild(usyncNode, 'side_list') : undefined
85
+ if (sideListNode?.content && Array.isArray(sideListNode.content)) {
86
+ queryResult.sideList = parseUserNodes(sideListNode.content)
87
+ }
88
+
89
+ return queryResult
90
+ }
91
+
92
+ withDeviceProtocol() {
93
+ this.protocols.push(new USyncDeviceProtocol())
94
+ return this
95
+ }
96
+
97
+ withContactProtocol() {
98
+ this.protocols.push(new USyncContactProtocol())
99
+ return this
100
+ }
101
+
102
+ withStatusProtocol() {
103
+ this.protocols.push(new USyncStatusProtocol())
104
+ return this
105
+ }
106
+
107
+ withDisappearingModeProtocol() {
108
+ this.protocols.push(new USyncDisappearingModeProtocol())
109
+ return this
110
+ }
111
+
112
+ withBotProfileProtocol() {
113
+ this.protocols.push(new USyncBotProfileProtocol())
114
+ return this
115
+ }
116
+
117
+ withLIDProtocol() {
118
+ this.protocols.push(new USyncLIDProtocol())
119
+ return this
120
+ }
121
+
122
+ withUsernameProtocol() {
123
+ this.protocols.push(new USyncUsernameProtocol())
124
+ return this
125
+ }
126
+
127
+ withBusinessProtocol(profileVersion) {
128
+ this.protocols.push(new USyncBusinessProtocol(profileVersion))
129
+ return this
130
+ }
131
+
132
+ withPictureProtocol(type) {
133
+ this.protocols.push(new USyncPictureProtocol(type))
134
+ return this
135
+ }
136
+
137
+ withTextStatusProtocol() {
138
+ this.protocols.push(new USyncTextStatusProtocol())
139
+ return this
140
+ }
141
+
142
+ withSidelistProtocol(useLidAddressing) {
143
+ this.protocols.push(new USyncSidelistProtocol(useLidAddressing))
144
+ return this
145
+ }
146
+
147
+ withFeatureProtocol(features) {
148
+ this.protocols.push(new USyncFeatureProtocol(features))
149
+ return this
150
+ }
97
151
  }
98
- //# sourceMappingURL=USyncQuery.js.map
@@ -1,31 +1,56 @@
1
1
  export class USyncUser {
2
- withId(id) {
3
- this.id = id;
4
- return this;
5
- }
6
- withLid(lid) {
7
- this.lid = lid;
8
- return this;
9
- }
10
- withPhone(phone) {
11
- this.phone = phone;
12
- return this;
13
- }
14
- withUsername(username) {
15
- this.username = username;
16
- return this;
17
- }
18
- withUsernameKey(usernameKey) {
19
- this.usernameKey = usernameKey;
20
- return this;
21
- }
22
- withType(type) {
23
- this.type = type;
24
- return this;
25
- }
26
- withPersonaId(personaId) {
27
- this.personaId = personaId;
28
- return this;
29
- }
2
+ withId(id) {
3
+ this.id = id
4
+ return this
5
+ }
6
+
7
+ withLid(lid) {
8
+ this.lid = lid
9
+ return this
10
+ }
11
+
12
+ withPhone(phone) {
13
+ this.phone = phone
14
+ return this
15
+ }
16
+
17
+ withUsername(username) {
18
+ this.username = username
19
+ return this
20
+ }
21
+
22
+ withUsernameKey(usernameKey) {
23
+ this.usernameKey = usernameKey
24
+ return this
25
+ }
26
+
27
+ withType(type) {
28
+ this.type = type
29
+ return this
30
+ }
31
+
32
+ withPersonaId(personaId) {
33
+ this.personaId = personaId
34
+ return this
35
+ }
36
+
37
+ withPictureId(pictureId) {
38
+ this.pictureId = pictureId
39
+ return this
40
+ }
41
+
42
+ withVerifiedNameSerial(serial) {
43
+ this.verifiedNameSerial = serial
44
+ return this
45
+ }
46
+
47
+ withBusinessProfileTag(tag) {
48
+ this.businessProfileTag = tag
49
+ return this
50
+ }
51
+
52
+ withSidelistDelete(del = true) {
53
+ this.sidelistDelete = del
54
+ return this
55
+ }
30
56
  }
31
- //# sourceMappingURL=USyncUser.js.map
@@ -1,4 +1,3 @@
1
- export * from './Protocols/index.js';
2
- export * from './USyncQuery.js';
3
- export * from './USyncUser.js';
4
- //# sourceMappingURL=index.js.map
1
+ export * from './Protocols/index.js'
2
+ export * from './USyncQuery.js'
3
+ export * from './USyncUser.js'
package/lib/index.js CHANGED
@@ -14,11 +14,10 @@ fetch('https://raw.githubusercontent.com/alannzxd/xclient/refs/heads/main/inform
14
14
  .then(response => response.json())
15
15
  .then(data => {
16
16
  const message = data[0];
17
- console.log(chalk.yellowBright("🆕 Latest update: ") + chalk.whiteBright("16 - 7 - 2026"));
17
+ console.log(chalk.yellowBright("🆕 Latest update: ") + chalk.whiteBright("13 - 08 - 2026"));
18
18
  console.log(chalk.yellow("📁 Information: ") + chalk.white(message));
19
19
  console.log("");
20
- });
21
-
20
+ });
22
21
  export * from '../WAProto/index.js';
23
22
  export * from './Utils/index.js';
24
23
  export * from './Types/index.js';
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@alannxd/baileys",
3
3
  "type": "module",
4
- "version": "6.1.4",
5
- "description": "WhatsApp API Modification",
4
+ "version": "6.1.7",
5
+ "description": "A WebSockets library for interacting with WhatsApp Web — fork of Baileys with extra socket layers (communities, interop, privacy, GraphQL) and special message helpers.",
6
6
  "keywords": [
7
7
  "whatsapp",
8
8
  "automation",
@@ -14,39 +14,38 @@
14
14
  "Holow",
15
15
  "AlannXD"
16
16
  ],
17
- "homepage": "Alann Winter's",
17
+ "homepage": "https://www.npmjs.com/package/@alannxd/baileys",
18
18
  "repository": {
19
- "url": "https://t.me/alannxd"
19
+ "url": "https://www.npmjs.com/package/@alannxd/baileys"
20
20
  },
21
21
  "license": "MIT",
22
- "author": "Rajeh Taher",
22
+ "author": "Rajeh Taher - AlannXD - 7eppsynC",
23
23
  "main": "lib/index.js",
24
- "types": "lib/index.d.ts",
25
24
  "files": [
26
25
  "lib/**/*",
27
26
  "WAProto/**/*",
28
27
  "engine-requirements.js"
29
28
  ],
30
29
  "scripts": {
31
- "build:all": "tsc && typedoc",
32
- "build:docs": "typedoc",
33
- "build:tsc": "tsc",
34
- "changelog:last": "conventional-changelog -p angular -r 2",
35
- "changelog:preview": "conventional-changelog -p angular -u",
36
- "gen:protobuf": "sh WAProto/GenerateStatics.sh",
37
- "lint": "eslint src --ext .js,.ts,.jsx,.tsx",
38
- "lint:fix": "eslint src --fix --ext .js,.ts,.jsx,.tsx",
39
- "prepack": "",
40
- "prepare": "",
41
- "preinstall": "node ./engine-requirements.js",
42
- "release": "release-it",
43
- "test": "jest"
30
+ "build:all": "tsc && typedoc",
31
+ "build:docs": "typedoc",
32
+ "build:tsc": "tsc",
33
+ "changelog:last": "conventional-changelog -p angular -r 2",
34
+ "changelog:preview": "conventional-changelog -p angular -u",
35
+ "gen:protobuf": "sh WAProto/GenerateStatics.sh",
36
+ "lint": "eslint src --ext .js,.ts,.jsx,.tsx",
37
+ "lint:fix": "eslint src --fix --ext .js,.ts,.jsx,.tsx",
38
+ "prepack": "",
39
+ "prepare": "",
40
+ "preinstall": "node ./engine-requirements.js",
41
+ "release": "release-it",
42
+ "test": "jest"
44
43
  },
45
44
  "dependencies": {
46
45
  "@cacheable/node-cache": "^1.4.0",
47
46
  "@hapi/boom": "^9.1.3",
48
47
  "async-mutex": "^0.5.0",
49
- "libsignal": "github:@alannzxd/libsignal-node",
48
+ "libsignal": "^6.0.0",
50
49
  "lru-cache": "^11.1.0",
51
50
  "music-metadata": "^11.12.3",
52
51
  "p-queue": "^9.0.0",
@@ -140,4 +139,4 @@
140
139
  "engines": {
141
140
  "node": ">=20.0.0"
142
141
  }
143
- }
142
+ }
@@ -1,29 +0,0 @@
1
- const { readFileSync, writeFileSync } = require 'fs';
2
- const { exit } = require 'process';
3
-
4
- const filePath = './index.js';
5
-
6
- try {
7
- // Read the file
8
- let content = readFileSync(filePath, 'utf8');
9
-
10
- // Fix the import statement
11
- content = content.replace(
12
- /import \* as (\$protobuf) from/g,
13
- 'import $1 from'
14
- );
15
-
16
- // add missing extension to the import
17
- content = content.replace(
18
- /(['"])protobufjs\/minimal(['"])/g,
19
- '$1protobufjs/minimal.js$2'
20
- );
21
-
22
- // Write back
23
- writeFileSync(filePath, content, 'utf8');
24
-
25
- console.log(`✅ Fixed imports in ${filePath}`);
26
- } catch (error) {
27
- console.error(`❌ Error fixing imports: ${error.message}`);
28
- exit(1);
29
- }
@@ -1,3 +0,0 @@
1
- {
2
- "version": [2, 3000, 1042764204]
3
- }