wa-multi-mongodb 3.8.1
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 -0
- package/dist/Defaults/index.d.ts +21 -0
- package/dist/Defaults/index.d.ts.map +1 -0
- package/dist/Defaults/index.js +31 -0
- package/dist/Error/index.d.ts +5 -0
- package/dist/Error/index.d.ts.map +1 -0
- package/dist/Error/index.js +14 -0
- package/dist/Messaging/index.d.ts +25 -0
- package/dist/Messaging/index.d.ts.map +1 -0
- package/dist/Messaging/index.js +335 -0
- package/dist/Profile/index.d.ts +9 -0
- package/dist/Profile/index.d.ts.map +1 -0
- package/dist/Profile/index.js +34 -0
- package/dist/Socket/index.d.ts +68 -0
- package/dist/Socket/index.d.ts.map +1 -0
- package/dist/Socket/index.js +527 -0
- package/dist/Types/index.d.ts +70 -0
- package/dist/Types/index.d.ts.map +1 -0
- package/dist/Types/index.js +2 -0
- package/dist/Types/profile.d.ts +5 -0
- package/dist/Types/profile.d.ts.map +1 -0
- package/dist/Types/profile.js +2 -0
- package/dist/Utils/create-delay.d.ts +17 -0
- package/dist/Utils/create-delay.d.ts.map +1 -0
- package/dist/Utils/create-delay.js +38 -0
- package/dist/Utils/error.d.ts +4 -0
- package/dist/Utils/error.d.ts.map +1 -0
- package/dist/Utils/error.js +8 -0
- package/dist/Utils/index.d.ts +4 -0
- package/dist/Utils/index.d.ts.map +1 -0
- package/dist/Utils/index.js +21 -0
- package/dist/Utils/is-exist.d.ts +6 -0
- package/dist/Utils/is-exist.d.ts.map +1 -0
- package/dist/Utils/is-exist.js +53 -0
- package/dist/Utils/message-status.d.ts +4 -0
- package/dist/Utils/message-status.d.ts.map +1 -0
- package/dist/Utils/message-status.js +18 -0
- package/dist/Utils/mongo-auth-state.d.ts +15 -0
- package/dist/Utils/mongo-auth-state.d.ts.map +1 -0
- package/dist/Utils/mongo-auth-state.js +109 -0
- package/dist/Utils/phone-to-jid.d.ts +5 -0
- package/dist/Utils/phone-to-jid.d.ts.map +1 -0
- package/dist/Utils/phone-to-jid.js +30 -0
- package/dist/Utils/save-media.d.ts +6 -0
- package/dist/Utils/save-media.d.ts.map +1 -0
- package/dist/Utils/save-media.js +55 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/package.json +37 -0
- package/readme.md +423 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/Utils/error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAG5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./phone-to-jid"), exports);
|
|
18
|
+
__exportStar(require("./is-exist"), exports);
|
|
19
|
+
__exportStar(require("./create-delay"), exports);
|
|
20
|
+
// Note: setCredentialsDir & setMongoDBNames have been moved to src/Socket/index.ts
|
|
21
|
+
// Please import them directly from there instead
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-exist.d.ts","sourceRoot":"","sources":["../../src/Utils/is-exist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC;AAC1E,wBAAgB,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.isExist = isExist;
|
|
13
|
+
const Error_1 = require("../Error");
|
|
14
|
+
const Socket_1 = require("../Socket");
|
|
15
|
+
const phone_to_jid_1 = require("./phone-to-jid");
|
|
16
|
+
function isExist(mediaOrParams) {
|
|
17
|
+
// Jika parameter adalah SendMessageTypes, gunakan fungsi asli
|
|
18
|
+
if (typeof mediaOrParams === 'object' && 'sessionId' in mediaOrParams) {
|
|
19
|
+
return isExistSession(mediaOrParams);
|
|
20
|
+
}
|
|
21
|
+
// Jika parameter adalah string (URL), kembalikan sebagai objek url
|
|
22
|
+
if (typeof mediaOrParams === 'string') {
|
|
23
|
+
return { url: mediaOrParams };
|
|
24
|
+
}
|
|
25
|
+
// Jika parameter adalah Buffer, kembalikan langsung
|
|
26
|
+
return mediaOrParams;
|
|
27
|
+
}
|
|
28
|
+
// Fungsi asli untuk memeriksa keberadaan session
|
|
29
|
+
function isExistSession(_a) {
|
|
30
|
+
return __awaiter(this, arguments, void 0, function* ({ sessionId, to, isGroup = false, }) {
|
|
31
|
+
var _b, _c;
|
|
32
|
+
try {
|
|
33
|
+
const session = (0, Socket_1.getSession)(sessionId);
|
|
34
|
+
if (!session)
|
|
35
|
+
throw new Error_1.WhatsappError("Session ID Not Found!");
|
|
36
|
+
const receiver = (0, phone_to_jid_1.phoneToJid)({
|
|
37
|
+
to: to,
|
|
38
|
+
isGroup: isGroup,
|
|
39
|
+
});
|
|
40
|
+
if (!isGroup) {
|
|
41
|
+
const one = Boolean((_c = (_b = (yield (session === null || session === void 0 ? void 0 : session.onWhatsApp(receiver)))) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.exists);
|
|
42
|
+
return one;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return Boolean((yield session.groupMetadata(receiver)).id);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-status.d.ts","sourceRoot":"","sources":["../../src/Utils/message-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,gCAAgC,GAC3C,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,KAChC,cAAc,CAAC,eAAe,CAQhC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseMessageStatusCodeToReadable = void 0;
|
|
4
|
+
const baileys_1 = require("baileys");
|
|
5
|
+
const parseMessageStatusCodeToReadable = (code) => {
|
|
6
|
+
if (code == baileys_1.proto.WebMessageInfo.Status.PENDING)
|
|
7
|
+
return "pending";
|
|
8
|
+
if (code == baileys_1.proto.WebMessageInfo.Status.SERVER_ACK)
|
|
9
|
+
return "server";
|
|
10
|
+
if (code == baileys_1.proto.WebMessageInfo.Status.DELIVERY_ACK)
|
|
11
|
+
return "delivered";
|
|
12
|
+
if (code == baileys_1.proto.WebMessageInfo.Status.READ)
|
|
13
|
+
return "read";
|
|
14
|
+
if (code == baileys_1.proto.WebMessageInfo.Status.PLAYED)
|
|
15
|
+
return "played";
|
|
16
|
+
return "error";
|
|
17
|
+
};
|
|
18
|
+
exports.parseMessageStatusCodeToReadable = parseMessageStatusCodeToReadable;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SignalDataTypeMap } from "baileys";
|
|
2
|
+
import type { Collection } from "mongodb";
|
|
3
|
+
export declare function useMongoAuthState(sessionId: string, collection: Collection): Promise<{
|
|
4
|
+
state: {
|
|
5
|
+
creds: any;
|
|
6
|
+
keys: {
|
|
7
|
+
get: <T extends keyof SignalDataTypeMap>(type: T, ids: string[]) => Promise<{
|
|
8
|
+
[id: string]: SignalDataTypeMap[T];
|
|
9
|
+
}>;
|
|
10
|
+
set: (newData: any) => Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
saveCreds: () => Promise<void>;
|
|
14
|
+
}>;
|
|
15
|
+
//# sourceMappingURL=mongo-auth-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo-auth-state.d.ts","sourceRoot":"","sources":["../../src/Utils/mongo-auth-state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAuC1C,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;;;;kBAgC7D,CAAC,SAAS,MAAM,iBAAiB,QAAQ,CAAC,OAAO,MAAM,EAAE;;;2BAWhD,GAAG;;;;GAqB/B"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.useMongoAuthState = useMongoAuthState;
|
|
13
|
+
const WAProto_1 = require("baileys/WAProto");
|
|
14
|
+
const crypto_1 = require("baileys/lib/Utils/crypto");
|
|
15
|
+
const generics_1 = require("baileys/lib/Utils/generics");
|
|
16
|
+
const BufferJSON = {
|
|
17
|
+
replacer: (_, value) => {
|
|
18
|
+
if (Buffer.isBuffer(value) || value instanceof Uint8Array || (value === null || value === void 0 ? void 0 : value.type) === "Buffer") {
|
|
19
|
+
return { type: "Buffer", data: Buffer.from((value === null || value === void 0 ? void 0 : value.data) || value).toString("base64") };
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
},
|
|
23
|
+
reviver: (_, value) => {
|
|
24
|
+
if (typeof value === "object" && value !== null && (value.buffer === true || value.type === "Buffer")) {
|
|
25
|
+
const val = value.data || value.value;
|
|
26
|
+
return typeof val === "string" ? Buffer.from(val, "base64") : Buffer.from(val || []);
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
const initAuthCreds = () => {
|
|
32
|
+
const identityKey = crypto_1.Curve.generateKeyPair();
|
|
33
|
+
return {
|
|
34
|
+
noiseKey: crypto_1.Curve.generateKeyPair(),
|
|
35
|
+
pairingEphemeralKeyPair: crypto_1.Curve.generateKeyPair(),
|
|
36
|
+
signedIdentityKey: identityKey,
|
|
37
|
+
signedPreKey: (0, crypto_1.signedKeyPair)(identityKey, 1),
|
|
38
|
+
registrationId: (0, generics_1.generateRegistrationId)(),
|
|
39
|
+
advSecretKey: Buffer.from(Array(32)).toString("base64"),
|
|
40
|
+
processedHistoryMessages: [],
|
|
41
|
+
nextPreKeyId: 1,
|
|
42
|
+
firstUnuploadedPreKeyId: 1,
|
|
43
|
+
accountSettings: { unarchiveChats: false },
|
|
44
|
+
accountSyncCounter: 0,
|
|
45
|
+
registered: false,
|
|
46
|
+
pairingCode: undefined,
|
|
47
|
+
lastPropHash: undefined,
|
|
48
|
+
routingInfo: undefined,
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
function useMongoAuthState(sessionId, collection) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const readState = () => __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const doc = yield collection.findOne({ sessionId });
|
|
55
|
+
return (doc === null || doc === void 0 ? void 0 : doc.state)
|
|
56
|
+
? JSON.parse(JSON.stringify(doc.state), BufferJSON.reviver)
|
|
57
|
+
: null;
|
|
58
|
+
});
|
|
59
|
+
const writeState = (state) => __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
yield collection.updateOne({ sessionId }, { $set: { state: JSON.parse(JSON.stringify(state, BufferJSON.replacer)) } }, { upsert: true });
|
|
61
|
+
});
|
|
62
|
+
const removeKey = (key) => __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
yield collection.updateOne({ sessionId }, { $unset: { [`state.keys.${key}`]: "" } });
|
|
64
|
+
});
|
|
65
|
+
const savedState = (yield readState()) || {};
|
|
66
|
+
const creds = savedState.creds || initAuthCreds();
|
|
67
|
+
const keys = savedState.keys || {};
|
|
68
|
+
const saveFullState = () => __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
yield writeState({ creds, keys });
|
|
70
|
+
});
|
|
71
|
+
return {
|
|
72
|
+
state: {
|
|
73
|
+
creds,
|
|
74
|
+
keys: {
|
|
75
|
+
get: (type, ids) => __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
const result = {};
|
|
77
|
+
for (const id of ids) {
|
|
78
|
+
let data = keys === null || keys === void 0 ? void 0 : keys[`${type}-${id}`];
|
|
79
|
+
if (type === "app-state-sync-key" && data) {
|
|
80
|
+
data = WAProto_1.proto.Message.AppStateSyncKeyData.fromObject(data);
|
|
81
|
+
}
|
|
82
|
+
result[id] = data;
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}),
|
|
86
|
+
set: (newData) => __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
for (const category of Object.keys(newData)) {
|
|
88
|
+
for (const id of Object.keys(newData[category])) {
|
|
89
|
+
const value = newData[category][id];
|
|
90
|
+
const key = `${category}-${id}`;
|
|
91
|
+
if (value) {
|
|
92
|
+
keys[key] = value;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
delete keys[key];
|
|
96
|
+
yield removeKey(key);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
yield saveFullState();
|
|
101
|
+
}),
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
saveCreds: () => __awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
yield saveFullState();
|
|
106
|
+
}),
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phone-to-jid.d.ts","sourceRoot":"","sources":["../../src/Utils/phone-to-jid.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,UAAU,GAAI,kBAGxB;IACD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,KAAG,MAaH,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.phoneToJid = void 0;
|
|
7
|
+
const Error_1 = require("../Error");
|
|
8
|
+
const baileys_1 = __importDefault(require("baileys"));
|
|
9
|
+
const isPhoneNumberValidCountry = (phone) => {
|
|
10
|
+
return Object.keys(baileys_1.default).some((key) => {
|
|
11
|
+
return phone.startsWith(key);
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
const phoneToJid = ({ to, isGroup = false, }) => {
|
|
15
|
+
if (!to)
|
|
16
|
+
throw new Error_1.WhatsappError('parameter "to" is required');
|
|
17
|
+
let number = to.toString();
|
|
18
|
+
if (isGroup) {
|
|
19
|
+
number = number.replace(/\s|[+]|[-]/gim, "");
|
|
20
|
+
if (!number.includes("@g.us"))
|
|
21
|
+
number = number + "@g.us";
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
number = number.replace(/\s|[+]|[-]/gim, "");
|
|
25
|
+
if (!number.includes("@s.whatsapp.net"))
|
|
26
|
+
number = number + "@s.whatsapp.net";
|
|
27
|
+
}
|
|
28
|
+
return number;
|
|
29
|
+
};
|
|
30
|
+
exports.phoneToJid = phoneToJid;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MessageReceived } from "../Types";
|
|
2
|
+
export declare const saveImageHandler: (msg: MessageReceived, path: string) => Promise<void>;
|
|
3
|
+
export declare const saveVideoHandler: (msg: MessageReceived, path: string) => Promise<void>;
|
|
4
|
+
export declare const saveDocumentHandler: (msg: MessageReceived, path: string) => Promise<void>;
|
|
5
|
+
export declare const saveAudioHandler: (msg: MessageReceived, path: string) => Promise<void>;
|
|
6
|
+
//# sourceMappingURL=save-media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save-media.d.ts","sourceRoot":"","sources":["../../src/Utils/save-media.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQ3C,eAAO,MAAM,gBAAgB,GAAU,KAAK,eAAe,EAAE,MAAM,MAAM,kBAOxE,CAAC;AACF,eAAO,MAAM,gBAAgB,GAAU,KAAK,eAAe,EAAE,MAAM,MAAM,kBAOxE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,KAAK,eAAe,EACpB,MAAM,MAAM,kBAUb,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,KAAK,eAAe,EAAE,MAAM,MAAM,kBAOxE,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.saveAudioHandler = exports.saveDocumentHandler = exports.saveVideoHandler = exports.saveImageHandler = void 0;
|
|
16
|
+
const baileys_1 = require("baileys");
|
|
17
|
+
const error_1 = __importDefault(require("./error"));
|
|
18
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
19
|
+
const saveMedia = (path, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
yield promises_1.default.writeFile(path, data.toString("base64"), "base64");
|
|
21
|
+
});
|
|
22
|
+
const saveImageHandler = (msg, path) => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
+
var _a;
|
|
24
|
+
if (!((_a = msg.message) === null || _a === void 0 ? void 0 : _a.imageMessage))
|
|
25
|
+
throw new error_1.default("Message is not contain Image");
|
|
26
|
+
const buf = yield (0, baileys_1.downloadMediaMessage)(msg, "buffer", {});
|
|
27
|
+
return saveMedia(path, buf);
|
|
28
|
+
});
|
|
29
|
+
exports.saveImageHandler = saveImageHandler;
|
|
30
|
+
const saveVideoHandler = (msg, path) => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
+
var _a;
|
|
32
|
+
if (!((_a = msg.message) === null || _a === void 0 ? void 0 : _a.videoMessage))
|
|
33
|
+
throw new error_1.default("Message is not contain Video");
|
|
34
|
+
const buf = yield (0, baileys_1.downloadMediaMessage)(msg, "buffer", {});
|
|
35
|
+
return saveMedia(path, buf);
|
|
36
|
+
});
|
|
37
|
+
exports.saveVideoHandler = saveVideoHandler;
|
|
38
|
+
const saveDocumentHandler = (msg, path) => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
if (!((_a = msg.message) === null || _a === void 0 ? void 0 : _a.documentMessage))
|
|
41
|
+
throw new error_1.default("Message is not contain Document");
|
|
42
|
+
const buf = yield (0, baileys_1.downloadMediaMessage)(msg, "buffer", {});
|
|
43
|
+
const ext = (_b = msg.message.documentMessage.fileName) === null || _b === void 0 ? void 0 : _b.split(".").pop();
|
|
44
|
+
path += "." + ext;
|
|
45
|
+
return saveMedia(path, buf);
|
|
46
|
+
});
|
|
47
|
+
exports.saveDocumentHandler = saveDocumentHandler;
|
|
48
|
+
const saveAudioHandler = (msg, path) => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
var _a;
|
|
50
|
+
if (!((_a = msg.message) === null || _a === void 0 ? void 0 : _a.audioMessage))
|
|
51
|
+
throw new error_1.default("Message is not contain Audio");
|
|
52
|
+
const buf = yield (0, baileys_1.downloadMediaMessage)(msg, "buffer", {});
|
|
53
|
+
return saveMedia(path, buf);
|
|
54
|
+
});
|
|
55
|
+
exports.saveAudioHandler = saveAudioHandler;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AAExB,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.baileys = void 0;
|
|
40
|
+
__exportStar(require("./Socket"), exports);
|
|
41
|
+
__exportStar(require("./Messaging"), exports);
|
|
42
|
+
__exportStar(require("./Utils"), exports);
|
|
43
|
+
__exportStar(require("./Types"), exports);
|
|
44
|
+
__exportStar(require("./Profile"), exports);
|
|
45
|
+
__exportStar(require("./Error"), exports);
|
|
46
|
+
exports.baileys = __importStar(require("baileys"));
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "wa-multi-mongodb",
|
|
3
|
+
"version": "3.8.1",
|
|
4
|
+
"description": "Multi Session Whatsapp Library with MongoDB Integration",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist/**/*"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"start": "tsc && node ./dist/index.js",
|
|
13
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
14
|
+
},
|
|
15
|
+
"author": "wahdalo",
|
|
16
|
+
"license": "ISC",
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@adiwajshing/keyed-db": "^0.2.4",
|
|
19
|
+
"@hapi/boom": "^10.0.1",
|
|
20
|
+
"baileys": "^6.7.16",
|
|
21
|
+
"dotenv": "^16.5.0",
|
|
22
|
+
"link-preview-js": "^3.0.14",
|
|
23
|
+
"mime": "^3.0.0",
|
|
24
|
+
"mongodb": "^5.7.0",
|
|
25
|
+
"pino": "^9.5.0",
|
|
26
|
+
"qrcode-terminal": "^0.12.0"
|
|
27
|
+
},
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "https://github.com/wahdalo/wa-multi-mongodb"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@types/mime": "^3.0.1",
|
|
34
|
+
"@types/mongodb": "^4.0.6",
|
|
35
|
+
"typescript": "^5.7.2"
|
|
36
|
+
}
|
|
37
|
+
}
|