codeBOKER commited on
Commit
eed270f
·
verified ·
1 Parent(s): 7df8e4e

Update app.js

Browse files
Files changed (1) hide show
  1. app.js +87 -7
app.js CHANGED
@@ -1,10 +1,90 @@
1
- import { Client } from 'zaileys'
 
 
 
 
2
 
3
- const client = new Client()
 
 
 
 
 
4
 
5
- client.on('qr', ({ qrString }) => console.log('Scan this QR:', qrString))
6
- client.on('connect', ({ me }) => console.log('Connected as', me.id))
7
 
8
- client.on('text', async (msg) => {
9
- await msg.reply(`You said: ${msg.text}`)
10
- })
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ require("dotenv").config();
2
+ const {
3
+ default: makeWASocket,
4
+ DisconnectReason
5
+ } = require("@whiskeysockets/baileys");
6
 
7
+ const express = require("express");
8
+ const qrcode = require("qrcode-terminal");
9
+ const pino = require("pino");
10
+ const axios = require("axios");
11
+ const fs = require("fs");
12
+ const crypto = require("crypto");
13
 
14
+ const app = express();
 
15
 
16
+ app.use(express.json());
17
+
18
+ const PORT = process.env.PORT || 7860;
19
+
20
+ const SEND_WEBHOOK_URL = process.env.LLM_WEBHOOK_URL+"/whatsapp";
21
+
22
+
23
+ let sock = null;
24
+ let isReconnecting = false;
25
+
26
+
27
+ async function startWhatsApp() {
28
+ try {
29
+
30
+ sock.ev.on("creds.update", saveCreds);
31
+
32
+ sock.ev.on("connection.update", async (update) => {
33
+ const {
34
+ connection,
35
+ lastDisconnect,
36
+ qr
37
+ } = update;
38
+
39
+ console.log("con", connection);
40
+ console.log("qr", qr);
41
+ console.log("------------");
42
+ if (qr) {
43
+ console.log("\n📱 Scan QR Code:\n");
44
+ qrcode.generate(qr, { small: true });
45
+ }
46
+
47
+ if (connection === "open") {
48
+ console.log("✅ WhatsApp Connected");
49
+ isReconnecting = false;
50
+ }
51
+
52
+ if (connection === "close") {
53
+ const statusCode =
54
+ lastDisconnect?.error?.output?.statusCode;
55
+
56
+ console.log(
57
+ `❌ Connection closed. Status: ${statusCode}`
58
+ );
59
+
60
+ const shouldLogout =
61
+ statusCode === 401 ||
62
+ statusCode === 405 ||
63
+ statusCode === DisconnectReason.loggedOut;
64
+
65
+ if (shouldLogout) {
66
+ console.log(
67
+ "🧹 Session invalid. Removing auth folder..."
68
+ );
69
+
70
+ setTimeout(() => {
71
+ startWhatsApp();
72
+ }, 3000);
73
+
74
+ return;
75
+ }
76
+
77
+ if (!isReconnecting) {
78
+ isReconnecting = true;
79
+
80
+ console.log(
81
+ "🔄 Reconnecting in 5 seconds..."
82
+ );
83
+
84
+ setTimeout(() => {
85
+ isReconnecting = false;
86
+ startWhatsApp();
87
+ }, 5000);
88
+ }
89
+ }
90
+ });