Added iter for DB
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
__version__ = '1.0.1'
|
__version__ = '1.0.2'
|
||||||
__title__ = "Pisya_bot"
|
__title__ = "Pisya_bot"
|
||||||
__author__ = "beaconborn"
|
__author__ = "beaconborn"
|
||||||
|
|
||||||
@@ -13,4 +13,4 @@ class VersionInfo(NamedTuple):
|
|||||||
serial: int
|
serial: int
|
||||||
|
|
||||||
|
|
||||||
version_info: VersionInfo = VersionInfo(major=1, minor=0, micro=1, releaselevel="alpha", serial=0)
|
version_info: VersionInfo = VersionInfo(major=1, minor=0, micro=5, releaselevel="alpha", serial=0)
|
||||||
|
|||||||
4
bot.py
4
bot.py
@@ -32,13 +32,9 @@ asyncio.run(work_with_cogs('load', bot))
|
|||||||
|
|
||||||
@bot.event
|
@bot.event
|
||||||
async def on_ready():
|
async def on_ready():
|
||||||
slash_commands = '\n\t* '.join(f'{r.name}: {r.description}' for r in bot.slash_commands)
|
|
||||||
_commands = '\n\t* '.join(f'{r.name}: {r.description}' for r in bot.commands)
|
|
||||||
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('Version of bot is - v{0.major}.{0.minor}.{0.micro}-{0.releaselevel}'.format(version_info))
|
||||||
logger.info(f'list of all slash commands: \n\t* {slash_commands}')
|
|
||||||
logger.info(f'list of all commands: \n\t* {_commands}')
|
|
||||||
|
|
||||||
|
|
||||||
@bot.slash_command(
|
@bot.slash_command(
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import disnake
|
|||||||
from disnake import Option, OptionType, Colour
|
from disnake import Option, OptionType, Colour
|
||||||
from disnake.ext import commands
|
from disnake.ext import commands
|
||||||
|
|
||||||
from lib import read_db
|
from lib import DB_Reader
|
||||||
from lib import logger
|
from lib import logger
|
||||||
|
|
||||||
|
|
||||||
@@ -23,15 +23,20 @@ class General(commands.Cog):
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
async def info(self, inter, user=None):
|
async def info(self, inter, user=None):
|
||||||
|
user_audio = None
|
||||||
|
default_audio = None
|
||||||
user = user or inter.author
|
user = user or inter.author
|
||||||
user_audio = await read_db(inter.guild.id, user.id, column='usertracks')
|
_user = DB_Reader(inter.guild.id)
|
||||||
default_audio = await read_db(inter.guild.id, user.id, column='defaulttracks')
|
for r in _user:
|
||||||
|
if r.userid == user.id:
|
||||||
|
user_audio = r.usertracks
|
||||||
|
default_audio = r.defaulttracks
|
||||||
|
|
||||||
rolelist = [r.mention for r in user.roles if r != inter.guild.default_role]
|
rolelist = [r.mention for r in user.roles if r != inter.guild.default_role]
|
||||||
if rolelist:
|
if rolelist:
|
||||||
roles = "\n".join(rolelist)
|
roles = "\n".join(rolelist)
|
||||||
else:
|
else:
|
||||||
roles = "Not added any role"
|
roles = "Not added any role"
|
||||||
|
|
||||||
if user_audio:
|
if user_audio:
|
||||||
audios = "• " + "\n• ".join(sorted(user_audio.split(", ")))
|
audios = "• " + "\n• ".join(sorted(user_audio.split(", ")))
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -4,6 +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 lib import determine_prefix, determine_time
|
from lib import determine_prefix, determine_time
|
||||||
from lib import logger
|
from lib import logger
|
||||||
|
|
||||||
@@ -15,7 +16,6 @@ class Bot_info(commands.Cog, name='Bot Info'):
|
|||||||
@commands.Cog.listener() # this is a decorator for events/listeners
|
@commands.Cog.listener() # this is a decorator for events/listeners
|
||||||
async def on_ready(self):
|
async def on_ready(self):
|
||||||
logger.info(f'Cog {__name__.split(".")[1]} is ready!.')
|
logger.info(f'Cog {__name__.split(".")[1]} is ready!.')
|
||||||
logger.info(f'{[names.name for names in self.bot.users]}')
|
|
||||||
|
|
||||||
@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
|
||||||
@@ -32,7 +32,8 @@ class Bot_info(commands.Cog, name='Bot Info'):
|
|||||||
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"
|
f"Max audio duration: {determine_time(inter)} sec\n"
|
||||||
)
|
)
|
||||||
emb.add_field(name="Bot owner", value=f"<@{self.bot.owner_id}>")
|
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}")
|
||||||
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)
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import sqlite3
|
import sqlite3
|
||||||
|
|
||||||
import disnake
|
|
||||||
|
|
||||||
from lib import logger
|
from lib import logger
|
||||||
|
|
||||||
@@ -8,12 +7,12 @@ from lib import logger
|
|||||||
class DB_Reader:
|
class DB_Reader:
|
||||||
|
|
||||||
def __init__(self, guildid: int = None):
|
def __init__(self, guildid: int = None):
|
||||||
self.guildid = guildid
|
self._guildid = guildid
|
||||||
self.list = self._read_db(self.guildid)
|
self.list = self._read_db(self._guildid)
|
||||||
self._current_index = 0
|
self._current_index = 0
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return str(self.guildid)
|
return str(self._guildid)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _read_db(cls, guildid: int) -> list:
|
def _read_db(cls, guildid: int) -> list:
|
||||||
@@ -32,12 +31,12 @@ class DB_Reader:
|
|||||||
|
|
||||||
class _DBAttrs:
|
class _DBAttrs:
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
userid,
|
userid: int,
|
||||||
username,
|
username: str,
|
||||||
nick,
|
nick: str,
|
||||||
isbot,
|
isbot: bool,
|
||||||
defaulttracks,
|
defaulttracks: None or list,
|
||||||
usertracks):
|
usertracks: None or list):
|
||||||
self.userid = userid
|
self.userid = userid
|
||||||
self.username = username
|
self.username = username
|
||||||
self.nick = nick
|
self.nick = nick
|
||||||
@@ -68,7 +67,7 @@ class _ListGenerationIter:
|
|||||||
_userid = self._list[self._current_index][0]
|
_userid = self._list[self._current_index][0]
|
||||||
_username = self._list[self._current_index][1]
|
_username = self._list[self._current_index][1]
|
||||||
_nick = self._list[self._current_index][2]
|
_nick = self._list[self._current_index][2]
|
||||||
_isbot = self._list[self._current_index][3]
|
_isbot = bool(self._list[self._current_index][3])
|
||||||
_defaulttracks = self._list[self._current_index][4]
|
_defaulttracks = self._list[self._current_index][4]
|
||||||
_usertracks = self._list[self._current_index][5]
|
_usertracks = self._list[self._current_index][5]
|
||||||
|
|
||||||
|
|||||||
@@ -2,13 +2,12 @@ import logging
|
|||||||
|
|
||||||
|
|
||||||
class _CustomFormatter(logging.Formatter):
|
class _CustomFormatter(logging.Formatter):
|
||||||
|
|
||||||
grey = "\x1b[38;20m"
|
grey = "\x1b[38;20m"
|
||||||
yellow = "\x1b[33;20m"
|
yellow = "\x1b[33;20m"
|
||||||
red = "\x1b[31;20m"
|
red = "\x1b[31;20m"
|
||||||
bold_red = "\x1b[31;1m"
|
bold_red = "\x1b[31;1m"
|
||||||
reset = "\x1b[0m"
|
reset = "\x1b[0m"
|
||||||
format = "%(asctime)s - %(levelname)s - %(module)s \t- %(message)s"
|
format = f"%(asctime)s - [%(levelname)s] -%(module)s- %(message)s"
|
||||||
|
|
||||||
FORMATS = {
|
FORMATS = {
|
||||||
logging.DEBUG: grey + format + reset,
|
logging.DEBUG: grey + format + reset,
|
||||||
@@ -18,9 +17,28 @@ class _CustomFormatter(logging.Formatter):
|
|||||||
logging.CRITICAL: bold_red + format + reset
|
logging.CRITICAL: bold_red + format + reset
|
||||||
}
|
}
|
||||||
|
|
||||||
|
old_factory = logging.getLogRecordFactory()
|
||||||
|
|
||||||
|
def _record_factory(*args, **kwargs):
|
||||||
|
record = _CustomFormatter.old_factory(*args, **kwargs)
|
||||||
|
_module = record.module
|
||||||
|
_levelname = record.levelname
|
||||||
|
if len(record.module) % 2 == 0 and len(record.module) < 12:
|
||||||
|
_module = ' ' * ((12 - len(record.module)) // 2) + record.module + ' ' * ((12 - len(record.module)) // 2)
|
||||||
|
elif len(record.module) % 2 == 1 and len(record.module) <12:
|
||||||
|
_module = ' ' * ((12 - len(record.module)) // 2) + record.module + ' ' * ((12 - len(record.module)) // 2 + 1)
|
||||||
|
if len(record.levelname) % 2 == 0 and len(record.levelname) < 8:
|
||||||
|
_levelname = ' ' * ((8 - len(record.levelname)) // 2) + record.levelname + ' ' * ((8 - len(record.levelname)) // 2)
|
||||||
|
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)
|
||||||
|
record.module = _module
|
||||||
|
record.levelname = _levelname
|
||||||
|
return record
|
||||||
|
|
||||||
|
logging.setLogRecordFactory(_record_factory)
|
||||||
def format(self, record):
|
def format(self, record):
|
||||||
log_fmt = self.FORMATS.get(record.levelno)
|
log_fmt = self.FORMATS.get(record.levelno)
|
||||||
formatter = logging.Formatter(log_fmt)
|
formatter = logging.Formatter(log_fmt, "%d-%m-%Y %H:%M:%S")
|
||||||
return formatter.format(record)
|
return formatter.format(record)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,3 +4,4 @@ psutil~=5.9.1
|
|||||||
pymediainfo~=5.1.0
|
pymediainfo~=5.1.0
|
||||||
pyNaCl~=1.5.0
|
pyNaCl~=1.5.0
|
||||||
python-dotenv~=0.20.0
|
python-dotenv~=0.20.0
|
||||||
|
ffmpeg-python~=0.2.0
|
||||||
Reference in New Issue
Block a user