most commands moved into cogs

This commit is contained in:
2022-09-03 19:49:38 +03:00
parent 0dd3fc3c40
commit 2873df67c7
7 changed files with 45 additions and 38 deletions

4
bot.py
View File

@@ -5,7 +5,7 @@ import os
import disnake import disnake
from disnake import OptionChoice, OptionType, Option from disnake import OptionChoice, OptionType, Option
from disnake.ext import commands from disnake.ext import commands
from __init__ import version_info from __init__ import version_info as ver
from lib import work_with_cogs from lib import work_with_cogs
from lib import preload_checks, determine_prefix from lib import preload_checks, determine_prefix
from lib import logger from lib import logger
@@ -34,7 +34,7 @@ asyncio.run(work_with_cogs('load', bot))
async def on_ready(): async def on_ready():
logger.info(f'Bot started') logger.info(f'Bot started')
logger.info('We have logged in as {0.user}'.format(bot)) logger.info('We have logged in as {0.user}'.format(bot))
logger.info('Version of bot is - v{0.major}.{0.minor}.{0.micro}-{0.releaselevel}'.format(version_info)) logger.info(f'Version of bot is - v{ver.major}.{ver.minor}.{ver.micro}-{ver.releaselevel}')
@bot.slash_command( @bot.slash_command(

View File

@@ -41,8 +41,8 @@ class Audio(commands.Cog, name='Audio'):
def_audio_ls = await list_files() def_audio_ls = await list_files()
if def_audio_db or audio_db is not None: if def_audio_db or audio_db is not None:
if def_audio_db is None: def_audio_db = [] if not def_audio_db: def_audio_db = []
if audio_db is None: audio_db = [] if not audio_db: audio_db = []
logger.info(f'Play audio from DB') logger.info(f'Play audio from DB')
full_audio = def_audio_db + audio_db full_audio = def_audio_db + audio_db
await play_audio(f'audio/{random.choice(full_audio)}', self.bot, after.channel) await play_audio(f'audio/{random.choice(full_audio)}', self.bot, after.channel)

View File

@@ -4,7 +4,7 @@ import disnake
import psutil import psutil
from disnake.ext import commands from disnake.ext import commands
from __init__ import version_info as _ve from __init__ import version_info as ver
from lib import determine_prefix, determine_time from lib import determine_prefix, determine_time
from lib import logger from lib import logger
@@ -26,6 +26,7 @@ class Bot_info(commands.Cog, name='Bot Info'):
title=f"General information", title=f"General information",
description=f"General information on about bot", description=f"General information on about bot",
) )
emb.set_thumbnail(self.bot.user.avatar.url)
emb.add_field(name="System info:", value=f"Memory Usage: {round(_process.memory_info().rss / 2 ** 20, 2)} Mb\n" emb.add_field(name="System info:", value=f"Memory Usage: {round(_process.memory_info().rss / 2 ** 20, 2)} Mb\n"
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'
@@ -33,7 +34,7 @@ class Bot_info(commands.Cog, name='Bot Info'):
f"Max audio duration: {determine_time(inter)} sec\n" f"Max audio duration: {determine_time(inter)} sec\n"
) )
emb.add_field(name="Bot info:", value=f"Bot owner: <@{self.bot.owner_id}>\n" emb.add_field(name="Bot info:", value=f"Bot owner: <@{self.bot.owner_id}>\n"
f"Bot version: {_ve.major}.{_ve.minor}.{_ve.micro}-{_ve.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="Information requested by: {}".format(inter.author.display_name))
await inter.response.send_message(embed=emb, ephemeral=True) await inter.response.send_message(embed=emb, ephemeral=True)

View File

@@ -49,9 +49,9 @@ async def read_json(guild: int, _param: str):
guild_conf = _json[f"{guild}"] guild_conf = _json[f"{guild}"]
try: try:
parameter = guild_conf[f"{_param}"] parameter = guild_conf[f"{_param}"]
except: except KeyError:
pass pass
except: except KeyError:
pass pass
return parameter return parameter
@@ -83,12 +83,12 @@ def determine_prefix(bot, msg):
with open(os.getenv('CONF_FILE'), 'r', encoding='utf-8') as f: # Open the JSON with open(os.getenv('CONF_FILE'), 'r', encoding='utf-8') as f: # Open the JSON
try: try:
_json = json.load(f) # Load the custom prefixes _json = json.load(f) # Load the custom prefixes
except: except json.JSONDecodeError:
_json = {} _json = {}
try: try:
parameter = _json[f"{msg.guild.id}"]["prefix"] # Read prefix from json if is setted up parameter = _json[f"{msg.guild.id}"]["prefix"] # Read prefix from json if is setted up
except: except KeyError:
pass pass
return parameter return parameter
@@ -103,11 +103,11 @@ def determine_time(msg):
with open(os.getenv('CONF_FILE'), 'r', encoding='utf-8') as f: # Open the JSON with open(os.getenv('CONF_FILE'), 'r', encoding='utf-8') as f: # Open the JSON
try: try:
_json = json.load(f) # Load the custom prefixes _json = json.load(f) # Load the custom prefixes
except: except json.JSONDecodeError:
_json = {} _json = {}
try: try:
parameter = _json[f"{msg.guild.id}"]["seconds"] # Read prefix from json if is setted up parameter = _json[f"{msg.guild.id}"]["seconds"] # Read prefix from json if is setted up
except: except KeyError:
pass pass
return parameter return parameter

View File

@@ -7,27 +7,23 @@ class ListGenerator:
def __init__(self, path: str = None): def __init__(self, path: str = None):
self.path = path self.path = path
self.list: list = self._lister(self.path) self.list: list = self._lister(self.path)
self._size = len(self.list) try:
self._size = len(self.list)
except TypeError:
pass
self._current_index = 0 self._current_index = 0
def __str__(self) -> str: def __str__(self) -> str:
if self.path: return 'Audio iter generator'
return self.name
else:
return 'Audio iter generator'
@property
def name(self) -> str:
return self.list[self._current_index]
@classmethod @classmethod
def _lister(cls, path) -> list: def _lister(cls, path) -> list:
_dict: list = [] _list: list = []
try: try:
for _files in os.walk(path): for f in os.walk(path):
_dict.extend(_files) _list.extend(f)
break break
return _dict[2] return sorted(_list[2])
except TypeError: except TypeError:
pass pass
@@ -40,16 +36,17 @@ class ListGenerator:
class _FileAttrs: class _FileAttrs:
def __init__(self, name, path, type): def __init__(self, name, path, type, exc):
self.name = name self.name = name
self.path = path self.path = path
self.type = type self.mimetype = type
self.exc = exc
def __str__(self): def __str__(self):
return self.name return self.name
def __repr__(self): def __repr__(self):
return f'<File attrs name={self.name} path={self.path} type=<{self.type}> >' return f'<File attrs name={self.name} path={self.path} exc={self.exc} type=<{self.mimetype}> >'
class _ListGenerationIter: class _ListGenerationIter:
@@ -70,12 +67,21 @@ class _ListGenerationIter:
guess = mimetypes.guess_type(f'{self._path}/{self._list[self._current_index]}')[0] guess = mimetypes.guess_type(f'{self._path}/{self._list[self._current_index]}')[0]
return guess return guess
@property
def _exc(self) -> str:
try:
_ret = self._list[self._current_index].split('.')[-1]
except AttributeError:
_ret = None
return _ret
def __next__(self): def __next__(self):
if self._current_index < self._size: if self._current_index < self._size:
_name = self._list[self._current_index] _name = self._list[self._current_index]
_path = self._path _path = self._path
_type = self.type _type = self._type
_exc = self._exc
self._current_index += 1 self._current_index += 1
memb = _FileAttrs(_name, _path, _type) memb = _FileAttrs(_name, _path, _type, _exc)
return memb return memb
raise StopIteration raise StopIteration

View File

@@ -23,14 +23,14 @@ class _CustomFormatter(logging.Formatter):
record = _CustomFormatter.old_factory(*args, **kwargs) record = _CustomFormatter.old_factory(*args, **kwargs)
_module = record.module _module = record.module
_levelname = record.levelname _levelname = record.levelname
if len(record.module) % 2 == 0 and len(record.module) < 12: if len(_module) % 2 == 0 and len(_module) < 12:
_module = ' ' * ((12 - len(record.module)) // 2) + record.module + ' ' * ((12 - len(record.module)) // 2) _module = ' ' * ((12 - len(_module)) // 2) + _module + ' ' * ((12 - len(_module)) // 2)
elif len(record.module) % 2 == 1 and len(record.module) <12: elif len(_module) % 2 == 1 and len(_module) < 12:
_module = ' ' * ((12 - len(record.module)) // 2) + record.module + ' ' * ((12 - len(record.module)) // 2 + 1) _module = ' ' * ((12 - len(_module)) // 2) + record.module + ' ' * ((12 - len(_module)) // 2 + 1)
if len(record.levelname) % 2 == 0 and len(record.levelname) < 8: if len(_levelname) % 2 == 0 and len(_levelname) < 8:
_levelname = ' ' * ((8 - len(record.levelname)) // 2) + record.levelname + ' ' * ((8 - len(record.levelname)) // 2) _levelname = ' ' * ((8 - len(_levelname)) // 2) + _levelname + ' ' * ((8 - len(_levelname)) // 2)
elif len(record.levelname) % 2 == 1 and len(record.module) < 8: elif len(record.levelname) % 2 == 1 and len(record.module) < 8:
_levelname = ' ' * ((8 - len(record.levelname)) // 2) + record.levelname + ' ' * ((8 - len(record.levelname)) // 2 + 1) _levelname = ' ' * ((8 - len(_levelname)) // 2) + _levelname + ' ' * ((8 - len(_levelname)) // 2 + 1)
record.module = _module record.module = _module
record.levelname = _levelname record.levelname = _levelname
return record return record