diff --git a/docs/chatboti-si-punti.md b/docs/chatboti-si-punti.md index e88dfda..9fc6ecd 100644 --- a/docs/chatboti-si-punti.md +++ b/docs/chatboti-si-punti.md @@ -147,22 +147,48 @@ poate ajunge la ambele. Dacă primești două răspunsuri, două punți sunt act ### Chatul „Eu" (self-chat) le vede amândouă -Ambele punți sunt *dispozitive conectate* ale aceluiași cont, deci **amândouă primesc și +Ambele punți sunt *dispozitive conectate* ale aceluiași cont, deci **amândouă primesc mesajele din chatul cu tine însuți**. Nu există o setare care să dea self-chat-ul doar -uneia — separarea trebuie făcută oprind una din punți. +uneia. Că nu răspund amândouă ține de un singur rând din puntea lui Echo: -Starea la 2026-08-31, verificată: puntea lui Echo era asociată ca dispozitiv `:11` al -numărului (`auth/creds.json` → `me.id = 40723197939:11`) și a răspuns în „Eu" până -dimineața, când sesiunea i-a căzut (`registered: false`, `connected: false`). Serviciul -rulează în continuare și `echo-core` îi cere mesajele la câteva minute — dacă cineva îl -reasociază, Echo revine în „Eu" lângă Maria, fără niciun avertisment. +```js +if (msg.key.fromMe && !isGroup) continue; // bridge/whatsapp/index.js +``` -Pentru a-l scoate definitiv din WhatsApp (Telegram și Discord rămân neatinse): +În self-chat **tot ce scrii e `fromMe`**, deci Echo aruncă mesajele și doar Maria +răspunde (ea are `TEST_MODE_SELF_CHAT_ONLY` și compară explicit cu `ownJid`/`ownLid`). +Echo folosește „Eu" în celălalt sens: ca **destinație de notificări**, prin `/send` — de +aici mesajele lui care apar acolo fără să fi întrebat nimeni nimic. + +Concluzia practică: cele două punți coexistă, dar **echilibrul e accidental**. Dacă +cineva scoate acel `continue` din Echo, sau pornește un al treilea bot fără filtru, +ajungi cu două răspunsuri la fiecare mesaj din „Eu". + +Pentru a scoate complet Echo din WhatsApp (Telegram și Discord rămân neatinse): ```bash ssh root@10.0.20.200 "pct exec 110 -- sudo -u moltbot XDG_RUNTIME_DIR=/run/user/1000 \ systemctl --user disable --now echo-whatsapp-bridge" ``` +### Re-legarea unei punți fără cod QR + +Fiecare punte Baileys **este** un dispozitiv conectat și consumă unul din cele 4 sloturi +ale contului; nu se poate ocoli (două procese cu același `auth/` folosesc aceleași chei +și se dau afară reciproc — simptomul e `No matching sessions found for message` în log). +Ambele punți acceptă însă asociere prin cod, ceea ce scutește de dus un ecran în fața +telefonului: + +```bash +# Maria (LXC 171) — sau din dashboard, cardul „Conectare WhatsApp" +curl -s -X POST -H 'Content-Type: application/json' \ + -d '{"phone":"40723197939"}' http://127.0.0.1:8099/pair +# Echo (LXC 110), după ce i-ai golit auth/ și ai repornit serviciul +ssh root@10.0.20.200 "pct exec 110 -- curl -s -X POST -H 'Content-Type: application/json' \ + -d '{\"phone\":\"40723197939\"}' http://127.0.0.1:8098/pair" +``` +Codul e valabil ~3 minute. Pe telefon: Dispozitive conectate → Conectează un dispozitiv → +**Conectează cu număr de telefon**. + **Atenție la scope-ul systemd pe LXC 110:** serviciile lui Echo sunt unități de **utilizator** (`moltbot`, uid 1000). Un `systemctl is-active echo-core` rulat ca root răspunde `inactive` deși botul rulează — exact genul de răspuns care trimite diagnosticul