mirror of
https://github.com/ZHANGTIANYAO1/teamspeak-music-bot.git
synced 2026-10-02 04:52:50 +08:00
Add comprehensive error handling to prevent process crashes
- Global uncaughtException/unhandledRejection handlers in index.ts - FFmpeg stdout/stderr stream error handlers in player.ts - HTTP server and WebSocket server error handlers in server.ts - Safe WebSocket broadcast with try-catch in websocket.ts - Catch async errors from textMessage handler in instance.ts - Reset voiceFramesSent counter on reconnect in client.ts https://claude.ai/code/session_01EjpEsC2GCsvwbu4n3XC8EE
This commit is contained in:
6 files changed
+32
-2
No files matched your search
@@ -128,6 +128,14 @@ export class AudioPlayer extends EventEmitter {
|
||||
this.logger.info({ ffmpeg: ffmpegBin }, "Using ffmpeg binary");
|
||||
this.ffmpeg = spawn(ffmpegBin, args, { stdio: ["ignore", "pipe", "pipe"] });
|
||||
|
||||
// Prevent stream errors from crashing the process
|
||||
this.ffmpeg.stdout!.on("error", (err) => {
|
||||
this.logger.warn({ err }, "FFmpeg stdout error");
|
||||
});
|
||||
this.ffmpeg.stderr!.on("error", (err) => {
|
||||
this.logger.warn({ err }, "FFmpeg stderr error");
|
||||
});
|
||||
|
||||
let gotFirstData = false;
|
||||
this.ffmpeg.stdout!.on("data", (chunk: Buffer) => {
|
||||
if (!gotFirstData) {
|
||||
|
||||
Reference in new issue
Block a user