fix: resolve architecture disconnects and codebase weaknesses

- Add TEXT_CHANNEL_ID and TEXT_GUILD_ID to config schema (fix silent channel monitoring)
- Remove dead files: message-capture/broadcaster.ts, voice-recording/index.ts
- Fix WebSocket voice_command payload to forward from frontend
- Implement moderation:action handler in commandHandler
- Fix useMascotChat to use canonical request() wrapper
- Fix useAudioPlayback userId hash collision (use string not parseInt)
- Add catch blocks to useMediaControl.skip/stop
- Add typed broadcast functions (messageAnalyzed, voicePcmData, voiceActiveUser)
- Apply Biome formatting and lint fixes

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
MythEclipse
2026-06-09 16:36:23 +07:00
co-authored by Claude Opus 4.8
parent 30c9e86edc
commit 3a7b005d95
13 changed files with 171 additions and 109 deletions
+12
View File
@@ -17,7 +17,10 @@ export interface BroadcastFunctions {
messageCreated: BroadcastFn;
messageUpdated: BroadcastFn;
messageDeleted: BroadcastFn;
messageAnalyzed: BroadcastFn;
attachmentUploaded: BroadcastFn;
voicePcmData: BroadcastFn;
voiceActiveUser: BroadcastFn;
raw: BroadcastRawFn;
binary: BroadcastBinaryFn;
}
@@ -53,6 +56,15 @@ export const broadcastMessageDeleted: BroadcastFn = (data) =>
export const broadcastAttachmentUploaded: BroadcastFn = (data) =>
(_fns?.attachmentUploaded ?? noop)(data);
export const broadcastMessageAnalyzed: BroadcastFn = (data) =>
(_fns?.messageAnalyzed ?? noop)(data);
export const broadcastVoicePcmData: BroadcastFn = (data) =>
(_fns?.voicePcmData ?? noop)(data);
export const broadcastVoiceActiveUser: BroadcastFn = (data) =>
(_fns?.voiceActiveUser ?? noop)(data);
export const broadcastRaw: BroadcastRawFn = (type, data) =>
(_fns?.raw ?? noopRaw)(type, data);