diff options
| author | salmonik <raisersoft@proton.me> | 2026-04-10 15:08:10 +0200 |
|---|---|---|
| committer | salmonik <raisersoft@proton.me> | 2026-04-10 15:08:10 +0200 |
| commit | 0c54b30e2b680cb618c22aaf73fad868dfa2fab8 (patch) | |
| tree | 607f2ef05dcc44b8a301bd3ba221d2a5352081b8 /cogs/vclogs.py | |
| parent | fix voice for the 9th time today, still on the way (diff) | |
| parent | "fix" voice management (diff) | |
| download | senator-sperma-0c54b30e2b680cb618c22aaf73fad868dfa2fab8.tar.gz senator-sperma-0c54b30e2b680cb618c22aaf73fad868dfa2fab8.zip | |
Merge branch 'main' of https://codeberg.org/salmonik/senator-sperma
Diffstat (limited to '')
| -rw-r--r-- | cogs/vclogs.py | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/cogs/vclogs.py b/cogs/vclogs.py index 0d80ae7..477aa1c 100644 --- a/cogs/vclogs.py +++ b/cogs/vclogs.py | |||
| @@ -78,15 +78,31 @@ class VcLogs(commands.Cog): | |||
| 78 | logger.info("saving file") | 78 | logger.info("saving file") |
| 79 | tts.save(tts_file) | 79 | tts.save(tts_file) |
| 80 | 80 | ||
| 81 | voice_client = await voice_mgr.get_voice_client(channel.guild) | 81 | # Get voice status using our new method |
| 82 | volume = get_volume() | 82 | voice_status = await voice_mgr.get_voice_status(channel.guild) |
| 83 | 83 | voice_client = voice_status[0] if voice_status else None | |
| 84 | if voice_client is None: | 84 | is_connected = voice_status[1] if voice_status else False |
| 85 | is_playing = voice_status[2] if voice_status else False | ||
| 86 | |||
| 87 | # Ensure we have a connected voice client | ||
| 88 | if not is_connected: | ||
| 85 | voice_client = await voice_mgr.join_channel(channel) | 89 | voice_client = await voice_mgr.join_channel(channel) |
| 90 | # Update status after joining | ||
| 91 | voice_status = await voice_mgr.get_voice_status(channel.guild) | ||
| 92 | voice_client = voice_status[0] if voice_status else None | ||
| 93 | is_connected = voice_status[1] if voice_status else False | ||
| 94 | is_playing = voice_status[2] if voice_status else False | ||
| 95 | |||
| 96 | if not is_connected or voice_client is None: | ||
| 97 | logger.error("Failed to join voice channel") | ||
| 98 | if os.path.exists(tts_file): | ||
| 99 | os.remove(tts_file) | ||
| 100 | return | ||
| 86 | 101 | ||
| 102 | volume = get_volume() | ||
| 87 | logger.info(f"connected: {voice_client}") | 103 | logger.info(f"connected: {voice_client}") |
| 88 | 104 | ||
| 89 | if voice_client and not voice_client.is_playing(): | 105 | if voice_client and not is_playing: |
| 90 | logger.info("preparing to play audio") | 106 | logger.info("preparing to play audio") |
| 91 | audio_source = discord.FFmpegPCMAudio(tts_file, options=f'-filter:a "volume={volume}"') | 107 | audio_source = discord.FFmpegPCMAudio(tts_file, options=f'-filter:a "volume={volume}"') |
| 92 | voice_client.play(audio_source) | 108 | voice_client.play(audio_source) |
