baileys-joss 1.0.1 → 1.0.2

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 (125) hide show
  1. package/README.md +1983 -79
  2. package/lib/Socket/business.d.ts +4 -0
  3. package/lib/Socket/business.d.ts.map +1 -1
  4. package/lib/Socket/chats.d.ts +4 -0
  5. package/lib/Socket/chats.d.ts.map +1 -1
  6. package/lib/Socket/chats.js +44 -1
  7. package/lib/Socket/chats.js.map +1 -1
  8. package/lib/Socket/communities.d.ts +4 -0
  9. package/lib/Socket/communities.d.ts.map +1 -1
  10. package/lib/Socket/groups.d.ts +4 -0
  11. package/lib/Socket/groups.d.ts.map +1 -1
  12. package/lib/Socket/index.d.ts +4 -0
  13. package/lib/Socket/index.d.ts.map +1 -1
  14. package/lib/Socket/messages-recv.d.ts +4 -0
  15. package/lib/Socket/messages-recv.d.ts.map +1 -1
  16. package/lib/Socket/messages-send.d.ts +4 -0
  17. package/lib/Socket/messages-send.d.ts.map +1 -1
  18. package/lib/Socket/newsletter.d.ts +4 -0
  19. package/lib/Socket/newsletter.d.ts.map +1 -1
  20. package/lib/Types/Message.d.ts +4 -0
  21. package/lib/Types/Message.d.ts.map +1 -1
  22. package/lib/Utils/activity-logger.d.ts +189 -0
  23. package/lib/Utils/activity-logger.d.ts.map +1 -0
  24. package/lib/Utils/activity-logger.js +418 -0
  25. package/lib/Utils/activity-logger.js.map +1 -0
  26. package/lib/Utils/anti-spam.d.ts +145 -0
  27. package/lib/Utils/anti-spam.d.ts.map +1 -0
  28. package/lib/Utils/anti-spam.js +398 -0
  29. package/lib/Utils/anti-spam.js.map +1 -0
  30. package/lib/Utils/auto-reply.d.ts +123 -0
  31. package/lib/Utils/auto-reply.d.ts.map +1 -0
  32. package/lib/Utils/auto-reply.js +234 -0
  33. package/lib/Utils/auto-reply.js.map +1 -0
  34. package/lib/Utils/broadcast.d.ts +121 -0
  35. package/lib/Utils/broadcast.d.ts.map +1 -0
  36. package/lib/Utils/broadcast.js +223 -0
  37. package/lib/Utils/broadcast.js.map +1 -0
  38. package/lib/Utils/bulk-messaging.d.ts +79 -0
  39. package/lib/Utils/bulk-messaging.d.ts.map +1 -0
  40. package/lib/Utils/bulk-messaging.js +148 -0
  41. package/lib/Utils/bulk-messaging.js.map +1 -0
  42. package/lib/Utils/chat-analytics.d.ts +92 -0
  43. package/lib/Utils/chat-analytics.d.ts.map +1 -0
  44. package/lib/Utils/chat-analytics.js +337 -0
  45. package/lib/Utils/chat-analytics.js.map +1 -0
  46. package/lib/Utils/chat-control.d.ts +156 -0
  47. package/lib/Utils/chat-control.d.ts.map +1 -0
  48. package/lib/Utils/chat-control.js +224 -0
  49. package/lib/Utils/chat-control.js.map +1 -0
  50. package/lib/Utils/chat-export.d.ts +75 -0
  51. package/lib/Utils/chat-export.d.ts.map +1 -0
  52. package/lib/Utils/chat-export.js +309 -0
  53. package/lib/Utils/chat-export.js.map +1 -0
  54. package/lib/Utils/content-detector.d.ts +199 -0
  55. package/lib/Utils/content-detector.d.ts.map +1 -0
  56. package/lib/Utils/content-detector.js +442 -0
  57. package/lib/Utils/content-detector.js.map +1 -0
  58. package/lib/Utils/index.d.ts +23 -0
  59. package/lib/Utils/index.d.ts.map +1 -1
  60. package/lib/Utils/index.js +52 -0
  61. package/lib/Utils/index.js.map +1 -1
  62. package/lib/Utils/link-scanner.d.ts +112 -0
  63. package/lib/Utils/link-scanner.d.ts.map +1 -0
  64. package/lib/Utils/link-scanner.js +433 -0
  65. package/lib/Utils/link-scanner.js.map +1 -0
  66. package/lib/Utils/media-downloader.d.ts +86 -0
  67. package/lib/Utils/media-downloader.d.ts.map +1 -0
  68. package/lib/Utils/media-downloader.js +269 -0
  69. package/lib/Utils/media-downloader.js.map +1 -0
  70. package/lib/Utils/meme-generator.d.ts +96 -0
  71. package/lib/Utils/meme-generator.d.ts.map +1 -0
  72. package/lib/Utils/meme-generator.js +368 -0
  73. package/lib/Utils/meme-generator.js.map +1 -0
  74. package/lib/Utils/message-search.d.ts +96 -0
  75. package/lib/Utils/message-search.d.ts.map +1 -0
  76. package/lib/Utils/message-search.js +261 -0
  77. package/lib/Utils/message-search.js.map +1 -0
  78. package/lib/Utils/messages-media.d.ts +20 -1
  79. package/lib/Utils/messages-media.d.ts.map +1 -1
  80. package/lib/Utils/messages-media.js +100 -5
  81. package/lib/Utils/messages-media.js.map +1 -1
  82. package/lib/Utils/messages.d.ts.map +1 -1
  83. package/lib/Utils/messages.js +9 -2
  84. package/lib/Utils/messages.js.map +1 -1
  85. package/lib/Utils/mini-games.d.ts +155 -0
  86. package/lib/Utils/mini-games.d.ts.map +1 -0
  87. package/lib/Utils/mini-games.js +445 -0
  88. package/lib/Utils/mini-games.js.map +1 -0
  89. package/lib/Utils/pomodoro.d.ts +139 -0
  90. package/lib/Utils/pomodoro.d.ts.map +1 -0
  91. package/lib/Utils/pomodoro.js +434 -0
  92. package/lib/Utils/pomodoro.js.map +1 -0
  93. package/lib/Utils/qr-generator.d.ts +95 -0
  94. package/lib/Utils/qr-generator.d.ts.map +1 -0
  95. package/lib/Utils/qr-generator.js +226 -0
  96. package/lib/Utils/qr-generator.js.map +1 -0
  97. package/lib/Utils/quotes.d.ts +110 -0
  98. package/lib/Utils/quotes.d.ts.map +1 -0
  99. package/lib/Utils/quotes.js +325 -0
  100. package/lib/Utils/quotes.js.map +1 -0
  101. package/lib/Utils/scheduling.d.ts +88 -0
  102. package/lib/Utils/scheduling.d.ts.map +1 -0
  103. package/lib/Utils/scheduling.js +163 -0
  104. package/lib/Utils/scheduling.js.map +1 -0
  105. package/lib/Utils/status-posting.d.ts +151 -0
  106. package/lib/Utils/status-posting.d.ts.map +1 -0
  107. package/lib/Utils/status-posting.js +162 -0
  108. package/lib/Utils/status-posting.js.map +1 -0
  109. package/lib/Utils/templates.d.ts +154 -0
  110. package/lib/Utils/templates.d.ts.map +1 -0
  111. package/lib/Utils/templates.js +368 -0
  112. package/lib/Utils/templates.js.map +1 -0
  113. package/lib/Utils/vcard.d.ts +86 -0
  114. package/lib/Utils/vcard.d.ts.map +1 -0
  115. package/lib/Utils/vcard.js +195 -0
  116. package/lib/Utils/vcard.js.map +1 -0
  117. package/lib/Utils/voice-note.d.ts +115 -0
  118. package/lib/Utils/voice-note.d.ts.map +1 -0
  119. package/lib/Utils/voice-note.js +212 -0
  120. package/lib/Utils/voice-note.js.map +1 -0
  121. package/lib/Utils/weather.d.ts +118 -0
  122. package/lib/Utils/weather.d.ts.map +1 -0
  123. package/lib/Utils/weather.js +362 -0
  124. package/lib/Utils/weather.js.map +1 -0
  125. package/package.json +6 -3
@@ -0,0 +1,434 @@
1
+ /**
2
+ * Baileys-Joss: Pomodoro Timer
3
+ *
4
+ * Timer produktivitas dengan teknik Pomodoro
5
+ */
6
+ // =====================================================
7
+ // DEFAULT CONFIG
8
+ // =====================================================
9
+ export const DEFAULT_POMODORO_CONFIG = {
10
+ workDuration: 25,
11
+ shortBreakDuration: 5,
12
+ longBreakDuration: 15,
13
+ sessionsBeforeLongBreak: 4,
14
+ autoStartBreaks: false,
15
+ autoStartWork: false
16
+ };
17
+ // =====================================================
18
+ // POMODORO MANAGER CLASS
19
+ // =====================================================
20
+ export class PomodoroManager {
21
+ constructor() {
22
+ this.sessions = new Map();
23
+ this.stats = new Map();
24
+ this.timers = new Map();
25
+ this.eventHandlers = [];
26
+ }
27
+ /**
28
+ * Register event handler
29
+ */
30
+ onEvent(handler) {
31
+ this.eventHandlers.push(handler);
32
+ }
33
+ /**
34
+ * Emit event to all handlers
35
+ */
36
+ emit(type, session) {
37
+ const event = {
38
+ type,
39
+ session: { ...session },
40
+ timestamp: Date.now()
41
+ };
42
+ for (const handler of this.eventHandlers) {
43
+ try {
44
+ handler(event);
45
+ }
46
+ catch (e) {
47
+ console.error('Pomodoro event handler error:', e);
48
+ }
49
+ }
50
+ }
51
+ /**
52
+ * Create new pomodoro session
53
+ */
54
+ createSession(jid, config) {
55
+ const id = `pomo_${Date.now()}_${Math.random().toString(36).substring(7)}`;
56
+ const session = {
57
+ id,
58
+ jid,
59
+ status: 'idle',
60
+ currentSession: 1,
61
+ totalSessions: 0,
62
+ config: { ...DEFAULT_POMODORO_CONFIG, ...config }
63
+ };
64
+ this.sessions.set(jid, session);
65
+ return session;
66
+ }
67
+ /**
68
+ * Get session for user
69
+ */
70
+ getSession(jid) {
71
+ return this.sessions.get(jid);
72
+ }
73
+ /**
74
+ * Start work session
75
+ */
76
+ startWork(jid) {
77
+ let session = this.sessions.get(jid);
78
+ if (!session) {
79
+ session = this.createSession(jid);
80
+ }
81
+ // Clear any existing timer
82
+ this.clearTimer(jid);
83
+ session.status = 'work';
84
+ session.startTime = Date.now();
85
+ session.remainingTime = session.config.workDuration * 60 * 1000;
86
+ this.emit('work_start', session);
87
+ this.startTimer(jid, session.remainingTime);
88
+ return session;
89
+ }
90
+ /**
91
+ * Start break (short or long)
92
+ */
93
+ startBreak(jid) {
94
+ const session = this.sessions.get(jid);
95
+ if (!session)
96
+ return null;
97
+ // Clear any existing timer
98
+ this.clearTimer(jid);
99
+ // Determine break type
100
+ const isLongBreak = session.currentSession % session.config.sessionsBeforeLongBreak === 0;
101
+ session.status = isLongBreak ? 'long_break' : 'short_break';
102
+ session.startTime = Date.now();
103
+ session.remainingTime = (isLongBreak
104
+ ? session.config.longBreakDuration
105
+ : session.config.shortBreakDuration) * 60 * 1000;
106
+ this.emit('break_start', session);
107
+ this.startTimer(jid, session.remainingTime);
108
+ return session;
109
+ }
110
+ /**
111
+ * Pause current session
112
+ */
113
+ pause(jid) {
114
+ const session = this.sessions.get(jid);
115
+ if (!session || session.status === 'idle' || session.status === 'paused') {
116
+ return null;
117
+ }
118
+ this.clearTimer(jid);
119
+ // Calculate remaining time
120
+ const elapsed = Date.now() - (session.startTime || Date.now());
121
+ session.remainingTime = (session.remainingTime || 0) - elapsed;
122
+ session.pauseTime = Date.now();
123
+ session.status = 'paused';
124
+ this.emit('paused', session);
125
+ return session;
126
+ }
127
+ /**
128
+ * Resume paused session
129
+ */
130
+ resume(jid) {
131
+ const session = this.sessions.get(jid);
132
+ if (!session || session.status !== 'paused') {
133
+ return null;
134
+ }
135
+ session.startTime = Date.now();
136
+ session.status = 'work'; // Resume to work (could track previous state)
137
+ this.emit('resumed', session);
138
+ this.startTimer(jid, session.remainingTime || 0);
139
+ return session;
140
+ }
141
+ /**
142
+ * Stop/reset session
143
+ */
144
+ stop(jid) {
145
+ this.clearTimer(jid);
146
+ this.sessions.delete(jid);
147
+ }
148
+ /**
149
+ * Get remaining time formatted
150
+ */
151
+ getRemainingTime(jid) {
152
+ const session = this.sessions.get(jid);
153
+ if (!session || session.status === 'idle') {
154
+ return '00:00';
155
+ }
156
+ let remaining = session.remainingTime || 0;
157
+ if (session.status !== 'paused' && session.startTime) {
158
+ const elapsed = Date.now() - session.startTime;
159
+ remaining = remaining - elapsed;
160
+ }
161
+ if (remaining < 0)
162
+ remaining = 0;
163
+ const minutes = Math.floor(remaining / 60000);
164
+ const seconds = Math.floor((remaining % 60000) / 1000);
165
+ return `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
166
+ }
167
+ /**
168
+ * Get session status formatted
169
+ */
170
+ getStatusMessage(jid) {
171
+ const session = this.sessions.get(jid);
172
+ if (!session) {
173
+ return '⏱️ *Pomodoro Timer*\n\nNo active session.\nUse /pomodoro start to begin!';
174
+ }
175
+ const remaining = this.getRemainingTime(jid);
176
+ const stats = this.stats.get(jid);
177
+ const statusEmoji = {
178
+ 'idle': '⏹️',
179
+ 'work': '🍅',
180
+ 'short_break': '☕',
181
+ 'long_break': '🌴',
182
+ 'paused': '⏸️'
183
+ };
184
+ const statusText = {
185
+ 'idle': 'Ready',
186
+ 'work': 'Focus Time',
187
+ 'short_break': 'Short Break',
188
+ 'long_break': 'Long Break',
189
+ 'paused': 'Paused'
190
+ };
191
+ const lines = [
192
+ `${statusEmoji[session.status]} *Pomodoro Timer*`,
193
+ '',
194
+ `📊 Status: *${statusText[session.status]}*`,
195
+ `⏱️ Time: *${remaining}*`,
196
+ `🔢 Session: *${session.currentSession}/${session.config.sessionsBeforeLongBreak}*`,
197
+ ''
198
+ ];
199
+ if (stats) {
200
+ lines.push('📈 *Today\'s Stats:*');
201
+ lines.push(` • Work Sessions: ${stats.totalWorkSessions}`);
202
+ lines.push(` • Focus Time: ${stats.totalWorkMinutes} min`);
203
+ lines.push(` • Current Streak: ${stats.currentStreak}`);
204
+ }
205
+ return lines.join('\n');
206
+ }
207
+ /**
208
+ * Get user stats
209
+ */
210
+ getStats(jid) {
211
+ let stats = this.stats.get(jid);
212
+ if (!stats) {
213
+ stats = {
214
+ jid,
215
+ totalWorkSessions: 0,
216
+ totalWorkMinutes: 0,
217
+ totalBreakMinutes: 0,
218
+ currentStreak: 0,
219
+ longestStreak: 0
220
+ };
221
+ this.stats.set(jid, stats);
222
+ }
223
+ return stats;
224
+ }
225
+ /**
226
+ * Get formatted stats
227
+ */
228
+ getStatsMessage(jid) {
229
+ const stats = this.getStats(jid);
230
+ return [
231
+ '📊 *Pomodoro Statistics*',
232
+ '',
233
+ `🍅 Total Work Sessions: *${stats.totalWorkSessions}*`,
234
+ `⏱️ Total Focus Time: *${stats.totalWorkMinutes} minutes*`,
235
+ `☕ Total Break Time: *${stats.totalBreakMinutes} minutes*`,
236
+ `🔥 Current Streak: *${stats.currentStreak} sessions*`,
237
+ `🏆 Longest Streak: *${stats.longestStreak} sessions*`,
238
+ '',
239
+ stats.lastSessionDate ? `📅 Last Session: ${stats.lastSessionDate}` : ''
240
+ ].filter(Boolean).join('\n');
241
+ }
242
+ /**
243
+ * Start internal timer
244
+ */
245
+ startTimer(jid, duration) {
246
+ const timer = setTimeout(() => {
247
+ this.onTimerComplete(jid);
248
+ }, duration);
249
+ this.timers.set(jid, timer);
250
+ }
251
+ /**
252
+ * Clear timer
253
+ */
254
+ clearTimer(jid) {
255
+ const timer = this.timers.get(jid);
256
+ if (timer) {
257
+ clearTimeout(timer);
258
+ this.timers.delete(jid);
259
+ }
260
+ }
261
+ /**
262
+ * Handle timer completion
263
+ */
264
+ onTimerComplete(jid) {
265
+ const session = this.sessions.get(jid);
266
+ if (!session)
267
+ return;
268
+ const stats = this.getStats(jid);
269
+ if (session.status === 'work') {
270
+ // Work session complete
271
+ session.totalSessions++;
272
+ stats.totalWorkSessions++;
273
+ stats.totalWorkMinutes += session.config.workDuration;
274
+ stats.currentStreak++;
275
+ stats.longestStreak = Math.max(stats.longestStreak, stats.currentStreak);
276
+ stats.lastSessionDate = new Date().toISOString().split('T')[0];
277
+ this.emit('work_end', session);
278
+ if (session.config.autoStartBreaks) {
279
+ this.startBreak(jid);
280
+ }
281
+ else {
282
+ session.status = 'idle';
283
+ }
284
+ }
285
+ else if (session.status === 'short_break' || session.status === 'long_break') {
286
+ // Break complete
287
+ const breakDuration = session.status === 'long_break'
288
+ ? session.config.longBreakDuration
289
+ : session.config.shortBreakDuration;
290
+ stats.totalBreakMinutes += breakDuration;
291
+ if (session.status === 'long_break') {
292
+ session.currentSession = 1;
293
+ }
294
+ else {
295
+ session.currentSession++;
296
+ }
297
+ this.emit('break_end', session);
298
+ if (session.config.autoStartWork) {
299
+ this.startWork(jid);
300
+ }
301
+ else {
302
+ session.status = 'idle';
303
+ }
304
+ }
305
+ }
306
+ /**
307
+ * Format help message
308
+ */
309
+ getHelpMessage() {
310
+ return [
311
+ '🍅 *Pomodoro Timer - Help*',
312
+ '',
313
+ '*Commands:*',
314
+ '• /pomodoro start - Start work session',
315
+ '• /pomodoro break - Start break',
316
+ '• /pomodoro pause - Pause timer',
317
+ '• /pomodoro resume - Resume timer',
318
+ '• /pomodoro stop - Stop & reset',
319
+ '• /pomodoro status - Show status',
320
+ '• /pomodoro stats - Show statistics',
321
+ '',
322
+ '*Settings:*',
323
+ '• /pomodoro set work <minutes>',
324
+ '• /pomodoro set short <minutes>',
325
+ '• /pomodoro set long <minutes>',
326
+ '',
327
+ '*Technique:*',
328
+ '1. 🍅 Work for 25 minutes',
329
+ '2. ☕ Short break (5 min)',
330
+ '3. 🔄 Repeat 4 times',
331
+ '4. 🌴 Long break (15 min)'
332
+ ].join('\n');
333
+ }
334
+ /**
335
+ * Parse command
336
+ */
337
+ parseCommand(jid, command) {
338
+ const parts = command.toLowerCase().trim().split(/\s+/);
339
+ const action = parts[0];
340
+ switch (action) {
341
+ case 'start':
342
+ this.startWork(jid);
343
+ return this.getStatusMessage(jid);
344
+ case 'break':
345
+ const breakSession = this.startBreak(jid);
346
+ if (!breakSession) {
347
+ return '❌ No active session. Use /pomodoro start first.';
348
+ }
349
+ return this.getStatusMessage(jid);
350
+ case 'pause':
351
+ const pauseResult = this.pause(jid);
352
+ if (!pauseResult) {
353
+ return '❌ No active session to pause.';
354
+ }
355
+ return '⏸️ Timer paused.\n' + this.getStatusMessage(jid);
356
+ case 'resume':
357
+ const resumeResult = this.resume(jid);
358
+ if (!resumeResult) {
359
+ return '❌ No paused session to resume.';
360
+ }
361
+ return '▶️ Timer resumed.\n' + this.getStatusMessage(jid);
362
+ case 'stop':
363
+ case 'reset':
364
+ this.stop(jid);
365
+ return '⏹️ Pomodoro timer stopped and reset.';
366
+ case 'status':
367
+ return this.getStatusMessage(jid);
368
+ case 'stats':
369
+ return this.getStatsMessage(jid);
370
+ case 'set':
371
+ return this.handleSet(jid, parts.slice(1));
372
+ case 'help':
373
+ default:
374
+ return this.getHelpMessage();
375
+ }
376
+ }
377
+ /**
378
+ * Handle set commands
379
+ */
380
+ handleSet(jid, args) {
381
+ let session = this.sessions.get(jid);
382
+ if (!session) {
383
+ session = this.createSession(jid);
384
+ }
385
+ const [setting, valueStr] = args;
386
+ const value = parseInt(valueStr ?? '');
387
+ if (isNaN(value) || value < 1 || value > 120) {
388
+ return '❌ Please provide a valid duration (1-120 minutes)';
389
+ }
390
+ switch (setting) {
391
+ case 'work':
392
+ session.config.workDuration = value;
393
+ return `✅ Work duration set to ${value} minutes`;
394
+ case 'short':
395
+ session.config.shortBreakDuration = value;
396
+ return `✅ Short break set to ${value} minutes`;
397
+ case 'long':
398
+ session.config.longBreakDuration = value;
399
+ return `✅ Long break set to ${value} minutes`;
400
+ default:
401
+ return '❌ Unknown setting. Use: work, short, or long';
402
+ }
403
+ }
404
+ /**
405
+ * Cleanup all timers
406
+ */
407
+ cleanup() {
408
+ for (const [jid] of this.timers) {
409
+ this.clearTimer(jid);
410
+ }
411
+ this.sessions.clear();
412
+ }
413
+ }
414
+ // =====================================================
415
+ // FACTORY FUNCTION
416
+ // =====================================================
417
+ export const createPomodoroManager = () => {
418
+ return new PomodoroManager();
419
+ };
420
+ // =====================================================
421
+ // QUICK HELPERS
422
+ // =====================================================
423
+ const defaultManager = new PomodoroManager();
424
+ export const pomodoro = {
425
+ start: (jid) => defaultManager.startWork(jid),
426
+ break: (jid) => defaultManager.startBreak(jid),
427
+ pause: (jid) => defaultManager.pause(jid),
428
+ resume: (jid) => defaultManager.resume(jid),
429
+ stop: (jid) => defaultManager.stop(jid),
430
+ status: (jid) => defaultManager.getStatusMessage(jid),
431
+ stats: (jid) => defaultManager.getStatsMessage(jid),
432
+ command: (jid, cmd) => defaultManager.parseCommand(jid, cmd)
433
+ };
434
+ //# sourceMappingURL=pomodoro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pomodoro.js","sourceRoot":"","sources":["../../src/Utils/pomodoro.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Baileys-Joss: QR Code Generator
3
+ *
4
+ * Generate QR code custom untuk pairing
5
+ */
6
+ export interface QRCodeOptions {
7
+ /** QR code size in pixels */
8
+ size?: number;
9
+ /** Error correction level */
10
+ errorCorrectionLevel?: 'L' | 'M' | 'Q' | 'H';
11
+ /** Foreground color (hex) */
12
+ foregroundColor?: string;
13
+ /** Background color (hex) */
14
+ backgroundColor?: string;
15
+ /** Margin (number of modules) */
16
+ margin?: number;
17
+ /** Output format */
18
+ format?: 'svg' | 'terminal' | 'base64' | 'dataUrl';
19
+ /** Logo URL or base64 (for center logo) */
20
+ logo?: string;
21
+ /** Logo size ratio (0.1 - 0.3 recommended) */
22
+ logoSizeRatio?: number;
23
+ }
24
+ /**
25
+ * Simple QR code generator (uses qrcode library if available)
26
+ */
27
+ export declare class QRCodeGenerator {
28
+ private options;
29
+ constructor(options?: QRCodeOptions);
30
+ /**
31
+ * Generate QR code as terminal string (fallback without library)
32
+ */
33
+ generateTerminal(data: string): Promise<string>;
34
+ /**
35
+ * Generate QR code as SVG
36
+ */
37
+ generateSvg(data: string): Promise<string>;
38
+ /**
39
+ * Generate QR code as base64 PNG
40
+ */
41
+ generateBase64(data: string): Promise<string>;
42
+ /**
43
+ * Generate QR code as Buffer (PNG)
44
+ */
45
+ generateBuffer(data: string): Promise<Buffer>;
46
+ /**
47
+ * Generate QR code based on format option
48
+ */
49
+ generate(data: string): Promise<string | Buffer>;
50
+ /**
51
+ * Update options
52
+ */
53
+ setOptions(options: Partial<QRCodeOptions>): void;
54
+ }
55
+ /**
56
+ * Create a styled QR code for WhatsApp pairing
57
+ */
58
+ export declare const createWhatsAppQR: (pairingCode: string, options?: QRCodeOptions) => Promise<string>;
59
+ /**
60
+ * Create QR code generator instance
61
+ */
62
+ export declare const createQRGenerator: (options?: QRCodeOptions) => QRCodeGenerator;
63
+ /**
64
+ * Quick QR code generation helpers
65
+ */
66
+ export declare const QRHelper: {
67
+ /**
68
+ * Generate terminal QR
69
+ */
70
+ terminal: (data: string) => Promise<string>;
71
+ /**
72
+ * Generate SVG QR
73
+ */
74
+ svg: (data: string, options?: Partial<QRCodeOptions>) => Promise<string>;
75
+ /**
76
+ * Generate base64 QR
77
+ */
78
+ base64: (data: string, options?: Partial<QRCodeOptions>) => Promise<string>;
79
+ /**
80
+ * Generate buffer QR
81
+ */
82
+ buffer: (data: string, options?: Partial<QRCodeOptions>) => Promise<Buffer>;
83
+ };
84
+ /**
85
+ * Custom QR code event handler for baileys
86
+ */
87
+ export type QRCodeHandler = (qr: string, attempt: number) => void | Promise<void>;
88
+ /**
89
+ * Create a QR code handler with custom rendering
90
+ */
91
+ export declare const createQRHandler: (options?: QRCodeOptions & {
92
+ onQR?: (rendered: string, raw: string, attempt: number) => void;
93
+ maxAttempts?: number;
94
+ }) => QRCodeHandler;
95
+ //# sourceMappingURL=qr-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-generator.d.ts","sourceRoot":"","sources":["../../src/Utils/qr-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC7B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,oBAAoB,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAC5C,6BAA6B;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oBAAoB;IACpB,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;IAClD,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAyBD;;GAEG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,OAAO,CAA2D;gBAE9D,OAAO,GAAE,aAAkB;IAIvC;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BrD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBhD;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBnD;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBnD;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAatD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;CAGjD;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC5B,aAAa,MAAM,EACnB,UAAS,aAAkB,KACzB,OAAO,CAAC,MAAM,CAShB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,aAAa,KAAG,eAE3D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;IACpB;;OAEG;qBACoB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;IAK/C;;OAEG;gBACe,MAAM,YAAY,OAAO,CAAC,aAAa,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;IAK5E;;OAEG;mBACkB,MAAM,YAAY,OAAO,CAAC,aAAa,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;IAK/E;;OAEG;mBACkB,MAAM,YAAY,OAAO,CAAC,aAAa,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;CAI/E,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjF;;GAEG;AACH,eAAO,MAAM,eAAe,GAC3B,UAAS,aAAa,GAAG;IACxB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAA;CACf,KACJ,aAsBF,CAAA"}