feat(gateway): add manual video-watch command for selfbot screen-share capture
A selfbot (user token) cannot auto-detect other members' camera/share (no VOICE_STATE_UPDATE for others, 403 on member fetch). The only selfbot-viable path to capture another member's SCREEN SHARE is an operator-initiated STREAM_WATCH (gateway op 20, not gated on bot-vs-user). Add video:watch / video:unwatch Redis commands routed via the existing command handler to startStreamWatch/stopStreamWatch, which then does the DAVE handshake + per-burst MP4 segmentation + DB insert + Tele upload (already implemented in streamWatchReceiver). - new VideoHandler (command-handler/video.handler.ts) - register video:watch / video:unwatch in handler-registry + CommandHandler - command constants COMMAND_VIDEO_WATCH / COMMAND_VIDEO_UNWATCH - resolve active voice channel from voice controller + client cache - 8 unit tests (videoHandler.test.ts) - biome fixes for pre-existing test import ordering All green: typecheck, build, lint (174 files), 200 tests.
This commit is contained in:
@@ -57,6 +57,8 @@ export const COMMAND_VOICE_DISCONNECT_GUILD = "voice:disconnect:guild";
|
||||
export const COMMAND_VOICE_CHANNELS = "voice:channels";
|
||||
export const COMMAND_VOICE_TRANSMIT_START = "voice:transmit:start";
|
||||
export const COMMAND_VOICE_TRANSMIT_STOP = "voice:transmit:stop";
|
||||
export const COMMAND_VIDEO_WATCH = "video:watch";
|
||||
export const COMMAND_VIDEO_UNWATCH = "video:unwatch";
|
||||
export const COMMAND_GUILDS_LIST = "guilds:list";
|
||||
export const COMMAND_GUILDS_TEXT_CHANNELS = "guilds:text-channels";
|
||||
export const COMMAND_MEDIA_QUEUE = "media:queue";
|
||||
|
||||
Reference in New Issue
Block a user