waengine 1.7.4 → 1.7.6
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/FEATURES.md +463 -8
- package/README.md +57 -2
- package/package.json +3 -3
- package/src/advanced-features.js +48 -6
- package/src/analytics-manager.js +2 -2
- package/src/auth-recovery.js +272 -0
- package/src/client.js +31 -1
- package/src/connection-recovery.js +252 -0
- package/src/cross-platform.js +669 -2
- package/src/error-codes.js +335 -0
- package/src/error-handler.js +249 -35
- package/src/index.js +6 -1
- package/src/mobile-support.js +621 -0
- package/src/qr.js +85 -9
- package/src/resource-manager.js +282 -0
- package/src/session-manager.js +21 -2
- package/src/stability-manager.js +0 -0
- package/src/storage.js +54 -3
package/FEATURES.md
CHANGED
|
@@ -2209,11 +2209,399 @@ plugins/
|
|
|
2209
2209
|
|
|
2210
2210
|
---
|
|
2211
2211
|
|
|
2212
|
-
##
|
|
2212
|
+
## 🚀 Advanced Features
|
|
2213
2213
|
|
|
2214
|
-
### **400+ Erweiterte WhatsApp-Funktionen in
|
|
2214
|
+
### **400+ Erweiterte WhatsApp-Funktionen in 16 Kategorien!**
|
|
2215
2215
|
|
|
2216
|
-
WAEngine v1.7.
|
|
2216
|
+
WAEngine v1.7.4 bietet die umfangreichste Sammlung von Advanced WhatsApp Features:
|
|
2217
|
+
|
|
2218
|
+
---
|
|
2219
|
+
|
|
2220
|
+
## 🔒 Security Manager
|
|
2221
|
+
|
|
2222
|
+
### **Umfassendes Sicherheitssystem mit Rate Limiting und Threat Detection**
|
|
2223
|
+
|
|
2224
|
+
```javascript
|
|
2225
|
+
// Security Manager initialisieren
|
|
2226
|
+
const security = client.security;
|
|
2227
|
+
|
|
2228
|
+
// Rate Limiting prüfen
|
|
2229
|
+
const rateCheck = security.checkRateLimit(userId);
|
|
2230
|
+
if (!rateCheck.allowed) {
|
|
2231
|
+
await msg.reply(`⚠️ Rate Limit erreicht. Warte ${rateCheck.resetIn}ms`);
|
|
2232
|
+
return;
|
|
2233
|
+
}
|
|
2234
|
+
|
|
2235
|
+
// Spam Detection
|
|
2236
|
+
const spamCheck = security.detectSpam(msg.text, userId);
|
|
2237
|
+
if (spamCheck.isSpam) {
|
|
2238
|
+
await security.handleSpamDetection(userId, spamCheck);
|
|
2239
|
+
}
|
|
2240
|
+
|
|
2241
|
+
// Encryption/Decryption
|
|
2242
|
+
const encrypted = security.encryptMessage('Geheime Nachricht', userId);
|
|
2243
|
+
const decrypted = security.decryptMessage(encrypted, userId);
|
|
2244
|
+
|
|
2245
|
+
// Suspicious Activity Monitoring
|
|
2246
|
+
security.trackSuspiciousActivity(userId, 'multiple_commands');
|
|
2247
|
+
```
|
|
2248
|
+
|
|
2249
|
+
### **Security Features**
|
|
2250
|
+
- ✅ **Rate Limiting** - Pro Minute/Stunde Limits
|
|
2251
|
+
- ✅ **Spam Detection** - Automatische Spam-Erkennung
|
|
2252
|
+
- ✅ **Message Encryption** - End-to-End Verschlüsselung
|
|
2253
|
+
- ✅ **Threat Detection** - Verdächtige Aktivitäten
|
|
2254
|
+
- ✅ **Auto-Block System** - Automatisches Blockieren
|
|
2255
|
+
- ✅ **Audit Logging** - Vollständige Security-Logs
|
|
2256
|
+
- ✅ **IP Whitelisting** - Erlaubte IP-Adressen
|
|
2257
|
+
- ✅ **Session Security** - Sichere Session-Verwaltung
|
|
2258
|
+
|
|
2259
|
+
### **Security Commands**
|
|
2260
|
+
```javascript
|
|
2261
|
+
client.addCommand('security', async (msg, args) => {
|
|
2262
|
+
const stats = security.getSecurityStats();
|
|
2263
|
+
await msg.reply(`🔒 **Security Status:**
|
|
2264
|
+
|
|
2265
|
+
🚫 Blocked Users: ${stats.blockedUsers}
|
|
2266
|
+
⚠️ Rate Limited: ${stats.rateLimited}
|
|
2267
|
+
🛡️ Threats Detected: ${stats.threatsDetected}
|
|
2268
|
+
📊 Security Score: ${stats.securityScore}/100`);
|
|
2269
|
+
});
|
|
2270
|
+
```
|
|
2271
|
+
|
|
2272
|
+
---
|
|
2273
|
+
|
|
2274
|
+
## 🎮 Gaming Manager
|
|
2275
|
+
|
|
2276
|
+
### **Vollständiges Gaming-System mit Multiplayer-Support**
|
|
2277
|
+
|
|
2278
|
+
```javascript
|
|
2279
|
+
// Gaming Manager verwenden
|
|
2280
|
+
const gaming = client.gaming;
|
|
2281
|
+
|
|
2282
|
+
// Spiel starten
|
|
2283
|
+
const gameId = await gaming.startGame('quiz', chatId, {
|
|
2284
|
+
maxPlayers: 5,
|
|
2285
|
+
duration: 300000, // 5 Minuten
|
|
2286
|
+
difficulty: 'medium'
|
|
2287
|
+
});
|
|
2288
|
+
|
|
2289
|
+
// Spieler hinzufügen
|
|
2290
|
+
await gaming.addPlayer(gameId, userId, playerName);
|
|
2291
|
+
|
|
2292
|
+
// Spiel-Events
|
|
2293
|
+
gaming.on('game.started', (game) => {
|
|
2294
|
+
console.log(`🎮 Spiel gestartet: ${game.name}`);
|
|
2295
|
+
});
|
|
2296
|
+
|
|
2297
|
+
gaming.on('game.ended', (game, results) => {
|
|
2298
|
+
console.log(`🏆 Gewinner: ${results.winner}`);
|
|
2299
|
+
});
|
|
2300
|
+
|
|
2301
|
+
// Leaderboard abrufen
|
|
2302
|
+
const leaderboard = gaming.getLeaderboard('quiz', 'weekly');
|
|
2303
|
+
```
|
|
2304
|
+
|
|
2305
|
+
### **Verfügbare Spiele**
|
|
2306
|
+
- 🧠 **Quiz Game** - Fragen beantworten
|
|
2307
|
+
- 🔢 **Number Guessing** - Zahlen raten
|
|
2308
|
+
- 🔤 **Word Chain** - Wortketten bilden
|
|
2309
|
+
- 🎯 **Trivia Challenge** - Allgemeinwissen
|
|
2310
|
+
- ➕ **Math Challenge** - Mathe-Aufgaben
|
|
2311
|
+
- 🎲 **Dice Games** - Würfelspiele
|
|
2312
|
+
- 🃏 **Card Games** - Kartenspiele
|
|
2313
|
+
- 🏆 **Tournaments** - Turniere
|
|
2314
|
+
|
|
2315
|
+
### **Gaming Features**
|
|
2316
|
+
- ✅ **Multiplayer Support** - Bis zu 15 Spieler
|
|
2317
|
+
- ✅ **Real-time Gaming** - Live-Spiele
|
|
2318
|
+
- ✅ **Leaderboards** - Tägliche/Wöchentliche/Monatliche
|
|
2319
|
+
- ✅ **Player Statistics** - Detaillierte Stats
|
|
2320
|
+
- ✅ **Tournaments** - Organisierte Turniere
|
|
2321
|
+
- ✅ **Custom Games** - Eigene Spiele erstellen
|
|
2322
|
+
- ✅ **Achievements** - Erfolge und Badges
|
|
2323
|
+
- ✅ **Game Templates** - Vorgefertigte Spiele
|
|
2324
|
+
|
|
2325
|
+
---
|
|
2326
|
+
|
|
2327
|
+
## 💾 Database Manager
|
|
2328
|
+
|
|
2329
|
+
### **Professionelles Datenbank-System mit Schema-Validierung**
|
|
2330
|
+
|
|
2331
|
+
```javascript
|
|
2332
|
+
// Database Manager verwenden
|
|
2333
|
+
const db = client.database;
|
|
2334
|
+
|
|
2335
|
+
// Schema erstellen
|
|
2336
|
+
db.createSchema('products', {
|
|
2337
|
+
id: { type: 'string', required: true, unique: true },
|
|
2338
|
+
name: { type: 'string', required: true },
|
|
2339
|
+
price: { type: 'number', min: 0 },
|
|
2340
|
+
category: { type: 'string', enum: ['electronics', 'clothing', 'books'] },
|
|
2341
|
+
createdAt: { type: 'date', default: () => new Date() }
|
|
2342
|
+
});
|
|
2343
|
+
|
|
2344
|
+
// Daten einfügen
|
|
2345
|
+
await db.insert('products', {
|
|
2346
|
+
id: 'prod_001',
|
|
2347
|
+
name: 'Smartphone',
|
|
2348
|
+
price: 599.99,
|
|
2349
|
+
category: 'electronics'
|
|
2350
|
+
});
|
|
2351
|
+
|
|
2352
|
+
// Daten abfragen
|
|
2353
|
+
const products = await db.find('products', {
|
|
2354
|
+
category: 'electronics',
|
|
2355
|
+
price: { $gte: 500 }
|
|
2356
|
+
});
|
|
2357
|
+
|
|
2358
|
+
// Daten aktualisieren
|
|
2359
|
+
await db.update('products', { id: 'prod_001' }, {
|
|
2360
|
+
price: 549.99
|
|
2361
|
+
});
|
|
2362
|
+
|
|
2363
|
+
// Transaktionen
|
|
2364
|
+
const transaction = db.beginTransaction();
|
|
2365
|
+
try {
|
|
2366
|
+
await transaction.insert('products', productData);
|
|
2367
|
+
await transaction.update('inventory', { productId: 'prod_001' }, { stock: 10 });
|
|
2368
|
+
await transaction.commit();
|
|
2369
|
+
} catch (error) {
|
|
2370
|
+
await transaction.rollback();
|
|
2371
|
+
}
|
|
2372
|
+
```
|
|
2373
|
+
|
|
2374
|
+
### **Database Features**
|
|
2375
|
+
- ✅ **Schema Validation** - Automatische Validierung
|
|
2376
|
+
- ✅ **Indexes** - Optimierte Abfragen
|
|
2377
|
+
- ✅ **Transactions** - ACID-Transaktionen
|
|
2378
|
+
- ✅ **Query Builder** - Erweiterte Abfragen
|
|
2379
|
+
- ✅ **Relationships** - Verknüpfte Daten
|
|
2380
|
+
- ✅ **Migrations** - Schema-Migrationen
|
|
2381
|
+
- ✅ **Backup/Restore** - Automatische Backups
|
|
2382
|
+
- ✅ **Query Cache** - Performance-Optimierung
|
|
2383
|
+
|
|
2384
|
+
---
|
|
2385
|
+
|
|
2386
|
+
## 🧪 A/B Testing Manager
|
|
2387
|
+
|
|
2388
|
+
### **Professionelles A/B Testing mit statistischer Auswertung**
|
|
2389
|
+
|
|
2390
|
+
```javascript
|
|
2391
|
+
// A/B Testing Manager verwenden
|
|
2392
|
+
const abTesting = client.abTesting;
|
|
2393
|
+
|
|
2394
|
+
// Experiment erstellen
|
|
2395
|
+
const experimentId = abTesting.createExperiment({
|
|
2396
|
+
name: 'Welcome Message Test',
|
|
2397
|
+
description: 'Test different welcome messages',
|
|
2398
|
+
variants: [
|
|
2399
|
+
{ id: 'control', name: 'Original', allocation: 50, content: 'Welcome!' },
|
|
2400
|
+
{ id: 'variant_a', name: 'Friendly', allocation: 50, content: 'Hey there! Welcome! 👋' }
|
|
2401
|
+
],
|
|
2402
|
+
successMetrics: ['conversion', 'engagement'],
|
|
2403
|
+
minSampleSize: 100,
|
|
2404
|
+
confidenceLevel: 0.95
|
|
2405
|
+
});
|
|
2406
|
+
|
|
2407
|
+
// Experiment starten
|
|
2408
|
+
abTesting.startExperiment(experimentId);
|
|
2409
|
+
|
|
2410
|
+
// User zu Variante zuweisen
|
|
2411
|
+
const variant = abTesting.assignUserToVariant(experimentId, userId, {
|
|
2412
|
+
isNewUser: true,
|
|
2413
|
+
country: 'DE'
|
|
2414
|
+
});
|
|
2415
|
+
|
|
2416
|
+
// Event tracken
|
|
2417
|
+
abTesting.trackEvent(experimentId, userId, 'conversion', {
|
|
2418
|
+
value: 1,
|
|
2419
|
+
timestamp: Date.now()
|
|
2420
|
+
});
|
|
2421
|
+
|
|
2422
|
+
// Ergebnisse abrufen
|
|
2423
|
+
const results = abTesting.getExperimentReport(experimentId);
|
|
2424
|
+
```
|
|
2425
|
+
|
|
2426
|
+
### **A/B Testing Features**
|
|
2427
|
+
- ✅ **Statistical Significance** - Automatische Berechnung
|
|
2428
|
+
- ✅ **Multi-Variant Testing** - Mehr als 2 Varianten
|
|
2429
|
+
- ✅ **Target Audience** - Zielgruppen-Segmentierung
|
|
2430
|
+
- ✅ **Real-time Results** - Live-Ergebnisse
|
|
2431
|
+
- ✅ **Confidence Intervals** - Statistische Genauigkeit
|
|
2432
|
+
- ✅ **Auto-Stop** - Automatisches Beenden
|
|
2433
|
+
- ✅ **Event Tracking** - Conversion-Tracking
|
|
2434
|
+
- ✅ **Detailed Reports** - Umfassende Berichte
|
|
2435
|
+
|
|
2436
|
+
---
|
|
2437
|
+
|
|
2438
|
+
## 📊 Reporting Manager
|
|
2439
|
+
|
|
2440
|
+
### **Umfassendes Reporting-System mit Dashboards**
|
|
2441
|
+
|
|
2442
|
+
```javascript
|
|
2443
|
+
// Reporting Manager verwenden
|
|
2444
|
+
const reporting = client.reporting;
|
|
2445
|
+
|
|
2446
|
+
// Bericht erstellen
|
|
2447
|
+
const reportId = reporting.createReport({
|
|
2448
|
+
name: 'Daily Activity Report',
|
|
2449
|
+
type: 'activity',
|
|
2450
|
+
schedule: 'daily',
|
|
2451
|
+
recipients: ['admin@example.com'],
|
|
2452
|
+
metrics: ['messages_sent', 'active_users', 'response_time'],
|
|
2453
|
+
format: 'pdf'
|
|
2454
|
+
});
|
|
2455
|
+
|
|
2456
|
+
// Dashboard erstellen
|
|
2457
|
+
const dashboardId = reporting.createDashboard({
|
|
2458
|
+
name: 'Bot Performance',
|
|
2459
|
+
widgets: [
|
|
2460
|
+
{ type: 'chart', metric: 'messages_sent', timeRange: '24h' },
|
|
2461
|
+
{ type: 'gauge', metric: 'response_time', threshold: 1000 },
|
|
2462
|
+
{ type: 'table', metric: 'top_users', limit: 10 }
|
|
2463
|
+
]
|
|
2464
|
+
});
|
|
2465
|
+
|
|
2466
|
+
// Alert erstellen
|
|
2467
|
+
reporting.createAlert({
|
|
2468
|
+
name: 'High Error Rate',
|
|
2469
|
+
metric: 'error_rate',
|
|
2470
|
+
condition: 'greater_than',
|
|
2471
|
+
threshold: 5,
|
|
2472
|
+
action: 'email',
|
|
2473
|
+
recipients: ['admin@example.com']
|
|
2474
|
+
});
|
|
2475
|
+
|
|
2476
|
+
// Metriken abrufen
|
|
2477
|
+
const metrics = reporting.getMetrics('messages_sent', {
|
|
2478
|
+
timeRange: '7d',
|
|
2479
|
+
aggregation: 'daily'
|
|
2480
|
+
});
|
|
2481
|
+
```
|
|
2482
|
+
|
|
2483
|
+
### **Reporting Features**
|
|
2484
|
+
- ✅ **Scheduled Reports** - Automatische Berichte
|
|
2485
|
+
- ✅ **Real-time Dashboards** - Live-Dashboards
|
|
2486
|
+
- ✅ **Custom Metrics** - Eigene Metriken
|
|
2487
|
+
- ✅ **Alert System** - Benachrichtigungen
|
|
2488
|
+
- ✅ **Export Formats** - PDF, Excel, CSV
|
|
2489
|
+
- ✅ **Data Visualization** - Charts und Graphen
|
|
2490
|
+
- ✅ **Historical Data** - Langzeit-Analysen
|
|
2491
|
+
- ✅ **Performance Monitoring** - System-Überwachung
|
|
2492
|
+
|
|
2493
|
+
---
|
|
2494
|
+
|
|
2495
|
+
## 🌐 Cross-Platform Integration
|
|
2496
|
+
|
|
2497
|
+
### **Plattformübergreifende Integration und Kompatibilität**
|
|
2498
|
+
|
|
2499
|
+
```javascript
|
|
2500
|
+
// Cross-Platform Manager verwenden
|
|
2501
|
+
const crossPlatform = client.crossPlatform;
|
|
2502
|
+
|
|
2503
|
+
// Platform Detection
|
|
2504
|
+
const platform = crossPlatform.detectPlatform();
|
|
2505
|
+
console.log(`Running on: ${platform.os} ${platform.version}`);
|
|
2506
|
+
|
|
2507
|
+
// Environment Setup
|
|
2508
|
+
crossPlatform.setupEnvironment({
|
|
2509
|
+
qrMode: 'auto', // auto, browser, terminal
|
|
2510
|
+
logLevel: 'info',
|
|
2511
|
+
compatibility: 'high'
|
|
2512
|
+
});
|
|
2513
|
+
|
|
2514
|
+
// Browser Integration
|
|
2515
|
+
const browserSupport = crossPlatform.checkBrowserSupport();
|
|
2516
|
+
if (browserSupport.supported) {
|
|
2517
|
+
await crossPlatform.openQRInBrowser(qrData);
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
// Terminal Optimization
|
|
2521
|
+
crossPlatform.optimizeTerminal({
|
|
2522
|
+
colors: true,
|
|
2523
|
+
unicode: true,
|
|
2524
|
+
width: 'auto'
|
|
2525
|
+
});
|
|
2526
|
+
```
|
|
2527
|
+
|
|
2528
|
+
### **Cross-Platform Features**
|
|
2529
|
+
- ✅ **Universal QR System** - Windows, macOS, Linux, Docker
|
|
2530
|
+
- ✅ **Browser Detection** - Edge, Chrome, Firefox, Safari
|
|
2531
|
+
- ✅ **Terminal Optimization** - Optimierte Terminal-Ausgabe
|
|
2532
|
+
- ✅ **Environment Detection** - Automatische Umgebungserkennung
|
|
2533
|
+
- ✅ **Compatibility Layers** - Fallback-Systeme
|
|
2534
|
+
- ✅ **Performance Tuning** - Plattform-spezifische Optimierungen
|
|
2535
|
+
|
|
2536
|
+
---
|
|
2537
|
+
|
|
2538
|
+
## 🎨 UI Components
|
|
2539
|
+
|
|
2540
|
+
### **Benutzeroberflächen-Komponenten für Rich Content**
|
|
2541
|
+
|
|
2542
|
+
```javascript
|
|
2543
|
+
// UI Components verwenden
|
|
2544
|
+
const ui = client.ui;
|
|
2545
|
+
|
|
2546
|
+
// Interactive Buttons
|
|
2547
|
+
const buttonMessage = ui.createButtons({
|
|
2548
|
+
title: 'Wähle eine Option:',
|
|
2549
|
+
buttons: [
|
|
2550
|
+
{ id: 'option1', text: '✅ Ja', style: 'primary' },
|
|
2551
|
+
{ id: 'option2', text: '❌ Nein', style: 'secondary' },
|
|
2552
|
+
{ id: 'option3', text: '🤔 Vielleicht', style: 'outline' }
|
|
2553
|
+
],
|
|
2554
|
+
footer: 'Powered by WAEngine'
|
|
2555
|
+
});
|
|
2556
|
+
|
|
2557
|
+
// List Components
|
|
2558
|
+
const listMessage = ui.createList({
|
|
2559
|
+
title: 'Produktkatalog',
|
|
2560
|
+
description: 'Wähle ein Produkt aus:',
|
|
2561
|
+
buttonText: 'Auswählen',
|
|
2562
|
+
sections: [
|
|
2563
|
+
{
|
|
2564
|
+
title: 'Elektronik',
|
|
2565
|
+
rows: [
|
|
2566
|
+
{ id: 'phone', title: 'Smartphone', description: '€599', icon: '📱' },
|
|
2567
|
+
{ id: 'laptop', title: 'Laptop', description: '€999', icon: '💻' }
|
|
2568
|
+
]
|
|
2569
|
+
}
|
|
2570
|
+
]
|
|
2571
|
+
});
|
|
2572
|
+
|
|
2573
|
+
// Carousel Components
|
|
2574
|
+
const carousel = ui.createCarousel({
|
|
2575
|
+
cards: [
|
|
2576
|
+
{
|
|
2577
|
+
title: 'Produkt 1',
|
|
2578
|
+
subtitle: 'Beschreibung',
|
|
2579
|
+
image: './product1.jpg',
|
|
2580
|
+
buttons: [{ id: 'buy1', text: 'Kaufen' }]
|
|
2581
|
+
}
|
|
2582
|
+
]
|
|
2583
|
+
});
|
|
2584
|
+
|
|
2585
|
+
// Progress Indicators
|
|
2586
|
+
const progress = ui.createProgress({
|
|
2587
|
+
current: 3,
|
|
2588
|
+
total: 5,
|
|
2589
|
+
title: 'Setup Progress',
|
|
2590
|
+
style: 'bar' // bar, dots, percentage
|
|
2591
|
+
});
|
|
2592
|
+
```
|
|
2593
|
+
|
|
2594
|
+
### **UI Features**
|
|
2595
|
+
- ✅ **Interactive Buttons** - Verschiedene Styles
|
|
2596
|
+
- ✅ **Dynamic Lists** - Scrollbare Listen
|
|
2597
|
+
- ✅ **Carousel Cards** - Swipeable Cards
|
|
2598
|
+
- ✅ **Progress Indicators** - Fortschrittsanzeigen
|
|
2599
|
+
- ✅ **Form Components** - Eingabeformulare
|
|
2600
|
+
- ✅ **Menu Systems** - Navigationsmenüs
|
|
2601
|
+
- ✅ **Modal Dialogs** - Popup-Dialoge
|
|
2602
|
+
- ✅ **Rich Templates** - Vorgefertigte Templates
|
|
2603
|
+
|
|
2604
|
+
---
|
|
2217
2605
|
|
|
2218
2606
|
- 🎵 **Advanced Media Features** - Voice, Video, GIFs, Thumbnails
|
|
2219
2607
|
- 💬 **Advanced Message Features** - Forward, Edit, Pin, Star, Quote
|
|
@@ -2738,7 +3126,7 @@ bot.when('check @user online').checkOnline().done(); // Online-Status von Mentio
|
|
|
2738
3126
|
|
|
2739
3127
|
---
|
|
2740
3128
|
|
|
2741
|
-
## 🔥 Feature Count: **
|
|
3129
|
+
## 🔥 Feature Count: **800+ Funktionen!**
|
|
2742
3130
|
|
|
2743
3131
|
- **Message Functions:** 15+
|
|
2744
3132
|
- **Group Functions:** 8+
|
|
@@ -2760,6 +3148,13 @@ bot.when('check @user online').checkOnline().done(); // Online-Status von Mentio
|
|
|
2760
3148
|
- **🆕 Sticker Creation:** 8+ (NEU in v1.0.8)
|
|
2761
3149
|
- **🆕 Visual Recording:** 7+ (NEU in v1.0.8)
|
|
2762
3150
|
- **🔥 Plugin System:** 80+ (NEU in v1.0.9) **OPTIONAL LOADING!**
|
|
3151
|
+
- **🚀 Security Manager:** 25+ (NEU in v1.7.4)
|
|
3152
|
+
- **🚀 Gaming Manager:** 35+ (NEU in v1.7.4)
|
|
3153
|
+
- **🚀 Database Manager:** 40+ (NEU in v1.7.4)
|
|
3154
|
+
- **🚀 A/B Testing Manager:** 20+ (NEU in v1.7.4)
|
|
3155
|
+
- **🚀 Reporting Manager:** 30+ (NEU in v1.7.4)
|
|
3156
|
+
- **🚀 Cross-Platform Integration:** 15+ (NEU in v1.7.4)
|
|
3157
|
+
- **🚀 UI Components:** 25+ (NEU in v1.7.4)
|
|
2763
3158
|
- **🚀 Advanced Media Features:** 35+ (NEU in v1.7.3)
|
|
2764
3159
|
- **🚀 Advanced Message Features:** 40+ (NEU in v1.7.3)
|
|
2765
3160
|
- **🚀 Rich Content Features:** 45+ (NEU in v1.7.3)
|
|
@@ -2796,6 +3191,13 @@ bot.when('check @user online').checkOnline().done(); // Online-Status von Mentio
|
|
|
2796
3191
|
- **🆕 Sticker Creation** - `msg.create.sticker.fromMedia()` mit Sharp
|
|
2797
3192
|
- **🆕 Visual Recording** - `msg.visualRecord()`, `msg.recordAndReply()`
|
|
2798
3193
|
- **🔥 Plugin System** - 8 Optionale Plugins mit 80+ Commands **OPTIONAL LOADING!**
|
|
3194
|
+
- **🆕 Security Manager** - Rate Limiting, Spam Detection, Encryption
|
|
3195
|
+
- **🆕 Gaming Manager** - Multiplayer Games, Tournaments, Leaderboards
|
|
3196
|
+
- **🆕 Database Manager** - Schema Validation, Transactions, Query Builder
|
|
3197
|
+
- **🆕 A/B Testing** - Statistical Testing, Conversion Tracking
|
|
3198
|
+
- **🆕 Reporting System** - Dashboards, Alerts, Custom Metrics
|
|
3199
|
+
- **🆕 Cross-Platform** - Universal Compatibility, Browser Integration
|
|
3200
|
+
- **🆕 UI Components** - Interactive Buttons, Lists, Carousels, Progress
|
|
2799
3201
|
- **🚀 Advanced Media** - Voice, Video, GIF, Thumbnails (400+ Features)
|
|
2800
3202
|
- **🚀 Rich Content** - Buttons, Lists, Templates, Carousels
|
|
2801
3203
|
- **🚀 Business Features** - Products, Payments, Business Profile
|
|
@@ -2827,6 +3229,13 @@ bot.when('check @user online').checkOnline().done(); // Online-Status von Mentio
|
|
|
2827
3229
|
- **🆕 Event-Driven** - Scheduler + Waiting System
|
|
2828
3230
|
- **🆕 AI-Powered** - Intelligente Responses
|
|
2829
3231
|
- **🔥 Plugin Ecosystem** - 8 Plugins mit 80+ Commands sofort verfügbar
|
|
3232
|
+
- **🆕 Security Architecture** - Rate Limiting, Threat Detection, Encryption
|
|
3233
|
+
- **🆕 Gaming Framework** - Multiplayer Games, Tournaments, Achievements
|
|
3234
|
+
- **🆕 Database System** - Schema Validation, Transactions, Migrations
|
|
3235
|
+
- **🆕 A/B Testing Platform** - Statistical Analysis, Conversion Tracking
|
|
3236
|
+
- **🆕 Reporting Dashboard** - Real-time Metrics, Alerts, Visualizations
|
|
3237
|
+
- **🆕 Cross-Platform Engine** - Universal Compatibility, Auto-Detection
|
|
3238
|
+
- **🆕 UI Framework** - Rich Components, Interactive Elements
|
|
2830
3239
|
- **🚀 Advanced WhatsApp API** - 400+ neue Funktionen in 11 Kategorien
|
|
2831
3240
|
- **🚀 Rich Content Support** - Buttons, Lists, Templates, Carousels
|
|
2832
3241
|
- **🚀 Business Ready** - Products, Payments, Business Profile
|
|
@@ -2902,9 +3311,55 @@ bot.when('check @user online').checkOnline().done(); // Online-Status von Mentio
|
|
|
2902
3311
|
- **`!test-analytics`** - Analytics Plugin testen
|
|
2903
3312
|
- **`!test-all`** - Alle Plugins nacheinander testen
|
|
2904
3313
|
|
|
2905
|
-
### **🚀 Advanced Feature Commands (NEU in v1.7.
|
|
2906
|
-
|
|
2907
|
-
#### **
|
|
3314
|
+
### **🚀 Advanced Feature Commands (NEU in v1.7.4)**
|
|
3315
|
+
|
|
3316
|
+
#### **Security Commands**
|
|
3317
|
+
- **`!security`** - Security Status anzeigen
|
|
3318
|
+
- **`!ratelimit @user`** - Rate Limit Status prüfen
|
|
3319
|
+
- **`!encrypt <text>`** - Nachricht verschlüsseln
|
|
3320
|
+
- **`!decrypt <encrypted>`** - Nachricht entschlüsseln
|
|
3321
|
+
- **`!threats`** - Bedrohungen anzeigen
|
|
3322
|
+
- **`!audit`** - Security Audit Log
|
|
3323
|
+
|
|
3324
|
+
#### **Gaming Commands**
|
|
3325
|
+
- **`!startgame <type>`** - Spiel starten
|
|
3326
|
+
- **`!joingame <id>`** - Spiel beitreten
|
|
3327
|
+
- **`!leaderboard [game]`** - Leaderboard anzeigen
|
|
3328
|
+
- **`!mystats`** - Eigene Gaming-Stats
|
|
3329
|
+
- **`!tournament`** - Turnier-Info
|
|
3330
|
+
- **`!achievements`** - Erfolge anzeigen
|
|
3331
|
+
|
|
3332
|
+
#### **Database Commands**
|
|
3333
|
+
- **`!dbstats`** - Datenbank-Statistiken
|
|
3334
|
+
- **`!query <table> <filter>`** - Datenbank-Abfrage
|
|
3335
|
+
- **`!backup db`** - Datenbank-Backup
|
|
3336
|
+
- **`!migrate`** - Schema-Migration
|
|
3337
|
+
|
|
3338
|
+
#### **A/B Testing Commands**
|
|
3339
|
+
- **`!experiments`** - Aktive Experimente
|
|
3340
|
+
- **`!myvariant <experiment>`** - Meine Variante
|
|
3341
|
+
- **`!abresults <experiment>`** - Experiment-Ergebnisse
|
|
3342
|
+
- **`!conversion <experiment>`** - Conversion tracken
|
|
3343
|
+
|
|
3344
|
+
#### **Reporting Commands**
|
|
3345
|
+
- **`!reports`** - Verfügbare Berichte
|
|
3346
|
+
- **`!dashboard`** - Dashboard anzeigen
|
|
3347
|
+
- **`!metrics <metric>`** - Metriken abrufen
|
|
3348
|
+
- **`!alerts`** - Aktive Alerts
|
|
3349
|
+
|
|
3350
|
+
#### **Cross-Platform Commands**
|
|
3351
|
+
- **`!platform`** - Platform-Info
|
|
3352
|
+
- **`!compatibility`** - Kompatibilität prüfen
|
|
3353
|
+
- **`!optimize`** - System optimieren
|
|
3354
|
+
- **`!environment`** - Umgebung anzeigen
|
|
3355
|
+
|
|
3356
|
+
#### **UI Commands**
|
|
3357
|
+
- **`!buttons <title>`** - Button-Demo
|
|
3358
|
+
- **`!list <title>`** - List-Demo
|
|
3359
|
+
- **`!carousel`** - Carousel-Demo
|
|
3360
|
+
- **`!progress <current> <total>`** - Progress-Demo
|
|
3361
|
+
|
|
3362
|
+
#### **Media Commands (v1.7.3)**
|
|
2908
3363
|
- **`!voice`** - Voice Message senden
|
|
2909
3364
|
- **`!videomsg`** - Video Message senden
|
|
2910
3365
|
- **`!gif`** - GIF senden
|
|
@@ -2967,4 +3422,4 @@ bot.when('check @user online').checkOnline().done(); // Online-Status von Mentio
|
|
|
2967
3422
|
|
|
2968
3423
|
*Made with ❤️ for WhatsApp Automation*
|
|
2969
3424
|
|
|
2970
|
-
**Die mächtigste WhatsApp Bot Library - von 3-Zeilen-Bots bis zu KI-gestützten Enterprise Multi-Device Systemen mit vollständigem Plugin-Ecosystem (8 Plugins, 80+ Commands),
|
|
3425
|
+
**Die mächtigste WhatsApp Bot Library - von 3-Zeilen-Bots bis zu KI-gestützten Enterprise Multi-Device Systemen mit vollständigem Plugin-Ecosystem (8 Plugins, 80+ Commands), 800+ Advanced Features in 16 Kategorien, Security Manager, Gaming Manager, Database Manager, A/B Testing, Reporting System, Cross-Platform Integration, UI Components, Hidetag, Sticker Creation, Visual Recording, Rich Content (Buttons, Lists, Carousels), Business Features, Privacy & Security, Analytics & Monitoring und Profile Picture API!**
|
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# 🚀 WAEngine v1.7.
|
|
1
|
+
# 🚀 WAEngine v1.7.6 - Analytics Bugfix Edition
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/waengine)
|
|
4
4
|
[](https://www.npmjs.com/package/waengine)
|
|
5
5
|
[](https://github.com/neotreydel-lab/waengine/blob/main/LICENSE)
|
|
6
6
|
[](https://nodejs.org/)
|
|
7
7
|
|
|
8
|
-
**The most powerful WhatsApp Bot Library with 400+ Advanced Features**
|
|
8
|
+
**The most powerful WhatsApp Bot Library with 400+ Advanced Features & Ultra-Robust Stability**
|
|
9
9
|
|
|
10
10
|
🌍 **Universal Cross-Platform** - Works on ALL devices and platforms
|
|
11
11
|
🎯 **Sequential Multi-Device** - Professional QR scanning, one at a time
|
|
@@ -1383,3 +1383,58 @@ Thanks to all contributors who make this project possible! 🎉
|
|
|
1383
1383
|
**Made with ❤️ for WhatsApp Automation**
|
|
1384
1384
|
|
|
1385
1385
|
*The most powerful WhatsApp bot library - from 3-line bots to enterprise multi-device systems!*
|
|
1386
|
+
|
|
1387
|
+
|
|
1388
|
+
---
|
|
1389
|
+
|
|
1390
|
+
## 🔍 Error Codes System (NEW in v1.7.5!)
|
|
1391
|
+
|
|
1392
|
+
WAEngine now includes a comprehensive error code system with **80+ predefined error codes** for better debugging and error handling.
|
|
1393
|
+
|
|
1394
|
+
### **Features**
|
|
1395
|
+
- ✅ **Fixed Error Codes** - No more dynamic timestamps (WAE-1001, WAE-2002, etc.)
|
|
1396
|
+
- ✅ **15 Categories** - Connection, Auth, File, Message, Group, Media, etc.
|
|
1397
|
+
- ✅ **German Descriptions** - Clear error descriptions in German
|
|
1398
|
+
- ✅ **Quick Fixes** - Automatic solution suggestions for common errors
|
|
1399
|
+
- ✅ **Error Statistics** - Track error frequency and patterns
|
|
1400
|
+
- ✅ **Full Documentation** - See [ERROR-CODES.md](./ERROR-CODES.md)
|
|
1401
|
+
|
|
1402
|
+
### **Usage Example**
|
|
1403
|
+
```javascript
|
|
1404
|
+
try {
|
|
1405
|
+
await client.connect();
|
|
1406
|
+
} catch (error) {
|
|
1407
|
+
console.log('Error Code:', error.code); // WAE-1001
|
|
1408
|
+
console.log('Description:', getErrorDescription(error.code));
|
|
1409
|
+
console.log('Category:', getErrorCategory(error.code));
|
|
1410
|
+
}
|
|
1411
|
+
```
|
|
1412
|
+
|
|
1413
|
+
### **Error Categories**
|
|
1414
|
+
- **WAE-1xxx** - Connection Errors
|
|
1415
|
+
- **WAE-2xxx** - Authentication Errors
|
|
1416
|
+
- **WAE-3xxx** - File System Errors
|
|
1417
|
+
- **WAE-4xxx** - Message Errors
|
|
1418
|
+
- **WAE-5xxx** - Group Errors
|
|
1419
|
+
- **WAE-6xxx** - Media Errors
|
|
1420
|
+
- **WAE-7xxx** - Command Errors
|
|
1421
|
+
- **WAE-8xxx** - Plugin Errors
|
|
1422
|
+
- **WAE-9xxx** - System Errors
|
|
1423
|
+
- **WAE-10xxx** - QR Code Errors
|
|
1424
|
+
- **WAE-11xxx** - Mobile Support Errors
|
|
1425
|
+
- **WAE-12xxx** - Recovery Errors
|
|
1426
|
+
- **WAE-13xxx** - Database Errors
|
|
1427
|
+
- **WAE-14xxx** - Network Errors
|
|
1428
|
+
- **WAE-15xxx** - Security Errors
|
|
1429
|
+
|
|
1430
|
+
### **Error Statistics**
|
|
1431
|
+
```javascript
|
|
1432
|
+
const stats = client.errorHandler.getErrorStats();
|
|
1433
|
+
console.log('Total Errors:', stats.totalErrors);
|
|
1434
|
+
console.log('Most Common:', stats.mostCommonError);
|
|
1435
|
+
console.log('By Code:', stats.errorsByCode);
|
|
1436
|
+
```
|
|
1437
|
+
|
|
1438
|
+
**📖 Full Documentation:** [ERROR-CODES.md](./ERROR-CODES.md)
|
|
1439
|
+
|
|
1440
|
+
---
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "waengine",
|
|
3
|
-
"version": "1.7.
|
|
4
|
-
"description": "🚀 WAEngine - The most powerful WhatsApp Bot Library with 400+ Advanced Features,
|
|
3
|
+
"version": "1.7.6",
|
|
4
|
+
"description": "🚀 WAEngine - The most powerful WhatsApp Bot Library with 400+ Advanced Features, Ultra-Robust Recovery Systems & Production-Ready Stability",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"scripts": {
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"pino": "^8.0.0",
|
|
63
63
|
"qrcode": "^1.5.4",
|
|
64
64
|
"qrcode-terminal": "^0.12.0",
|
|
65
|
-
"sharp": "^0.
|
|
65
|
+
"sharp": "^0.34.5",
|
|
66
66
|
"waengine": "^1.7.3"
|
|
67
67
|
},
|
|
68
68
|
"optionalDependencies": {
|
package/src/advanced-features.js
CHANGED
|
@@ -285,7 +285,14 @@ export class AdvancedMessage {
|
|
|
285
285
|
export class AdvancedGroup {
|
|
286
286
|
constructor(client) {
|
|
287
287
|
this.client = client;
|
|
288
|
-
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// Getter für Socket mit Null-Check
|
|
291
|
+
get socket() {
|
|
292
|
+
if (!this.client.socket) {
|
|
293
|
+
throw new Error('❌ Socket nicht verfügbar. Bot muss erst verbunden sein!');
|
|
294
|
+
}
|
|
295
|
+
return this.client.socket;
|
|
289
296
|
}
|
|
290
297
|
|
|
291
298
|
async setGroupSettings(groupId, settings) {
|
|
@@ -377,7 +384,14 @@ export class AdvancedGroup {
|
|
|
377
384
|
export class AdvancedPrivacy {
|
|
378
385
|
constructor(client) {
|
|
379
386
|
this.client = client;
|
|
380
|
-
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
// Getter für Socket mit Null-Check
|
|
390
|
+
get socket() {
|
|
391
|
+
if (!this.client.socket) {
|
|
392
|
+
throw new Error('❌ Socket nicht verfügbar. Bot muss erst verbunden sein!');
|
|
393
|
+
}
|
|
394
|
+
return this.client.socket;
|
|
381
395
|
}
|
|
382
396
|
|
|
383
397
|
async blockUser(jid) {
|
|
@@ -449,7 +463,14 @@ export class AdvancedPrivacy {
|
|
|
449
463
|
export class AdvancedAnalytics {
|
|
450
464
|
constructor(client) {
|
|
451
465
|
this.client = client;
|
|
452
|
-
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
// Getter für Socket mit Null-Check
|
|
469
|
+
get socket() {
|
|
470
|
+
if (!this.client.socket) {
|
|
471
|
+
throw new Error('❌ Socket nicht verfügbar. Bot muss erst verbunden sein!');
|
|
472
|
+
}
|
|
473
|
+
return this.client.socket;
|
|
453
474
|
}
|
|
454
475
|
|
|
455
476
|
async getDeliveryStatus(messageKey) {
|
|
@@ -531,7 +552,14 @@ export class AdvancedAnalytics {
|
|
|
531
552
|
export class AdvancedStatus {
|
|
532
553
|
constructor(client) {
|
|
533
554
|
this.client = client;
|
|
534
|
-
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
// Getter für Socket mit Null-Check
|
|
558
|
+
get socket() {
|
|
559
|
+
if (!this.client.socket) {
|
|
560
|
+
throw new Error('❌ Socket nicht verfügbar. Bot muss erst verbunden sein!');
|
|
561
|
+
}
|
|
562
|
+
return this.client.socket;
|
|
535
563
|
}
|
|
536
564
|
|
|
537
565
|
async sendStatusUpdate(type, content, options = {}) {
|
|
@@ -595,7 +623,14 @@ export class AdvancedStatus {
|
|
|
595
623
|
export class AdvancedBusiness {
|
|
596
624
|
constructor(client) {
|
|
597
625
|
this.client = client;
|
|
598
|
-
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
// Getter für Socket mit Null-Check
|
|
629
|
+
get socket() {
|
|
630
|
+
if (!this.client.socket) {
|
|
631
|
+
throw new Error('❌ Socket nicht verfügbar. Bot muss erst verbunden sein!');
|
|
632
|
+
}
|
|
633
|
+
return this.client.socket;
|
|
599
634
|
}
|
|
600
635
|
|
|
601
636
|
async setBusinessProfile(profile) {
|
|
@@ -677,7 +712,14 @@ export class AdvancedBusiness {
|
|
|
677
712
|
export class AdvancedSystem {
|
|
678
713
|
constructor(client) {
|
|
679
714
|
this.client = client;
|
|
680
|
-
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
// Getter für Socket mit Null-Check
|
|
718
|
+
get socket() {
|
|
719
|
+
if (!this.client.socket) {
|
|
720
|
+
throw new Error('❌ Socket nicht verfügbar. Bot muss erst verbunden sein!');
|
|
721
|
+
}
|
|
722
|
+
return this.client.socket;
|
|
681
723
|
}
|
|
682
724
|
|
|
683
725
|
async createBackup() {
|