v0.0.6\nplay_audio fixes
This commit is contained in:
130
cogs/general.py
130
cogs/general.py
@@ -1,69 +1,61 @@
|
||||
|
||||
import disnake
|
||||
from disnake import Option, OptionType, Colour
|
||||
from disnake.ext import commands
|
||||
|
||||
from lib import DB_Reader
|
||||
from lib import logger
|
||||
|
||||
|
||||
class General(commands.Cog):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot # defining bot as global var in class
|
||||
|
||||
@commands.Cog.listener() # this is a decorator for events/listeners
|
||||
async def on_ready(self):
|
||||
logger.info(f'Cog {__name__.split(".")[1]} is ready!.')
|
||||
|
||||
@commands.slash_command(
|
||||
name="info",
|
||||
description="Read list of tracks for user",
|
||||
options=[
|
||||
Option("user", "Specify any user", OptionType.user),
|
||||
]
|
||||
)
|
||||
async def info(self, inter, user=None):
|
||||
user_audio = None
|
||||
default_audio = None
|
||||
user = user or inter.author
|
||||
_user = DB_Reader(inter.guild.id)
|
||||
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]
|
||||
if rolelist:
|
||||
roles = "\n".join(rolelist)
|
||||
else:
|
||||
roles = "Not added any role"
|
||||
if user_audio:
|
||||
audios = "• " + "\n• ".join(sorted(user_audio.split(", ")))
|
||||
else:
|
||||
audios = "Not selected audio"
|
||||
|
||||
if default_audio:
|
||||
audios2 = "• " + "\n• ".join(sorted(default_audio.split(", ")))
|
||||
else:
|
||||
audios2 = "Not selected audio"
|
||||
|
||||
emb = disnake.Embed(
|
||||
title=f"General information",
|
||||
description=f"General information on server about {user}",
|
||||
color=Colour.random()
|
||||
)
|
||||
emb.set_thumbnail(url=user.display_avatar)
|
||||
emb.add_field(name="General info",
|
||||
value=f"Username: {user}\n"
|
||||
f"Nickname: {user.nick}\n"
|
||||
f"Joined at: {user.joined_at.strftime('%A, %B %d %Y @ %H:%M:%S')}", inline=False)
|
||||
emb.add_field(name="User audio list", value=f"{audios}", inline=True)
|
||||
emb.add_field(name="Default audio list", value=f"{audios2}", inline=True)
|
||||
emb.add_field(name="Roles list", value=f"{roles}", inline=True)
|
||||
emb.set_footer(text="Information requested by: {}".format(inter.author.display_name))
|
||||
|
||||
await inter.response.send_message(embed=emb, ephemeral=True)
|
||||
|
||||
|
||||
def setup(bot): # an extension must have a setup function
|
||||
bot.add_cog(General(bot)) # adding a cog
|
||||
import disnake
|
||||
from disnake import Option, OptionType, Colour
|
||||
from disnake.ext import commands
|
||||
|
||||
from lib import DBReader
|
||||
from lib import logger
|
||||
|
||||
|
||||
class General(commands.Cog):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot # defining bot as global var in class
|
||||
|
||||
@commands.Cog.listener() # this is a decorator for events/listeners
|
||||
async def on_ready(self):
|
||||
logger.info(f'Cog {__name__.split(".")[1]} is ready!.')
|
||||
|
||||
@commands.slash_command(
|
||||
name="info",
|
||||
description="Read list of tracks for user",
|
||||
options=[
|
||||
Option("user", "Specify any user", OptionType.user),
|
||||
]
|
||||
)
|
||||
async def info(self, inter, user=None):
|
||||
audio = None
|
||||
user = user or inter.author
|
||||
_user = DBReader(inter.guild.id)
|
||||
for r in _user:
|
||||
if r.userid == user.id:
|
||||
audio = r.defaulttracks
|
||||
|
||||
rolelist = [r.mention for r in user.roles if r != inter.guild.default_role]
|
||||
if rolelist:
|
||||
roles = "\n".join(rolelist)
|
||||
else:
|
||||
roles = "Not added any role"
|
||||
|
||||
if audio:
|
||||
audios = "• " + "\n• ".join(sorted(audio.split(", ")))
|
||||
else:
|
||||
audios = "Not selected audio"
|
||||
|
||||
emb = disnake.Embed(
|
||||
title=f"General information",
|
||||
description=f"General information on server about {user}",
|
||||
color=Colour.random()
|
||||
)
|
||||
emb.set_thumbnail(url=user.display_avatar)
|
||||
emb.add_field(name="General info",
|
||||
value=f"Username: {user}\n"
|
||||
f"Nickname: {user.nick}\n"
|
||||
f"Joined at: {user.joined_at.strftime('%A, %B %d %Y @ %H:%M:%S')}", inline=False)
|
||||
emb.add_field(name="Default audio list", value=f"{audios}", inline=True)
|
||||
emb.add_field(name="Roles list", value=f"{roles}", inline=True)
|
||||
emb.set_footer(text="Information requested by: {}".format(inter.author.display_name))
|
||||
|
||||
await inter.response.send_message(embed=emb, ephemeral=True)
|
||||
|
||||
|
||||
def setup(bot): # an extension must have a setup function
|
||||
bot.add_cog(General(bot)) # adding a cog
|
||||
|
||||
Reference in New Issue
Block a user