sanuser commited on
Commit
d82c548
·
verified ·
1 Parent(s): dd0acf2

Create pair.js

Browse files
Files changed (1) hide show
  1. pair.js +63 -0
pair.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import makeWASocket, {
2
+ useMultiFileAuthState,
3
+ DisconnectReason,
4
+ fetchLatestBaileysVersion,
5
+ makeCacheableSignalKeyStore
6
+ } from "@whiskeysockets/baileys";
7
+ import pino from "pino";
8
+ import fs from "fs";
9
+ import readline from "readline";
10
+
11
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
12
+ const question = (text) => new Promise((resolve) => rl.question(text, resolve));
13
+
14
+ async function startAsura() {
15
+ // 1. Setup Auth State - 'session'
16
+ const { state, saveCreds } = await useMultiFileAuthState('session');
17
+ const { version } = await fetchLatestBaileysVersion();
18
+
19
+ const sock = makeWASocket({
20
+ version,
21
+ auth: {
22
+ creds: state.creds,
23
+ keys: makeCacheableSignalKeyStore(state.keys, pino({ level: "silent" })),
24
+ },
25
+ printQRInTerminal: false,
26
+ logger: pino({ level: "silent" }),
27
+ browser: ["Ubuntu", "Chrome", "20.0.04"]
28
+ });
29
+
30
+ // 2. പെയറിംഗ് കോഡ് ലോജിക്
31
+ if (!sock.authState.creds.registered) {
32
+ const phoneNumber = await question('\nEnter your Phone Number with Country Code (eg: 91xxxx): ');
33
+ await delay(3000); // കണക്ഷൻ സ്റ്റേബിൾ ആകാൻ
34
+ const code = await sock.requestPairingCode(phoneNumber.replace(/[^0-9]/g, ''));
35
+ console.log(`\x1b[32m\nYOUR PAIRING CODE: \x1b[1m${code}\x1b[0m\n`);
36
+ }
37
+
38
+ sock.ev.on('creds.update', saveCreds);
39
+
40
+ sock.ev.on('connection.update', async (update) => {
41
+ const { connection, lastDisconnect } = update;
42
+
43
+ if (connection === 'close') {
44
+ const shouldReconnect = lastDisconnect.error?.output?.statusCode !== DisconnectReason.loggedOut;
45
+ if (shouldReconnect) startAsura();
46
+ } else if (connection === 'open') {
47
+ console.log('\x1b[36m✅ Asura MD Connected!\x1b[0m');
48
+
49
+ // ലോഗിൻ ആയ ഉടനെ സെഷൻ ഫോൾഡറിൽ creds.json ഉണ്ടെന്ന് ഉറപ്പാക്കുന്നു
50
+ console.log('\x1b[33m⚡ waite 5 hours /session folder.\x1b[0m');
51
+
52
+ const myNumber = sock.user.id.split(':')[0] + "@s.whatsapp.net";
53
+ await sock.sendMessage(myNumber, { text: "Asura MD connected and creds.json created! 👺" });
54
+ }
55
+ });
56
+ }
57
+
58
+ // Helper function for delay
59
+ function delay(ms) {
60
+ return new Promise(resolve => setTimeout(resolve, ms));
61
+ }
62
+
63
+ startAsura();