From 961b260887f197f783badeaf14232391a0396028 Mon Sep 17 00:00:00 2001 From: bacon Date: Fri, 8 Mar 2024 11:50:31 +0300 Subject: [PATCH] code cleanup --- bot.py | 13 ++++++++++--- cogs/audio.py | 6 +++--- cogs/info.py | 7 +++---- lib/Comands.py | 48 ++---------------------------------------------- lib/DB_Worker.py | 16 ---------------- lib/Player.py | 2 +- 6 files changed, 19 insertions(+), 73 deletions(-) diff --git a/bot.py b/bot.py index ab11c40..f52dfb4 100755 --- a/bot.py +++ b/bot.py @@ -3,15 +3,22 @@ import asyncio import os import disnake +from dotenv import load_dotenv from disnake import OptionType, Option from disnake.ext import commands from __init__ import version_info as ver from lib import work_with_cogs, cog_list -from lib import preload_checks, determine_prefix +from lib import determine_prefix from lib import logger -preload_checks() - +load_dotenv() +if not os.path.isfile('.env') or not os.getenv('CONF_FILE'): + with open('.env', 'a', encoding='utf-8') as f: + f.write("CONF_FILE='config.json'\n") + load_dotenv() +if not os.path.isfile(os.getenv('CONF_FILE')): + with open(os.getenv('CONF_FILE'), 'a', encoding='utf-8') as f: + f.write("") intents = disnake.Intents(messages=True, guilds=True, diff --git a/cogs/audio.py b/cogs/audio.py index 2569e4b..3f1b735 100644 --- a/cogs/audio.py +++ b/cogs/audio.py @@ -32,12 +32,12 @@ class Audio(commands.Cog, name='Audio'): _role = await read_json(member.guild.id, 'tigger_role') # Read audio from DB audio_db = await read_db(member.guild.id, member.id, 'defaulttracks') - + audio: list = [] if audio_db is not None: audio = audio_db.split(', ') else: - from lib.Comands import list_files - audio = await list_files() + for _a in ListGenerator('audio'): + audio.append(_a.name) if audio_db is not None: logger.info('Play audio from DB') diff --git a/cogs/info.py b/cogs/info.py index e0916d0..e4f3de6 100644 --- a/cogs/info.py +++ b/cogs/info.py @@ -5,7 +5,7 @@ import psutil from disnake.ext import commands from __init__ import version_info as ver -from lib import determine_prefix, determine_time +from lib import determine_prefix from lib import logger @@ -19,7 +19,7 @@ class BotInfo(commands.Cog, name='Bot Info'): @commands.slash_command(name="info_bot", description='Shows general info about bot') # this is for making a command - async def info_bot(self, inter): + async def info_bot(self, inter: disnake.ApplicationCommandInteraction): _pid = os.getpid() _process = psutil.Process(_pid) emb = disnake.Embed( @@ -31,11 +31,10 @@ class BotInfo(commands.Cog, name='Bot Info'): f"CPU Usage: {_process.cpu_percent()}%\n" f'Bot ping: {round(self.bot.latency * 1000)}\n' f'Prefix: `{determine_prefix(self.bot, inter)}\n`' - f"Max audio duration: {determine_time(inter)} sec\n" ) emb.add_field(name="Bot info:", value="Bot owner: <@386629192743256065>\n" f"Bot version: {ver.major}.{ver.minor}.{ver.micro}-{ver.releaselevel}") - emb.set_footer(text="Information requested by: {}".format(inter.author.display_name)) + emb.set_footer(text=f"Information requested by: {inter.author.display_name}") await inter.response.send_message(embed=emb, ephemeral=True) diff --git a/lib/Comands.py b/lib/Comands.py index b4a4d68..cd13a4b 100644 --- a/lib/Comands.py +++ b/lib/Comands.py @@ -5,31 +5,7 @@ Some prepare for commands """ import json import os -import dotenv - - -def preload_checks(): - dotenv.load_dotenv() - if not os.path.isfile('.env') or not os.getenv('CONF_FILE'): - with open('.env', 'a', encoding='utf-8') as f: - f.write("CONF_FILE='config.json'\n") - dotenv.load_dotenv() - if not os.path.isfile(os.getenv('CONF_FILE')): - with open(os.getenv('CONF_FILE'), 'a', encoding='utf-8') as f: - f.write("") - - -async def list_files(fold: str = 'audio'): - if fold != 'audio': - fold = f'audio/{fold}' - fl = [] - for filenames in os.walk(fold): - fl.extend(filenames) - break - files = {} - for x in fl[2]: - files[x] = x - return fl[2] +from disnake.ext import commands async def read_json(guild: int, _param: str): @@ -73,7 +49,7 @@ async def write_json(guild: int, param_name: str, param: str or int): json.dump(_json, f, indent=4) -def determine_prefix(bot, msg): +def determine_prefix(bot: commands.Bot, msg): """ Determite per-server bot prefix :param bot: Disnake Bot object @@ -92,23 +68,3 @@ def determine_prefix(bot, msg): except KeyError: pass return parameter - - -def determine_time(msg): - """ - Determite per-server bot prefix - :param msg: Disnake msg object - :return: prefix for server, default is $ - """ - parameter = 15 - with open(os.getenv('CONF_FILE'), encoding='utf-8') as f: # Open the JSON - try: - _json = json.load(f) # Load the custom prefixes - except json.JSONDecodeError: - _json = {} - try: - parameter = _json[f"{msg.guild.id}"]["seconds"] # Read prefix from json if is setted up - - except KeyError: - pass - return parameter diff --git a/lib/DB_Worker.py b/lib/DB_Worker.py index 3805ef0..b4beb34 100644 --- a/lib/DB_Worker.py +++ b/lib/DB_Worker.py @@ -1,6 +1,5 @@ import sqlite3 - from lib import logger @@ -148,18 +147,3 @@ async def read_db(guild: int, user: int, column: str): return record[_col_dict[column]] except sqlite3.Error as _error: pass - - -async def check_exist_audio(ctx, guild: int, user: int, column: str, audio: str): - _list_str = await read_db(guild, user, column) - print(type(_list_str)) - if _list_str is not None: - _list = _list_str.split(',') - if audio in _list: - await ctx.reply("File in list") - - else: - pass - - else: - _list = 'None' diff --git a/lib/Player.py b/lib/Player.py index 02373cb..f1f40b4 100644 --- a/lib/Player.py +++ b/lib/Player.py @@ -10,7 +10,7 @@ async def play_audio(audio, bot, vc): await sleep(1) vp = await vc.connect() if not vp.is_playing(): - vp.play(FFmpegOpusAudio(f'{audio}'), after=lambda e: print('done', e)) + vp.play(FFmpegOpusAudio(f'{audio}')) while vp.is_playing(): await sleep(0.5) await sleep(1)