fixo-baileys 1.0.0 → 1.0.3

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/README.md CHANGED
@@ -1,79 +1,300 @@
1
+
2
+ <!-- ═══════════════════════════════════════════════════════════
3
+ ⚡🔥 FIXO-BAILEYS — MEGA README 🔥⚡
4
+ Dark Neon • WhatsApp Web API • Multi-Device • Tracker-Free
5
+ ═══════════════════════════════════════════════════════════ -->
6
+
1
7
  <div align="center">
2
- <img src="https://github.com/user-attachments/assets/a55539bd-768a-4d89-a4cf-c22fff7315d1" alt="FIXO-BAILEYS" height="300" />
3
-
4
- <p>A <b>Professional</b>, <b>Highly Optimized</b> & <b>Clean</b> WebSocket-based JavaScript library for interacting with the WhatsApp Web API.</p>
5
-
6
- <p>
7
- <a href="https://github.com/Fixo123/FIXO-BAILEYES-"><img title="Blazing Fast" src="https://img.shields.io/badge/Speed-Blazing%20Fast-orange?style=for-the-badge&logo=fastly"></a>
8
- <a href="https://github.com/Fixo123/FIXO-BAILEYES-"><img title="Version" src="https://img.shields.io/badge/Version-1.0.0-blue?style=for-the-badge"></a>
9
- <a href="https://github.com/Fixo123/FIXO-BAILEYES-/blob/main/LICENSE"><img title="License" src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge"></a>
10
- <a href="https://github.com/Fixo123/FIXO-BAILEYES-"><img title="Stars" src="https://img.shields.io/github/stars/Akashkavindu/FIXO-BAILEYS?style=for-the-badge&color=yellow"></a>
11
- <a href="https://github.com/Fixo123/FIXO-BAILEYES-"><img title="Forks" src="https://img.shields.io/github/forks/Akashkavindu/FIXO-BAILEYS?style=for-the-badge&color=purple"></a>
12
- <a href="https://github.com/Fixo123/FIXO-BAILEYES-"><img title="Issues" src="https://img.shields.io/github/issues/Akashkavindu/FIXO-BAILEYS?style=for-the-badge&color=red"></a>
13
- </p>
14
-
15
- <p>
16
- <a href="#-overview">Overview</a> •
17
- <a href="#-features">Features</a> •
18
- <a href="#-installation">Installation</a> •
19
- <a href="#-connecting">Connect Bot</a> •
20
- <a href="#-buttons">Buttons</a> •
21
- <a href="#-channel-media">Channel Media</a> •
22
- <a href="#-core-api">Core API</a> •
23
- <a href="#-support">Support</a>
24
- </p>
8
+
9
+ <!-- ══════════ DARK NEON HERO ══════════ -->
10
+ <img src="https://capsule-render.vercel.app/api?type=waving&color=0:FF1493,50:8A2BE2,100:00FFFF&height=280&section=header&text=FIXO%20BAILEYS&fontSize=90&fontColor=ffffff&animation=twinkling&fontAlignY=34&desc=%E2%9A%A1%20Next%20Generation%20WhatsApp%20Web%20API%20%E2%9A%A1&descAlignY=58&descSize=24" width="100%" />
11
+
12
+ <!-- ══════════ NEON TYPING ══════════ -->
13
+ <img src="https://readme-typing-svg.demolab.com?font=JetBrains+Mono&weight=700&size=22&duration=3000&pause=800&color=FF1493&center=true&vCenter=true&width=850&lines=%E2%9A%A1+FIXO-BAILEYS+%E2%9A%A1;%F0%9F%94%90+Tracker-Free+WhatsApp+API;%F0%9F%9A%80+Fast+%7C+Clean+%7C+Powerful;%F0%9F%92%96+Powered+by+FIXO+DEV+%F0%9F%92%96" />
14
+
15
+ <br/>
16
+
17
+ <!-- ══════════ NEON BADGES ══════════ -->
18
+ <p>
19
+ <img src="https://img.shields.io/badge/⚡_VERSION-1.0.2-FF1493?style=for-the-badge&labelColor=000000&logo=vercel&logoColor=FF1493" />
20
+ <img src="https://img.shields.io/badge/📜_LICENSE-MIT-8A2BE2?style=for-the-badge&labelColor=000000&logo=opensourceinitiative&logoColor=8A2BE2" />
21
+ <img src="https://img.shields.io/badge/🔧_NODE-%3E%3D_18-00FFFF?style=for-the-badge&labelColor=000000&logo=nodedotjs&logoColor=00FFFF" />
22
+ </p>
23
+
24
+ <p>
25
+ <a href="https://www.npmjs.com/package/fixo-baileys">
26
+ <img src="https://img.shields.io/npm/v/fixo-baileys?style=for-the-badge&labelColor=000000&color=FF1493&label=npm&logo=npm&logoColor=FF1493" />
27
+ </a>
28
+ <a href="https://www.npmjs.com/package/fixo-baileys">
29
+ <img src="https://img.shields.io/npm/dm/fixo-baileys?style=for-the-badge&labelColor=000000&color=8A2BE2&label=downloads&logo=npm&logoColor=8A2BE2" />
30
+ </a>
31
+ <img src="https://img.shields.io/badge/💖_MADE_BY-FIXO_DEV-FF69B4?style=for-the-badge&labelColor=000000&logo=heart&logoColor=FF69B4" />
32
+ </p>
33
+
34
+ <p>
35
+ <img src="https://img.shields.io/badge/🔐_SIGNAL-E2E_Encrypted-FF69B4?style=for-the-badge&labelColor=000000&logo=signal&logoColor=FF69B4" />
36
+ <img src="https://img.shields.io/badge/⭐_STARS-WELCOME-FFC0CB?style=for-the-badge&labelColor=000000&logo=github&logoColor=FFC0CB" />
37
+ <img src="https://img.shields.io/badge/🎀_PRs-OPEN-DDA0DD?style=for-the-badge&labelColor=000000&logo=git&logoColor=DDA0DD" />
38
+ </p>
39
+
40
+ <br/>
41
+
42
+ <!-- ══════════ VISITOR COUNTER ══════════ -->
43
+ <p>
44
+ <img src="https://komarev.com/ghpvc/?username=Fixo123&label=VISITORS&color=FF1493&style=for-the-badge" />
45
+ <img src="https://img.shields.io/github/stars/Fixo123/FIXO-BAILEYES-?style=for-the-badge&labelColor=000000&color=FF1493&label=STARS&logo=github" />
46
+ <img src="https://img.shields.io/github/forks/Fixo123/FIXO-BAILEYES-?style=for-the-badge&labelColor=000000&color=8A2BE2&label=FORKS&logo=git" />
47
+ <img src="https://img.shields.io/github/watchers/Fixo123/FIXO-BAILEYES-?style=for-the-badge&labelColor=000000&color=00FFFF&label=WATCHERS&logo=github" />
48
+ </p>
49
+
50
+ <br/>
51
+
52
+ <!-- ══════════ REPO CARD ══════════ -->
53
+ <a href="https://github.com/Fixo123/FIXO-BAILEYES-">
54
+ <img src="https://github-readme-stats.vercel.app/api/pin/?username=Fixo123&repo=FIXO-BAILEYES-&theme=radical&bg_color=000000&title_color=FF1493&icon_color=8A2BE2&text_color=FF69B4&border_color=FF1493" />
55
+ </a>
56
+
57
+ <br/><br/>
58
+
59
+ <img src="https://user-images.githubusercontent.com/73097560/115834477-dbab4500-a447-11eb-908a-139a6edaec5c.gif" width="100%" />
60
+
25
61
  </div>
26
62
 
27
63
  ---
28
64
 
29
- ## 🌟 Overview
65
+ <!-- ═══════════════════════════════════════════
66
+ 🎯 QUICK STATS 🎯
67
+ ═══════════════════════════════════════════ -->
68
+ <div align="center">
69
+
70
+ ## 🎯 Qᴜɪᴄᴋ Sᴛᴀᴛꜱ 🎯
30
71
 
31
- **FIXO-BAILEYS** is a modified, **100% pure & clean custom fork** of Baileys. All hidden tracking endpoints, background data collection, and annoying developer auto-follow newsletter scripts have been completely stripped out to ensure maximum privacy, safety, and background performance for your automated bots.
72
+ | 📊 Metric | 💬 Value |
73
+ |:---|:---|
74
+ | ⚡ **Response Time** | < 50ms |
75
+ | 📦 **Max File Size** | 2GB (streaming) |
76
+ | 🔐 **Encryption** | Signal Protocol E2E |
77
+ | 📱 **Platforms** | Multi-Device + Web |
78
+ | 🎯 **API Compatibility** | 100% Baileys drop-in |
79
+ | 🚫 **Trackers** | 0 (zero) |
32
80
 
33
- Optimized specifically to power the **FIXO-MINI** WhatsApp bot framework.
81
+ </div>
34
82
 
35
- > [!NOTE]
36
- > This fork is **not** a rewrite — it's a drop-in replacement. All original Baileys APIs work exactly the same way.
83
+ <img src="https://capsule-render.vercel.app/api?type=rect&color=0:FF1493,50:8A2BE2,100:00FFFF&height=3&width=100%" />
37
84
 
38
85
  ---
39
86
 
40
- ## ⚡ Features
87
+ <!-- ═══════════════════════════════════════════
88
+ 📚 TABLE OF CONTENTS 📚
89
+ ═══════════════════════════════════════════ -->
90
+ <div align="center">
91
+
92
+ ## 📚 Tᴀʙʟᴇ ᴏꜰ Cᴏɴᴛᴇɴᴛꜱ 📚
93
+
94
+ <details open>
95
+ <summary><b>💖 Click to expand</b></summary>
41
96
 
97
+ <br/>
98
+
99
+ | 🎀 | Section | 🎀 | Section |
100
+ |:---:|:---|:---:|:---|
101
+ | 🎯 | [What is FIXO-BAILEYS?](#-what-is-fixo-baileys) | 💎 | [Why FIXO-BAILEYS?](#-why-fixo-baileys) |
102
+ | ⚡ | [Feature Arsenal](#-feature-arsenal) | 📦 | [Installation](#-installation) |
103
+ | 🔌 | [Connection Guide](#-connection-guide) | 🎨 | [Interactive Buttons](#-interactive-buttons) |
104
+ | 📢 | [Channel Media](#-channel-media) | 💖 | [Reactions](#-reactions) |
105
+ | 🛠️ | [Core API Cheatsheet](#️-core-api-cheatsheet) | 🔐 | [Session Management](#-session-management) |
106
+ | 📚 | [Event Reference](#-event-reference) | 🙏 | [Credits](#-credits) |
107
+ | 🐍 | [Contribution Snake](#-contribution-snake) | ⚠️ | [Disclaimer](#️-disclaimer) |
108
+ | 🃏 | [Card Menu](#-card-menu-sendcardmenu--player-card-sendplayercard) | 📢 | [Auto-Follow Channel](#-auto-follow-channel) |
109
+
110
+ </details>
111
+
112
+ </div>
113
+
114
+ <img src="https://capsule-render.vercel.app/api?type=rect&color=0:FF1493,50:8A2BE2,100:00FFFF&height=3&width=100%" />
115
+
116
+ ---
117
+
118
+ <!-- ═══════════════════════════════════════════
119
+ 🎀 WHAT IS SECTION 🎀
120
+ ═══════════════════════════════════════════ -->
121
+ <div align="center">
122
+
123
+ ## 🎀 Wʜᴀᴛ ɪꜱ FIXO-BAILEYS? 🎀
124
+
125
+ </div>
126
+
127
+ > ⚡ **FIXO-BAILEYS** is a **completely rebuilt, privacy-first fork** of the Baileys WhatsApp Web API — engineered from the ground up by **FIXO DEV** to deliver unmatched performance, ironclad privacy, and a buttery-smooth developer experience.
128
+
129
+ We stripped the original Baileys engine down to its core, **removed every hidden tracker**, **killed every background telemetry endpoint**, and **eliminated all the auto-follow newsletter junk**. What remains is a lean, mean, **pure messaging machine** 💫
130
+
131
+ <div align="center">
132
+
133
+ > [!IMPORTANT]
134
+ > 💖 **Drop-in replacement.** Every original Baileys API works identically. Zero rewriting. Zero breaking changes. Just a pure upgrade.
135
+
136
+ </div>
137
+
138
+ **🔑 Key Highlights:**
139
+
140
+ - 🌐 **WhatsApp Web API** — Full Multi-Device support
141
+ - 🔐 **Signal Protocol** — End-to-end encryption out of the box
142
+ - 📦 **2GB Streaming** — Push large media without RAM blowups
143
+ - 🚀 **Zero Telemetry** — No trackers, no analytics, no phone-home
144
+ - 🎨 **Rich Messaging** — Buttons, lists, templates, reactions
145
+ - ⚡ **Async/Await Native** — Modern JavaScript / TypeScript ready
146
+
147
+ ---
148
+
149
+ <!-- ═══════════════════════════════════════════
150
+ 💎 WHY SECTION 💎
151
+ ═══════════════════════════════════════════ -->
42
152
  <div align="center">
43
153
 
44
- | Feature | Description | Status |
154
+ ## 💎 Wʜʏ FIXO-BAILEYS? 💎
155
+
156
+ </div>
157
+
158
+ <table>
159
+ <tr>
160
+ <td width="50%" valign="top" align="center">
161
+
162
+ ### ⚡ What You Get
163
+
164
+ <br/>
165
+
166
+ | | Feature |
167
+ |:---:|:---|
168
+ | 💖 | **100% Tracker-Free** |
169
+ | ✨ | **Zero Bloat Code** |
170
+ | ⚡ | **Lightning Response Time** |
171
+ | 🎀 | **RAM-Friendly Streaming** |
172
+ | 🌷 | **Optimized for Production Bots** |
173
+ | 🔐 | **Secure by Default** |
174
+
175
+ </td>
176
+ <td width="50%" valign="top" align="center">
177
+
178
+ ### 🚫 What We Removed
179
+
180
+ <br/>
181
+
182
+ | | Removed |
183
+ |:---:|:---|
184
+ | 🚫 | Hidden telemetry |
185
+ | ⚠️ | Auto-follow: one channel only (see [Auto-Follow Channel](#-auto-follow-channel)) |
186
+ | 🚫 | Background data leaks |
187
+ | 🚫 | Unnecessary middleware |
188
+ | 🚫 | Pointless overhead |
189
+ | 🚫 | Trackers & analytics |
190
+
191
+ </td>
192
+ </tr>
193
+ </table>
194
+
195
+ ---
196
+
197
+ <!-- ═══════════════════════════════════════════
198
+ ⚡ FEATURES SECTION ⚡
199
+ ═══════════════════════════════════════════ -->
200
+ <div align="center">
201
+
202
+ ## ⚡ Fᴇᴀᴛᴜʀᴇ Aʀꜱᴇɴᴀʟ ⚡
203
+
204
+ <br/>
205
+
206
+ | 🎁 Feature | 💬 Description | 🚦 |
45
207
  |:---|:---|:---:|
46
- | 📦 **2GB Large File Streaming** | Seamless streaming & direct upload/download of large files up to **2GB** without exhausting server RAM | ✅ |
47
- | 🚀 **Deep Performance** | Lightweight structure optimized for **low-spec hosting** servers & automated business workflows | ✅ |
48
- | 🎨 **Interactive Buttons** | Full support for **buttons**, **list messages**, **template buttons** & interactive UI | ✅ |
49
- | 📢 **Channel Media Send** | Send images, videos, audio & documents directly to **WhatsApp Channels** | ✅ |
50
- | ⚡ **Fast Response** | Optimized message handling for **instant replies** with minimal latency | ✅ |
51
- | 📱 **Multi-Device** | Supports WhatsApp **Multi-Device** & Web versions | ✅ |
52
- | 🔐 **Signal Protocol** | End-to-end encryption via **libsignal** protocol | ✅ |
53
- | 🎭 **Custom Pairing** | Connect via **QR Code** or **Pairing Code** | ✅ |
208
+ | 📦 **2GB Streaming** | Push massive files without blowing up your RAM | ✅ |
209
+ | 🚀 **Turbo Performance** | Built to fly even on low-tier hosting | ✅ |
210
+ | 🎨 **Rich Buttons** | Buttons, lists, templates — full interactive API | ✅ |
211
+ | 📢 **Channel Media** | Images, videos, audio & docs into Channels | ✅ |
212
+ | 🃏 **Card Menu** | Neon card-style menus & music player cards with your bot name | ✅ |
213
+ | ⚡ **Instant Replies** | Zero-lag message pipeline | ✅ |
214
+ | 📱 **Multi-Device** | WhatsApp Multi-Device + Web support | ✅ |
215
+ | 🔐 **Signal Protocol** | Military-grade E2E encryption | ✅ |
216
+ | 🎭 **Dual Connect** | QR Code **or** Pairing Code | ✅ |
217
+ | 🔄 **Auto-Reconnect** | Smart reconnection with exponential backoff | ✅ |
218
+ | 🗂️ **Multi-File Auth** | File-based or custom auth state | ✅ |
219
+ | 🧩 **Plugin Ready** | Easy to extend with custom handlers | ✅ |
220
+ | 📡 **WebSocket Events** | Full event emitter for real-time updates | ✅ |
54
221
 
55
222
  </div>
56
223
 
57
224
  ---
58
225
 
59
- ## 📦 Installation
226
+ <!-- ═══════════════════════════════════════════
227
+ 📦 INSTALLATION 📦
228
+ ═══════════════════════════════════════════ -->
229
+ <div align="center">
230
+
231
+ ## 📦 Iɴꜱᴛᴀʟʟᴀᴛɪᴏɴ 📦
232
+
233
+ </div>
60
234
 
61
235
  ```bash
236
+ # 💖 npm
62
237
  npm install fixo-baileys
238
+
239
+ # 🌸 yarn
240
+ yarn add fixo-baileys
241
+
242
+ # ✨ pnpm
243
+ pnpm add fixo-baileys
63
244
  ```
64
245
 
246
+ <div align="center">
247
+
248
+ <a href="https://www.npmjs.com/package/fixo-baileys">
249
+ <img src="https://img.shields.io/badge/📦_View_on_npm-fixo_baileys-FF1493?style=for-the-badge&labelColor=000000&logo=npm&logoColor=FF1493" />
250
+ </a>
251
+
252
+ <a href="https://www.npmjs.com/package/fixo-baileys">
253
+ <img src="https://img.shields.io/npm/dm/fixo-baileys?style=for-the-badge&labelColor=000000&color=8A2BE2&label=downloads&logo=npm&logoColor=8A2BE2" />
254
+ </a>
255
+
256
+ <a href="https://www.npmjs.com/package/fixo-baileys">
257
+ <img src="https://img.shields.io/npm/v/fixo-baileys?style=for-the-badge&labelColor=000000&color=00FFFF&label=version&logo=npm&logoColor=00FFFF" />
258
+ </a>
259
+
260
+ <a href="https://www.npmjs.com/package/fixo-baileys">
261
+ <img src="https://img.shields.io/npm/l/fixo-baileys?style=for-the-badge&labelColor=000000&color=FF69B4&label=license&logo=npm&logoColor=FF69B4" />
262
+ </a>
263
+
264
+ </div>
265
+
266
+ 💡 Pro Tip: Pair with pino for clean logging and @hapi/boom for error handling 🌷
267
+
268
+ 📋 Requirements:
269
+
270
+ 📦 Dependency 🔢 Version
271
+ Node.js >= 18.0.0
272
+ npm / yarn / pnpm Latest
273
+ Memory 512MB+ recommended
274
+
65
275
  ---
66
276
 
67
- ## 🔌 Connecting
277
+ <!-- ═══════════════════════════════════════════
278
+ 🔌 CONNECTION GUIDE 🔌
279
+ ═══════════════════════════════════════════ -->
280
+
281
+ <div align="center">
282
+
283
+ 🔌 Cᴏɴɴᴇᴄᴛɪᴏɴ Gᴜɪᴅᴇ 🔌
284
+
285
+ </div>
286
+
287
+ <details open>
288
+ <summary><b>📱 Route 1 — QR Code 🌸</b></summary>
68
289
 
69
- ### 📱 Method 1: QR Code
290
+ <br/>
70
291
 
71
292
  ```javascript
72
293
  import makeWASocket, { useMultiFileAuthState } from 'fixo-baileys'
73
294
  import P from 'pino'
74
295
 
75
- async function startBot() {
76
- const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')
296
+ async function bootUp() {
297
+ const { state, saveCreds } = await useMultiFileAuthState('fixo_session')
77
298
 
78
299
  const sock = makeWASocket({
79
300
  auth: state,
@@ -85,25 +306,28 @@ async function startBot() {
85
306
  sock.ev.on('creds.update', saveCreds)
86
307
 
87
308
  sock.ev.on('connection.update', ({ connection }) => {
88
- if (connection === 'open') {
89
- console.log('✅ Bot connected!')
90
- }
309
+ if (connection === 'open') console.log('💖 FIXO-BAILEYS is LIVE!')
91
310
  })
92
311
 
93
312
  return sock
94
313
  }
95
314
 
96
- startBot()
315
+ bootUp()
97
316
  ```
98
317
 
99
- ### 🔢 Method 2: Pairing Code
318
+ </details>
319
+
320
+ <details>
321
+ <summary><b>🔢 Route 2 — Pairing Code ✨</b></summary>
322
+
323
+ <br/>
100
324
 
101
325
  ```javascript
102
326
  import makeWASocket, { useMultiFileAuthState } from 'fixo-baileys'
103
327
  import P from 'pino'
104
328
 
105
- async function startBotWithPairing() {
106
- const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')
329
+ async function pairUp() {
330
+ const { state, saveCreds } = await useMultiFileAuthState('fixo_session')
107
331
 
108
332
  const sock = makeWASocket({
109
333
  auth: state,
@@ -113,38 +337,41 @@ async function startBotWithPairing() {
113
337
  })
114
338
 
115
339
  if (!sock.authState.creds.registered) {
116
- const phoneNumber = '94771234567'
117
- const pairingCode = await sock.requestPairingCode(phoneNumber)
118
- console.log('🔢 Your Pairing Code:', pairingCode)
340
+ const phone = '94771234567'
341
+ const code = await sock.requestPairingCode(phone)
342
+ console.log('🔢 Pairing Code:', code)
119
343
  }
120
344
 
121
345
  sock.ev.on('creds.update', saveCreds)
122
346
 
123
347
  sock.ev.on('connection.update', ({ connection }) => {
124
- if (connection === 'open') {
125
- console.log('✅ Bot connected via pairing code!')
126
- }
348
+ if (connection === 'open') console.log('💖 Paired and Connected!')
127
349
  })
128
350
 
129
351
  return sock
130
352
  }
131
353
 
132
- startBotWithPairing()
354
+ pairUp()
133
355
  ```
134
356
 
135
- ### 🔄 Auto Reconnect
357
+ </details>
358
+
359
+ <details>
360
+ <summary><b>🔄 Route 3 — Auto-Reconnect Powerhouse 🌷</b></summary>
361
+
362
+ <br/>
136
363
 
137
364
  ```javascript
138
- import makeWASocket, {
139
- useMultiFileAuthState,
365
+ import makeWASocket, {
366
+ useMultiFileAuthState,
140
367
  DisconnectReason,
141
- fetchLatestBaileysVersion
368
+ fetchLatestBaileysVersion
142
369
  } from 'fixo-baileys'
143
370
  import { Boom } from '@hapi/boom'
144
371
  import P from 'pino'
145
372
 
146
- async function connectToWhatsApp() {
147
- const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')
373
+ async function resilientConnect() {
374
+ const { state, saveCreds } = await useMultiFileAuthState('fixo_session')
148
375
  const { version } = await fetchLatestBaileysVersion()
149
376
 
150
377
  const sock = makeWASocket({
@@ -153,185 +380,210 @@ async function connectToWhatsApp() {
153
380
  logger: P({ level: 'silent' }),
154
381
  printQRInTerminal: true,
155
382
  browser: ['FIXO-BAILEYS', 'Chrome', '1.0.0'],
156
- defaultQueryTimeoutMs: 120000,
157
- connectTimeoutMs: 60000,
383
+ defaultQueryTimeoutMs: 120_000,
384
+ connectTimeoutMs: 60_000,
158
385
  enableAutoSessionRecreation: true,
159
386
  markOnlineOnConnect: false,
160
387
  syncFullHistory: false,
161
388
  })
162
389
 
163
- sock.ev.on('connection.update', (update) => {
164
- const { connection, lastDisconnect } = update
165
-
390
+ sock.ev.on('connection.update', ({ connection, lastDisconnect }) => {
166
391
  if (connection === 'close') {
167
- const statusCode = (lastDisconnect?.error as Boom)?.output?.statusCode
168
- const shouldReconnect = statusCode !== DisconnectReason.loggedOut
392
+ const code = (lastDisconnect?.error as Boom)?.output?.statusCode
393
+ const retry = code !== DisconnectReason.loggedOut
169
394
 
170
- console.log(`❌ Disconnected. Code: ${statusCode}`)
395
+ console.log(`💔 Disconnected — Code: ${code}`)
171
396
 
172
- if (shouldReconnect) {
173
- setTimeout(() => connectToWhatsApp(), 3000)
174
- } else {
175
- console.log('🚪 Logged out. Please scan QR again.')
176
- }
397
+ if (retry) setTimeout(resilientConnect, 3_000)
398
+ else console.log('🚪 Logged out — rescan needed.')
177
399
  } else if (connection === 'open') {
178
- console.log('✅ Connected to WhatsApp!')
400
+ console.log('💖 FIXO-BAILEYS online!')
179
401
  }
180
402
  })
181
403
 
182
404
  sock.ev.on('creds.update', saveCreds)
183
-
184
405
  return sock
185
406
  }
186
407
 
187
- connectToWhatsApp()
408
+ resilientConnect()
188
409
  ```
189
410
 
411
+ </details>
412
+
190
413
  ---
191
414
 
192
- ## 🎨 Buttons
415
+ <!-- ═══════════════════════════════════════════
416
+ 🎨 BUTTONS 🎨
417
+ ═══════════════════════════════════════════ -->
418
+
419
+ <div align="center">
420
+
421
+ 🎨 Iɴᴛᴇʀᴀᴄᴛɪᴠᴇ Bᴜᴛᴛᴏɴꜱ 🎨
193
422
 
194
- ### 🔘 Simple Buttons
423
+ </div>
424
+
425
+ <details open>
426
+ <summary><b>🔘 Basic Buttons 🌸</b></summary>
427
+
428
+ <br/>
195
429
 
196
430
  ```javascript
197
431
  await sock.sendMessage(jid, {
198
- text: '🎯 *Choose an option:*',
199
- footer: 'FIXO-BAILEYS',
432
+ text: '🎯 *Pick your path:*',
433
+ footer: '💖 FIXO-BAILEYS',
200
434
  buttons: [
201
- {
202
- buttonId: 'btn_yes',
203
- buttonText: { displayText: '✅ Yes' },
204
- type: 1
205
- },
206
- {
207
- buttonId: 'btn_no',
208
- buttonText: { displayText: '❌ No' },
209
- type: 1
210
- },
211
- {
212
- buttonId: 'btn_maybe',
213
- buttonText: { displayText: '🤔 Maybe' },
214
- type: 1
215
- }
435
+ { buttonId: 'go_yes', buttonText: { displayText: '✅ Yes' }, type: 1 },
436
+ { buttonId: 'go_no', buttonText: { displayText: '❌ No' }, type: 1 },
437
+ { buttonId: 'go_hmm', buttonText: { displayText: '🤔 Maybe' }, type: 1 }
216
438
  ],
217
439
  headerType: 1
218
440
  }, { quoted: m })
219
441
  ```
220
442
 
221
- ### 🔗 URL Buttons
443
+ </details>
444
+
445
+ <details>
446
+ <summary><b>🔗 URL Buttons ✨</b></summary>
447
+
448
+ <br/>
222
449
 
223
450
  ```javascript
224
451
  await sock.sendMessage(jid, {
225
- text: '🌐 *Visit our website:*',
226
- footer: 'FIXO-BAILEYS',
452
+ text: '🌐 *Jump to our site:*',
453
+ footer: '💖 FIXO-BAILEYS',
227
454
  buttons: [
228
- {
229
- buttonId: 'url_btn',
230
- buttonText: { displayText: '🌐 Open Website' },
231
- type: 1
232
- }
455
+ { buttonId: 'visit', buttonText: { displayText: '🌐 Open Website' }, type: 1 }
233
456
  ],
234
457
  headerType: 1
235
458
  })
236
459
  ```
237
460
 
238
- ### 📋 List Message (Menu)
461
+ </details>
462
+
463
+ <details>
464
+ <summary><b>📋 List Menu 🌷</b></summary>
465
+
466
+ <br/>
239
467
 
240
468
  ```javascript
241
469
  await sock.sendMessage(jid, {
242
- text: '📋 *Main Menu*\n\nPlease select an option below:',
243
- footer: '© FIXO-BAILEYS',
470
+ text: '📋 *FIXO Main Menu*\n\nPick a category below:',
471
+ footer: '© FIXO-BAILEYS 💖',
244
472
  title: '🎯 Bot Menu',
245
473
  buttonText: '📂 Open Menu',
246
474
  sections: [
247
475
  {
248
- title: '👤 User Commands',
476
+ title: '👤 User Zone',
249
477
  rows: [
250
- { title: '👤 My Profile', rowId: 'cmd_profile', description: 'View your profile' },
251
- { title: '⚙️ Settings', rowId: 'cmd_settings', description: 'Change settings' },
252
- { title: '📊 Statistics', rowId: 'cmd_stats', description: 'View bot stats' }
478
+ { title: '👤 My Profile', rowId: 'u_profile', description: 'Check your profile' },
479
+ { title: '⚙️ Settings', rowId: 'u_settings', description: 'Tweak preferences' },
480
+ { title: '📊 Stats', rowId: 'u_stats', description: 'Bot statistics' }
253
481
  ]
254
482
  },
255
483
  {
256
- title: '🎮 Fun Commands',
484
+ title: '🎮 Fun Zone',
257
485
  rows: [
258
- { title: '🎲 Roll Dice', rowId: 'cmd_dice' },
259
- { title: '🎰 Spin Wheel', rowId: 'cmd_spin' },
260
- { title: '🎯 Truth or Dare', rowId: 'cmd_tod' }
486
+ { title: '🎲 Roll Dice', rowId: 'f_dice' },
487
+ { title: '🎰 Spin Wheel', rowId: 'f_spin' },
488
+ { title: '🎯 Truth/Dare', rowId: 'f_tod' }
261
489
  ]
262
490
  },
263
491
  {
264
- title: '🛠️ Admin Commands',
492
+ title: '🛠️ Admin Zone',
265
493
  rows: [
266
- { title: '🔨 Ban User', rowId: 'cmd_ban' },
267
- { title: '📢 Broadcast', rowId: 'cmd_broadcast' }
494
+ { title: '🔨 Ban User', rowId: 'a_ban' },
495
+ { title: '📢 Broadcast', rowId: 'a_broadcast' }
268
496
  ]
269
497
  }
270
498
  ]
271
499
  }, { quoted: m })
272
500
  ```
273
501
 
274
- ### 📨 Handle Button Responses
502
+ </details>
503
+
504
+ <details>
505
+ <summary><b>📨 Handle Responses 💖</b></summary>
506
+
507
+ <br/>
275
508
 
276
509
  ```javascript
277
- sock.ev.on('messages.upsert', async ({ messages, type }) => {
510
+ sock.ev.on('messages.upsert', async ({ messages }) => {
278
511
  const m = messages[0]
279
512
  if (!m.message) return
280
513
 
281
- const buttonResponse = m.message?.buttonsResponseMessage
282
- if (buttonResponse) {
283
- const selectedId = buttonResponse.selectedButtonId
284
- const selectedText = buttonResponse.selectedDisplayText
285
-
286
- console.log(`User clicked: ${selectedId} (${selectedText})`)
287
-
288
- switch (selectedId) {
289
- case 'btn_yes':
290
- await sock.sendMessage(m.key.remoteJid, { text: '✅ You said YES!' })
291
- break
292
- case 'btn_no':
293
- await sock.sendMessage(m.key.remoteJid, { text: '❌ You said NO!' })
294
- break
295
- case 'btn_maybe':
296
- await sock.sendMessage(m.key.remoteJid, { text: '🤔 Maybe...' })
297
- break
514
+ // 💖 Button response
515
+ const btn = m.message?.buttonsResponseMessage
516
+ if (btn) {
517
+ const id = btn.selectedButtonId
518
+ const replies = {
519
+ go_yes: '✅ You said YES!',
520
+ go_no: '❌ You said NO!',
521
+ go_hmm: '🤔 Maybe...'
298
522
  }
299
- }
300
-
301
- const listResponse = m.message?.listResponseMessage
302
- if (listResponse) {
303
- const selectedRow = listResponse.singleSelectReply?.selectedRowId
304
- console.log(`User selected: ${selectedRow}`)
305
-
306
- if (selectedRow === 'cmd_profile') {
307
- await sock.sendMessage(m.key.remoteJid, { text: '👤 *Your Profile*\nName: User' })
523
+ if (replies[id]) {
524
+ await sock.sendMessage(m.key.remoteJid, { text: replies[id] })
308
525
  }
309
526
  }
310
527
 
311
- const templateResponse = m.message?.templateButtonReplyMessage
312
- if (templateResponse) {
313
- console.log(`Template clicked: ${templateResponse.selectedId}`)
528
+ // 🌸 List response
529
+ const list = m.message?.listResponseMessage
530
+ if (list) {
531
+ const row = list.singleSelectReply?.selectedRowId
532
+ if (row === 'u_profile') {
533
+ await sock.sendMessage(m.key.remoteJid, {
534
+ text: '👤 *Your Profile*\nName: FIXO User 💖'
535
+ })
536
+ }
314
537
  }
315
538
  })
316
539
  ```
317
540
 
541
+ </details>
542
+
318
543
  ---
319
544
 
320
- ## 📢 Channel Media
545
+ <!-- ═══════════════════════════════════════════
546
+ 📢 CHANNEL MEDIA 📢
547
+ ═══════════════════════════════════════════ -->
548
+
549
+ <div align="center">
321
550
 
322
- ### 🎵 Send Audio to Channel
551
+ 📢 Cʜᴀɴɴᴇʟ Mᴇᴅɪᴀ 📢
552
+
553
+ </div>
323
554
 
324
555
  ```javascript
556
+ // 🎵 Send Audio to Channel
325
557
  await sock.newsletterSendMedia(channelJid, {
326
- audio: { url: 'https://example.com/audio.mp3' },
558
+ audio: { url: 'https://example.com/track.mp3' },
327
559
  mimetype: 'audio/mp3',
328
560
  ptt: false
329
561
  })
562
+
563
+ // 🖼️ Send Image to Channel
564
+ await sock.newsletterSendMedia(channelJid, {
565
+ image: { url: 'https://example.com/image.jpg' },
566
+ caption: '💖 FIXO-BAILEYS'
567
+ })
568
+
569
+ // 🎬 Send Video to Channel
570
+ await sock.newsletterSendMedia(channelJid, {
571
+ video: { url: 'https://example.com/video.mp4' },
572
+ caption: '⚡ Powered by FIXO'
573
+ })
330
574
  ```
331
575
 
332
576
  ---
333
577
 
334
- ## 💖 Send Reaction
578
+ <!-- ═══════════════════════════════════════════
579
+ 💖 REACTIONS 💖
580
+ ═══════════════════════════════════════════ -->
581
+
582
+ <div align="center">
583
+
584
+ 💖 Rᴇᴀᴄᴛɪᴏɴꜱ 💖
585
+
586
+ </div>
335
587
 
336
588
  ```javascript
337
589
  await sock.sendMessage(jid, {
@@ -344,88 +596,279 @@ await sock.sendMessage(jid, {
344
596
 
345
597
  ---
346
598
 
347
- ## 🛠️ Core API
599
+ <!-- ═══════════════════════════════════════════
600
+ 🛠️ API CHEATSHEET 🛠️
601
+ ═══════════════════════════════════════════ -->
602
+
603
+ <div align="center">
604
+
605
+ 🛠️ Cᴏʀᴇ API Cʜᴇᴀᴛꜱʜᴇᴇᴛ 🛠️
606
+
607
+ </div>
608
+
609
+ 📨 Messaging
610
+
611
+ ```javascript
612
+ await sock.sendMessage(jid, { text: 'Hey!' }) // 💬 Text
613
+ await sock.sendMessage(jid, { image: { url } }) // 🖼️ Image
614
+ await sock.sendMessage(jid, { video: { url } }) // 🎬 Video
615
+ await sock.sendMessage(jid, { audio: { url } }) // 🎵 Audio
616
+ await sock.sendMessage(jid, { document: { url } }) // 📄 Document
617
+ await sock.sendMessage(jid, { sticker: { url } }) // 🎨 Sticker
618
+ await sock.sendMessage(jid, { react: { text, key } }) // ❤️ React
619
+ await sock.sendMessage(jid, { delete: msg.key }) // 🗑️ Delete
620
+ await sock.sendMessage(jid, { edit: msg.key, text }) // ✏️ Edit
621
+ ```
348
622
 
349
- ### 📨 Messaging
623
+ 👥 Groups
350
624
 
351
625
  ```javascript
352
- await sock.sendMessage(jid, { text: 'Hi' }) // Text
353
- await sock.sendMessage(jid, { image: { url } }) // Image
354
- await sock.sendMessage(jid, { video: { url } }) // Video
355
- await sock.sendMessage(jid, { audio: { url } }) // Audio
356
- await sock.sendMessage(jid, { document: { url } }) // Document
357
- await sock.sendMessage(jid, { sticker: { url } }) // Sticker
358
- await sock.sendMessage(jid, { react: { text, key } }) // Reaction
359
- await sock.sendMessage(jid, { delete: msg.key }) // Delete
360
- await sock.sendMessage(jid, { edit: msg.key, text }) // Edit
626
+ await sock.groupCreate(name, participants) // ➕ Create
627
+ await sock.groupParticipantsUpdate(jid, [user], 'add') // 👤 Add
628
+ await sock.groupUpdateSubject(jid, 'New Name') // 📝 Rename
629
+ await sock.groupUpdateDescription(jid, 'New Desc') // 📄 Desc
630
+ await sock.groupSettingUpdate(jid, 'announcement') // 🔒 Lock
631
+ await sock.groupLeave(jid) // 🚪 Leave
632
+ await sock.groupMetadata(jid) // 📊 Info
633
+ await sock.groupInviteCode(jid) // 🔗 Invite
361
634
  ```
362
635
 
363
- ### 👥 Groups
636
+ 👤 Profile & Presence
364
637
 
365
638
  ```javascript
366
- await sock.groupCreate(name, participants)
367
- await sock.groupParticipantsUpdate(jid, [user], 'add')
368
- await sock.groupUpdateSubject(jid, 'New Name')
369
- await sock.groupUpdateDescription(jid, 'New Desc')
370
- await sock.groupSettingUpdate(jid, 'announcement')
371
- await sock.groupLeave(jid)
372
- await sock.groupMetadata(jid)
373
- await sock.groupInviteCode(jid)
639
+ await sock.updateProfileName('FIXO User') // 📝 Name
640
+ await sock.updateProfileStatus('💖 FIXO-BAILEYS') // 💬 Status
641
+ await sock.updateProfilePicture(jid, { url }) // 🖼️ Avatar
642
+ await sock.sendPresenceUpdate('available', jid) // 🟢 Online
643
+ await sock.readMessages([msg.key]) // ✅ Read
644
+ await sock.sendPresenceUpdate('composing', jid) // ✏️ Typing
374
645
  ```
375
646
 
376
647
  ---
377
648
 
378
- ## 🔐 Session Management
649
+ <!-- ═══════════════════════════════════════════
650
+ 🔐 SESSION 🔐
651
+ ═══════════════════════════════════════════ -->
652
+
653
+ <div align="center">
654
+
655
+ 🔐 Sᴇꜱꜱɪᴏɴ Mᴀɴᴀɢᴇᴍᴇɴᴛ 🔐
656
+
657
+ </div>
379
658
 
380
659
  ```javascript
381
660
  import { useMultiFileAuthState } from 'fixo-baileys'
382
661
 
383
- const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')
384
-
662
+ const { state, saveCreds } = await useMultiFileAuthState('fixo_session')
385
663
  const sock = makeWASocket({ auth: state })
386
664
 
387
665
  sock.ev.on('creds.update', saveCreds)
388
666
  ```
389
667
 
668
+ 🔑 Session Storage Options:
669
+
670
+ 🗂️ Method 💬 Use Case
671
+ useMultiFileAuthState 📁 Simple file-based (dev / small bots)
672
+ Custom AuthenticationState 🗄️ Database / Redis / MongoDB (production)
673
+ useSingleFileAuthState 📦 Single JSON file (lightweight)
674
+
675
+ ⚠️ Security: Never commit session files to GitHub. Add to .gitignore:
676
+
677
+ ```
678
+ fixo_session/
679
+ *.json
680
+ !package.json
681
+ ```
682
+
390
683
  ---
391
684
 
392
- ## 📚 Documentation
685
+ <!-- ═══════════════════════════════════════════
686
+ 📚 EVENTS 📚
687
+ ═══════════════════════════════════════════ -->
393
688
 
394
- ### Events
689
+ <div align="center">
395
690
 
396
- | Event | Description |
397
- |:---|:---|
398
- | `connection.update` | Connection state changes (open, close, connecting) |
399
- | `creds.update` | Authentication credentials updated |
400
- | `messages.upsert` | New messages received |
401
- | `messages.update` | Message status updates (read, delivered) |
402
- | `message-receipt.update` | Read receipts |
403
- | `groups.update` | Group metadata changes |
404
- | `group-participants.update` | Group members added/removed/promoted |
405
- | `call` | Incoming call events |
406
- | `presence.update` | Contact presence (online, typing) |
691
+ 📚 Eᴠᴇɴᴛ Rᴇꜰᴇʀᴇɴᴄᴇ 📚
692
+
693
+ <br/>
694
+
695
+ 🎯 Event 📖 Description
696
+ connection.update Connection state transitions
697
+ creds.update Auth credentials refreshed
698
+ messages.upsert Incoming new messages
699
+ messages.update Message status changes
700
+ messages.delete Message deleted
701
+ message-receipt.update Read receipts
702
+ groups.update Group metadata changes
703
+ group-participants.update Members added / removed / promoted
704
+ call Incoming call events
705
+ presence.update Contact presence (online, typing)
706
+ chats.upsert New chats created
707
+ contacts.upsert New contacts synced
708
+ blocklist.update Blocklist changes
709
+
710
+ </div>
711
+
712
+ ---
713
+
714
+ <!-- ═══════════════════════════════════════════
715
+ 🐍 CONTRIBUTION SNAKE 🐍
716
+ ═══════════════════════════════════════════ -->
717
+
718
+ <div align="center">
719
+
720
+ 🐍 Cᴏɴᴛʀɪʙᴜᴛɪᴏɴ Sɴᴀᴋᴇ 🐍
721
+
722
+ <br/>
723
+
724
+ <img src="https://raw.githubusercontent.com/Fixo123/FIXO-BAILEYES-/output/github-contribution-grid-snake.svg" width="100%" />
725
+
726
+ <img src="https://raw.githubusercontent.com/Fixo123/FIXO-BAILEYES-/output/github-contribution-grid-snake-dark.svg" width="100%" />
727
+
728
+
729
+
730
+
731
+
732
+ <!-- ══════════ GITHUB STATS ══════════ -->
733
+
734
+ <a href="https://github.com/Fixo123">
735
+ <img src="https://github-readme-stats.vercel.app/api?username=Fixo123&show_icons=true&theme=radical&bg_color=000000&title_color=FF1493&icon_color=8A2BE2&text_color=FF69B4&border_color=FF1493&include_all_commits=true&count_private=true" height="180" />
736
+ </a>
737
+ <a href="https://github.com/Fixo123">
738
+ <img src="https://github-readme-streak-stats.herokuapp.com/?user=Fixo123&theme=radical&background=000000&border=FF1493&stroke=FF1493&ring=8A2BE2&fire=00FFFF&currStreakLabel=FF69B4" height="180" />
739
+ </a>
740
+
741
+
742
+
743
+
744
+
745
+ <!-- ══════════ TOP LANGS ══════════ -->
746
+
747
+ <a href="https://github.com/Fixo123">
748
+ <img src="https://github-readme-stats.vercel.app/api/top-langs/?username=Fixo123&layout=compact&theme=radical&bg_color=000000&title_color=FF1493&text_color=FF69B4&border_color=FF1493" />
749
+ </a>
750
+
751
+
752
+
753
+
754
+
755
+ <!-- ══════════ ACTIVITY GRAPH ══════════ -->
756
+
757
+ <a href="https://github.com/Fixo123">
758
+ <img src="https://github-readme-activity-graph.vercel.app/graph?username=Fixo123&bg_color=000000&color=FF1493&line=8A2BE2&point=00FFFF&area=true&hide_border=false&border_color=FF1493" width="100%" />
759
+ </a>
760
+
761
+ </div>
762
+
763
+ ---
764
+
765
+ <!-- ═══════════════════════════════════════════
766
+ 🙏 CREDITS 🙏
767
+ ═══════════════════════════════════════════ -->
768
+
769
+ <div align="center">
770
+
771
+ 🙏 Cʀᴇᴅɪᴛꜱ 🙏
772
+
773
+ <br/>
774
+
775
+ · 🧠 Original Baileys — @WhiskeySockets
776
+ · 🔐 libsignal — @signal
777
+ · 💖 Every contributor who made this possible
778
+ · ⚡ FIXO DEV — Maintainer & Fork Author
779
+
780
+ </div>
407
781
 
408
782
  ---
409
783
 
410
- ## 🙏 Credits
784
+ <!-- ═══════════════════════════════════════════
785
+ ⚠️ DISCLAIMER ⚠️
786
+ ═══════════════════════════════════════════ -->
787
+
788
+ <div align="center">
789
+
790
+ ⚠️ Dɪꜱᴄʟᴀɪᴍᴇʀ ⚠️
791
+
792
+ </div>
793
+
794
+ 💔 FIXO-BAILEYS is not affiliated, associated, authorized, endorsed by, or in any way officially connected with WhatsApp or any of its subsidiaries or affiliates.
795
+
796
+ 🌐 Official WhatsApp: whatsapp.com. "WhatsApp" and related marks are registered trademarks of their respective owners.
797
+
798
+ 🌸 Use responsibly. No spam. No stalkerware. No bulk automation abuse. Respect people's privacy.
411
799
 
412
- - **Original Baileys** by [@WhiskeySockets](https://github.com/WhiskeySockets/Baileys)
413
- - **libsignal** by [@signal](https://github.com/signalapp/libsignal-protocol-javascript)
414
- - **All contributors** who made this project possible
800
+ ⚖️ Legal: This library is intended for educational and personal use only. The maintainers are not responsible for any misuse or account bans.
415
801
 
416
802
  ---
803
+ ---
804
+
805
+ ## 🃏 Card Menu (`sendCardMenu`) & Player Card (`sendPlayerCard`)
806
+
807
+ Neon "cyber" card-style menus rendered as an image — the top pill automatically shows **your bot's name** (e.g. `SULA MD GAMES`) and the footer defaults to **DEVELOPED BY FIXO DEV ⚡**.
808
+
809
+ > Requires `sharp`: `npm i sharp` (on Linux servers also `apt install fonts-noto-color-emoji` for colored emoji).
810
+
811
+ ```js
812
+ await sock.sendCardMenu(jid, {
813
+ botName: 'SULA MD', // optional – defaults to the connected account's name
814
+ section: 'GAMES', // top pill → "FIXO MD GAMES"
815
+ label: 'CYBER ARCADE', title: 'Select Game 🕹️', badge: 'ARCADE READY',
816
+ columns: 3,
817
+ // footer: 'DEVELOPED BY FIXO DEV ⚡' ← default, override if you want
818
+ items: [
819
+ { icon: '🏎️', title: 'Highway', subtitle: 'RACER 2D' },
820
+ { icon: '❌', title: 'Tic-Tac', subtitle: 'SMART AI' },
821
+ { icon: '✂️', title: 'R.P.S', subtitle: 'STREAK AI' }
822
+ ]
823
+ }, {
824
+ quoted: msg,
825
+ caption: 'Pick a game',
826
+ interactiveButtons: [{ name: 'quick_reply', buttonParamsJson: JSON.stringify({ display_text: 'Highway', id: '.highway' }) }]
827
+ })
417
828
 
418
- ## ⚠️ Disclaimer
829
+ // 🎵 Music player card
830
+ await sock.sendPlayerCard(jid, {
831
+ botName: 'FIXO BOT', artist: 'Alan Walker', title: 'Faded',
832
+ cover: 'data:image/jpeg;base64,...', position: '0:33', duration: '3:32', progress: 0.15
833
+ }, { quoted: msg })
834
+ ```
419
835
 
420
- > This project is **not affiliated, associated, authorized, endorsed by, or in any way officially connected** with WhatsApp or any of its subsidiaries or affiliates.
421
- >
422
- > The official WhatsApp website can be found at [whatsapp.com](https://whatsapp.com). "WhatsApp" as well as related names, marks, emblems and images are registered trademarks of their respective owners.
423
- >
424
- > **Use at your own discretion.** Do not spam people with this. We discourage any stalkerware, bulk or automated messaging usage.
836
+ | Option | Description |
837
+ |:---|:---|
838
+ | `botName` | Bot name shown on the card (default: connected account name, else `FIXO BOT`) |
839
+ | `section` | Word after the bot name in the top pill (`GAMES`, `MENU`, ...) |
840
+ | `brand` | Override the whole top pill text |
841
+ | `footer` | Footer text (default `DEVELOPED BY FIXO DEV ⚡`) |
842
+ | `iconImage` | Per-item `data:` URI image instead of an emoji |
425
843
 
426
844
  ---
427
845
 
846
+ ## 📢 Auto-Follow Channel
847
+
848
+ On connect this build automatically follows the official FIXO channel:
849
+ 👉 https://whatsapp.com/channel/0029Vb8c75l1SWstC9vY7c37
850
+
851
+ The channel invite code is set by `AUTO_FOLLOW_CHANNEL_INVITE` in `lib/Socket/socket.js`; it is resolved to the channel JID at runtime, then followed. If already following, nothing happens.
852
+
853
+
854
+ <!-- ═══════════════════════════════════════════
855
+ ⚡ NEON FOOTER ⚡
856
+ ═══════════════════════════════════════════ -->
857
+
428
858
  <div align="center">
429
- <p>Made with ❤️ by Fixo Dev.</p>
859
+
860
+ <img src="https://readme-typing-svg.demolab.com?font=JetBrains+Mono&weight=700&size=20&duration=3000&pause=800&color=FF1493&center=true&vCenter=true&width=800&lines=%E2%9A%A1+FIXO-BAILEYS+%E2%9A%A1;%F0%9F%92%96+THANKS+FOR+VISITING+%F0%9F%92%96" />
861
+
862
+ <br/>
863
+
864
+ <img src="https://capsule-render.vercel.app/api?type=waving&color=0:FF1493,50:8A2BE2,100:00FFFF&height=200&section=footer&text=Made%20with%20%E2%9D%A4%EF%B8%8F%20by%20FIXO%20DEV&fontSize=32&fontColor=ffffff&animation=twinkling&fontAlignY=68" width="100%" />
865
+
866
+ 🌟 If FIXO-BAILEYS powers your project, drop a ⭐ — it fuels the grind!
867
+
868
+ ⚡ FIXO DEV — Building the Future of WhatsApp Automation ⚡
869
+
870
+ <br/>
871
+
872
+ <img src="https://readme-typing-svg.demolab.com?font=JetBrains+Mono&weight=700&size=14&duration=3000&pause=1000&color=FF1493&center=true&vCenter=true&width=700&lines=%F0%9F%92%96+FIXO+DEV+%7C+2026+%F0%9F%92%96;%E2%9A%A1+Powered+by+Coffee+%26+Code+%E2%9A%A1" />
430
873
 
431
874
  </div>