code cleanup

This commit is contained in:
bacon
2024-03-08 11:50:31 +03:00
parent 3cea8ca2a9
commit 961b260887
6 changed files with 19 additions and 73 deletions

13
bot.py
View File

@@ -3,15 +3,22 @@ import asyncio
import os import os
import disnake import disnake
from dotenv import load_dotenv
from disnake import OptionType, Option from disnake import OptionType, Option
from disnake.ext import commands from disnake.ext import commands
from __init__ import version_info as ver from __init__ import version_info as ver
from lib import work_with_cogs, cog_list from lib import work_with_cogs, cog_list
from lib import preload_checks, determine_prefix from lib import determine_prefix
from lib import logger 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, intents = disnake.Intents(messages=True,
guilds=True, guilds=True,

View File

@@ -32,12 +32,12 @@ class Audio(commands.Cog, name='Audio'):
_role = await read_json(member.guild.id, 'tigger_role') _role = await read_json(member.guild.id, 'tigger_role')
# Read audio from DB # Read audio from DB
audio_db = await read_db(member.guild.id, member.id, 'defaulttracks') audio_db = await read_db(member.guild.id, member.id, 'defaulttracks')
audio: list = []
if audio_db is not None: if audio_db is not None:
audio = audio_db.split(', ') audio = audio_db.split(', ')
else: else:
from lib.Comands import list_files for _a in ListGenerator('audio'):
audio = await list_files() audio.append(_a.name)
if audio_db is not None: if audio_db is not None:
logger.info('Play audio from DB') logger.info('Play audio from DB')

View File

@@ -5,7 +5,7 @@ import psutil
from disnake.ext import commands from disnake.ext import commands
from __init__ import version_info as ver from __init__ import version_info as ver
from lib import determine_prefix, determine_time from lib import determine_prefix
from lib import logger from lib import logger
@@ -19,7 +19,7 @@ class BotInfo(commands.Cog, name='Bot Info'):
@commands.slash_command(name="info_bot", @commands.slash_command(name="info_bot",
description='Shows general info about bot') # this is for making a command 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() _pid = os.getpid()
_process = psutil.Process(_pid) _process = psutil.Process(_pid)
emb = disnake.Embed( emb = disnake.Embed(
@@ -31,11 +31,10 @@ class BotInfo(commands.Cog, name='Bot Info'):
f"CPU Usage: {_process.cpu_percent()}%\n" f"CPU Usage: {_process.cpu_percent()}%\n"
f'Bot ping: {round(self.bot.latency * 1000)}\n' f'Bot ping: {round(self.bot.latency * 1000)}\n'
f'Prefix: `{determine_prefix(self.bot, inter)}\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" emb.add_field(name="Bot info:", value="Bot owner: <@386629192743256065>\n"
f"Bot version: {ver.major}.{ver.minor}.{ver.micro}-{ver.releaselevel}") 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) await inter.response.send_message(embed=emb, ephemeral=True)

View File

@@ -5,31 +5,7 @@ Some prepare for commands
""" """
import json import json
import os import os
import dotenv from disnake.ext import commands
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]
async def read_json(guild: int, _param: str): 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) json.dump(_json, f, indent=4)
def determine_prefix(bot, msg): def determine_prefix(bot: commands.Bot, msg):
""" """
Determite per-server bot prefix Determite per-server bot prefix
:param bot: Disnake Bot object :param bot: Disnake Bot object
@@ -92,23 +68,3 @@ def determine_prefix(bot, msg):
except KeyError: except KeyError:
pass pass
return parameter 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

View File

@@ -1,6 +1,5 @@
import sqlite3 import sqlite3
from lib import logger from lib import logger
@@ -148,18 +147,3 @@ async def read_db(guild: int, user: int, column: str):
return record[_col_dict[column]] return record[_col_dict[column]]
except sqlite3.Error as _error: except sqlite3.Error as _error:
pass 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'

View File

@@ -10,7 +10,7 @@ async def play_audio(audio, bot, vc):
await sleep(1) await sleep(1)
vp = await vc.connect() vp = await vc.connect()
if not vp.is_playing(): 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(): while vp.is_playing():
await sleep(0.5) await sleep(0.5)
await sleep(1) await sleep(1)