From 8d0a52ab34563beab33be2dfb207da0e03a8fe32 Mon Sep 17 00:00:00 2001 From: Samlon Date: Wed, 13 Aug 2025 14:59:22 +0200 Subject: prevent discord from complaining and bot does not leave vc after playing --- cogs/vclogs.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'cogs/vclogs.py') diff --git a/cogs/vclogs.py b/cogs/vclogs.py index 50c3fa7..9e74877 100644 --- a/cogs/vclogs.py +++ b/cogs/vclogs.py @@ -2,7 +2,6 @@ import datetime import json import logging import os - import discord from discord.ext import commands from gtts import gTTS @@ -10,9 +9,21 @@ from gtts import gTTS logger = logging.getLogger(__name__) + class VcLogs(commands.Cog): def __init__(self, bot): self.bot = bot + self.settings_check() + + @staticmethod + def settings_check(): + if not os.path.exists('settings.json'): + with open('settings.json', 'w') as f: + json.dump({'volume': '5'}, f, indent=4) + logger.info("settings.json created") + with open('settings.json', 'r') as f: + settings = json.load(f) + volume = settings.get('volume', '5') @staticmethod async def handle_state_change(member, channel, state_type, is_enabled, current_time, log_channel): @@ -50,6 +61,13 @@ class VcLogs(commands.Cog): tts = gTTS(text=text, lang='pl') tts.save('temp_tts.mp3') + if os.path.exists('settings.json'): + with open('settings.json') as f: + data = json.load(f) + volume = data['volume'] + else: + logger.error("settings.json not found") + # Connect to the voice channel if not already connected voice_client = discord.utils.get(self.bot.voice_clients, guild=channel.guild) if not voice_client or not voice_client.is_connected(): @@ -59,15 +77,6 @@ class VcLogs(commands.Cog): # Play the TTS audio if not voice_client.is_playing(): - if os.path.exists('settings.json'): - with open('settings.json') as f: - data = json.load(f) - volume = data['volume'] - else: - with open('settings.json', 'w') as f: - json.dump({'volume': '5'}, f, indent=4) - logger.info("settings.json created") - audio_source = discord.FFmpegPCMAudio('temp_tts.mp3', options=f'-filter:a "volume={volume}"') voice_client.play(audio_source) while voice_client.is_playing(): -- cgit v1.2.3