6aeebe78267f5126b0275d33ecd2018ab2b08289
Video capture (camera + screen share) recorded ZERO frames because the selfbot ClientVoiceManager.connection was created LAZILY — only when a user started streaming. At that point the bot is already connected via @discordjs/voice, so the selfbot re-join never gets a fresh VOICE_SERVER_UPDATE and times out with VOICE_CONNECTION_TIMEOUT after 15s. joinStreamConnection (STREAM_WATCH) + receiver.createVideoStream both need that selfbot VoiceConnection CONNECTED. Fix: establish the selfbot VoiceConnection eagerly in recorder.startRecording, BEFORE joinVoiceChannel, so it rides the bot's fresh join (Discord emits VOICE_SERVER_UPDATE → selfbot authenticates). videoRecorder reuses the cached connection per guild, tears it down on voice stop/destroy. Best-effort — never blocks audio recording. Verified: typecheck + build + biome (src/) green; 9/9 videoRecorder tests.
Description
Bete Discord moderation watcher
29 MiB
Languages
TypeScript
95.8%
CSS
1.4%
Shell
1%
Nix
0.9%
PLpgSQL
0.5%
Other
0.4%