Extend commands

This commit is contained in:
2022-09-07 21:36:09 +03:00
parent 013b33731b
commit 5d96b76541
12 changed files with 136 additions and 110 deletions

View File

@@ -20,8 +20,10 @@ def cog_list():
return cogs_list
async def work_with_cogs(what_do, bot):
for _filename in cog_list():
async def work_with_cogs(what_do, bot, cog):
if isinstance(cog, str):
cog = cog.split()
for _filename in cog:
if what_do == "load":
try:
bot.load_extension(f'cogs.{_filename}')
@@ -38,5 +40,7 @@ async def work_with_cogs(what_do, bot):
elif what_do == 'unload':
bot.unload_extension(f'cogs.{_filename}')
logger.info(f'Cog {_filename} unloaded')
elif what_do == 'reload':
bot.reload_extension(f'cogs.{_filename}')
logger.info(f'Cog {_filename} reloaded')

View File

@@ -20,7 +20,7 @@ def preload_checks():
async def list_files(fold: str = 'audio'):
fold = f'audio/{fold}' if fold != 'audio' else fold
if fold != 'audio': fold = f'audio/{fold}'
fl = []
for filenames in os.walk(fold):
fl.extend(filenames)

View File

@@ -1,5 +1,5 @@
import sqlite3
from typing import List
from lib import logger
@@ -37,36 +37,20 @@ class _DBAttrs:
isbot: bool,
defaulttracks: None or list,
usertracks: None or list):
self.id = userid
self.userid = userid
self.username = username
self.nick = nick
self.isbot = isbot
if defaulttracks is not None:
self._def_list = defaulttracks
self.defaulttracks = self._defaulttracks
else:
self.defaulttracks = None
if usertracks is not None:
self._user_list = usertracks
self.usertracks = self._usertracks
else:
self.usertracks = None
self.defaulttracks = defaulttracks
self.usertracks = usertracks
def __str__(self):
return self.username
def __repr__(self):
return f'<File attrs userid={self.id} username={self.username} nick={self.nick} ' \
return f'<File attrs userid={self.userid} username={self.username} nick={self.nick} ' \
f'isbot={self.isbot} defaulttracks={self.defaulttracks} usertracks={self.usertracks}>'
@property
def _defaulttracks(self) -> List[str]:
return self._def_list.split(', ')
@property
def _usertracks(self) -> List[str]:
return self._user_list.split(', ')
class _ListGenerationIter:
def __init__(self, user_class):
@@ -166,11 +150,16 @@ async def read_db(guild: int, user: int, column: str):
pass
async def check_exist_audio(guild: int, user: int, audio: str):
_users_db = DB_Reader(guild)
for _user in _users_db:
if not _user.isbot:
if _user.id == user and _user.usertracks is not None and audio in _user.usertracks:
return True
else:
return False
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

@@ -1,6 +1,6 @@
import mimetypes
import os
from typing import Optional
from typing import Tuple, Optional
class ListGenerator:
@@ -36,10 +36,10 @@ class ListGenerator:
class _FileAttrs:
def __init__(self, name, path, _type, exc):
def __init__(self, name, path, type, exc):
self.name = name
self.path = path
self.mimetype = _type
self.mimetype = type
self.exc = exc
def __str__(self):
@@ -63,7 +63,7 @@ class _ListGenerationIter:
return self
@property
def _type(self) -> Optional[str]:
def type(self) -> tuple[Optional[str], Optional[str]]:
guess = mimetypes.guess_type(f'{self._path}/{self._list[self._current_index]}')[0]
return guess

View File

@@ -5,6 +5,7 @@ from disnake import FFmpegPCMAudio
async def play_audio(audio, bot, vc):
if not bot.voice_clients:
logger.info(audio)
logger.error(f'Playing: {audio}')
await sleep(1)
vp = await vc.connect()