Spaces:
Paused
Paused
| # Session Context | |
| ## Current State | |
| - Telegram connected via MTProto (DC 1) — working | |
| - WhatsApp Connection — using whatsapp-web.js (Puppeteer + Chrome) | |
| - Bot forwards WhatsApp messages to Telegram admin (when connected) | |
| - Bot responds to `/start`, `/toggle`, button presses from Telegram | |
| ## Key Fixes Applied | |
| 1. **`messages.getDialogs` → `updates.getDifference`**: Bots can't use `getDialogs` (BOT_METHOD_INVALID). Replaced with `getState` + `getDifference` polling every 15s. | |
| 2. **`defaultDcId` string bug**: Storage saves `defaultDcId` as string `"1"` but library expects number `1`. All `mtproto.call()` calls now pass `{ dcId: 1 }` explicitly. | |
| 3. **Keyboard format**: `replyKeyboardMarkup` requires `{ _: 'keyboardButtonRow', buttons: [...] }` format. Using `one_time` instead of `single_use` causes errors. | |
| 4. **Migrated from `@whiskeysockets/baileys` to `whatsapp-web.js`**: Uses Puppeteer + Chrome instead of raw WebSocket. Requires Chromium installed in Docker. | |
| 5. **Markdown parsing**: Custom `parseMarkdown()` converts `*bold*`, `_italic_`, `` `code` `` to Telegram message entities. | |
| 6. **QR auto-send**: QR image sent to Telegram via `upload.saveFilePart` + `messages.sendMedia` when generated. | |
| ## Pending Issues | |
| - wwebjs requires Chrome — Chrome must be installed in Docker (added to Dockerfile) | |
| - `/data/` storage for session persistence | |
| ## API Credentials | |
| - API_ID: 1344311 | |
| - API_HASH: 95778042101cb549a4ca6235d7cf87e1 | |
| - BOT_TOKEN: 903567266:AAFS-juBV5QYL_kKNkc7ovqp-i6eVwTOX-U | |
| - Fallback from env vars if set | |
| ## User Preferences | |
| - Arabic language | |
| - No automatic startup messages (removed "✅ البوت جاهز" and "✅ واتساب متصل وجاهز") | |
| - QR code sent to Telegram automatically when generated | |
| - Keyboard buttons preferred over text commands | |
| - No emojis in code | |
| - No comments in code unless asked |