Commit Graph

3 Commits

Author SHA1 Message Date
EJClaw
5327f8ec7c feat(dave): join with mic on (self_mute=false) so bot can speak and hear
Previously the selfbot joined self_mute=true (listen-only). Un-mute so both
directions are enabled at the Discord voice-state level for live testing.
2026-08-15 21:01:37 +09:00
EJClaw
cfad568029 fix(dave): hard RUN_MS time-box ceiling armed at startup, not on ready gate
The RUN_MS auto-leave was only armed inside announceReady(), which requires a
fully successful join (DAVE/MLS op29/op30 -> mlsReady). When the E2EE handshake
stalls after op26 key_package, announceReady never fires, so the "time-boxed"
selfbot ran unbounded in a live channel. Arm RUN_MS at process startup instead,
independent of handshake state, and make leaveAndExit idempotent so the ceiling,
ready timer, and signal handlers can't double-fire.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-15 19:28:14 +09:00
EJClaw
9f3a57d8a0 feat(discord): M1 persistent selfbot voice joiner + record confirmed build decisions
join.mjs joins the target voice channel over the proven DAVE handshake and stays
connected, mapping SPEAKING->ssrc and tallying incoming RTP (foundation for M2
audio decrypt). README records GPU=on, shared OAuth brain, natural-but-<=1s TTS,
Discord-voice STT input, and the M1..M6 milestones.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-11 20:51:24 +09:00