aboutsummaryrefslogtreecommitdiffstats
path: root/cogs/ai.py
diff options
context:
space:
mode:
authorsalmonik <raisersoft@proton.me>2026-05-20 15:37:14 +0200
committersalmonik <raisersoft@proton.me>2026-05-20 15:37:14 +0200
commit03b94f61318675f1df83d384670b506a0df6e118 (patch)
tree79c179cd43a2a419670bd85d9f966215a37f8179 /cogs/ai.py
parentFold AudioPlaybackManager into VoiceManager + Future-based play (diff)
downloadsenator-sperma-03b94f61318675f1df83d384670b506a0df6e118.tar.gz
senator-sperma-03b94f61318675f1df83d384670b506a0df6e118.zip
Fix TTS and AI voice playback bugs
- tts.py _handle_voice_output: add missing voice_client.play() call via VoiceManager.play_source() — was creating the audio source and then doing nothing - ai.py: use VoiceManager.play_source() instead of passing an FFmpegPCMAudio object to play() which expects a string path
Diffstat (limited to 'cogs/ai.py')
-rw-r--r--cogs/ai.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/cogs/ai.py b/cogs/ai.py
index c9237c4..ef2ba7c 100644
--- a/cogs/ai.py
+++ b/cogs/ai.py
@@ -9,7 +9,6 @@ from discord.ext import commands
9import logging 9import logging
10import httpx 10import httpx
11from gtts import gTTS 11from gtts import gTTS
12from cogs.music import audio_playback
13import io 12import io
14 13
15logger = logging.getLogger(__name__) 14logger = logging.getLogger(__name__)
@@ -61,12 +60,14 @@ class AI(commands.Cog):
61 else: 60 else:
62 response_text = response_data["choices"][0]["message"]["content"] 61 response_text = response_data["choices"][0]["message"]["content"]
63 if tts: 62 if tts:
64 # Generate TTS
65 tts_obj = gTTS(text=response_text, lang='pl') 63 tts_obj = gTTS(text=response_text, lang='pl')
66 tts_buffer = io.BytesIO() 64 tts_buffer = io.BytesIO()
67 tts_obj.write_to_fp(tts_buffer) 65 tts_obj.write_to_fp(tts_buffer)
68 tts_buffer.seek(0) 66 tts_buffer.seek(0)
69 await audio_playback.AudioPlaybackManager.play(ctx, discord.FFmpegPCMAudio(tts_buffer), delete_after_play=True, interrupt=False) 67 from cogs.voice import get_voice_manager
68 vm = get_voice_manager(self.bot)
69 channel = ctx.author.voice.channel
70 await vm.play_source(channel, discord.FFmpegPCMAudio(tts_buffer), interrupt=False)
70 71
71 else: 72 else:
72 await ctx.send_followup(response_text) 73 await ctx.send_followup(response_text)