First official build of bot!

Co-authored-by: iakrules <64628083+iakrules@noreply.github.com>
This commit is contained in:
rzmk 2021-08-01 14:24:02 -04:00
parent 953c89ead0
commit 2b8e2345f9
32 changed files with 1164 additions and 383 deletions

44
cogs/info/userCog.py Normal file
View file

@ -0,0 +1,44 @@
import discord
from discord.ext import commands
class UserCog(commands.Cog):
def __init__(self, bot):
self.bot = bot
# Commands
@commands.command(aliases=['whois'])
async def userinfo(self, ctx, member: discord.Member = None):
"""Get information about a given user"""
# Gather data
member = ctx.author if not member else member
roles = [role for role in member.roles]
default_role = discord.utils.get(member.guild.roles, name='@everyone')
role_mentions = [f'{role.mention}' for role in sorted(member.roles, key=lambda x: x.position, reverse=True) if role != default_role]
all_perms = [x for x in dir(ctx.channel.permissions_for(member))]
permissions = []
for perm in all_perms:
perm_name = perm
if getattr(ctx.channel.permissions_for(member), perm_name) is True:
permissions.append(perm_name.title().replace("_", " ").replace("Tts", "TTS"))
# Create embed
embed = discord.Embed(description = member.mention, color = member.color, timestamp = ctx.message.created_at)
embed.set_author(name = member, icon_url = member.avatar_url)
embed.set_thumbnail(url = member.avatar_url)
embed.set_footer(text = member.id)
embed.add_field(name = 'Joined', value = member.joined_at.strftime('%a, %d %B %Y, %I:%M %p UTC'), inline=True)
embed.add_field(name = 'Registered', value = member.created_at.strftime('%a, %d %B %Y, %I:%M %p UTC'), inline=True)
embed.add_field(name=f'Roles [{len(roles)}]', value=", ".join(role_mentions)+f', {default_role}', inline=False)
embed.add_field(name=f'Permissions [{len(permissions)}]', value=", ".join(permissions), inline=False)
embed.add_field(name='Nickname', value=member.nick if hasattr(member, 'nick') else 'None', inline=True)
await ctx.send(embed = embed)
def setup(bot):
bot.add_cog(UserCog(bot))