botpy
This commit is contained in:
111
c/info.py
Normal file
111
c/info.py
Normal file
@@ -0,0 +1,111 @@
|
||||
import discord
|
||||
from discord.ext import commands
|
||||
from discord.ext.commands import Context
|
||||
import random
|
||||
|
||||
|
||||
class Info(commands.Cog):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot
|
||||
self.last_member = None
|
||||
|
||||
@commands.command()
|
||||
async def avatar(self, ctx, member: discord.Member = None):
|
||||
"""
|
||||
Gets user avatar
|
||||
|
||||
"""
|
||||
if member is None:
|
||||
member = ctx.author
|
||||
if member.avatar:
|
||||
embed = discord.Embed(
|
||||
title=f'Avatar {member}',
|
||||
color=random.randint(0, 0xFFFFFF),
|
||||
).set_image(url = member.avatar.url)
|
||||
else:
|
||||
embed = discord.Embed(
|
||||
title=f"{member} has no avatar",
|
||||
color=random.randint(0, 0xFFFFFF),
|
||||
)
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
|
||||
|
||||
@commands.command()
|
||||
async def serverinfo(self, context: Context) -> None:
|
||||
"""
|
||||
Get some useful (or not) information about the server
|
||||
|
||||
:param context: The hybrid command context.
|
||||
"""
|
||||
roles = [role.name for role in context.guild.roles]
|
||||
num_roles = len(roles)
|
||||
if num_roles > 50:
|
||||
roles = roles[:50]
|
||||
roles.append(f">>>> Displaying [50/{num_roles}] Roles")
|
||||
roles = ", ".join(roles)
|
||||
|
||||
embed = discord.Embed(
|
||||
title="**Server Name:**", description=f"{context.guild}", color=random.randint(0, 0xFFFFFF)
|
||||
)
|
||||
if context.guild.icon is not None:
|
||||
embed.set_thumbnail(url=context.guild.icon.url)
|
||||
embed.add_field(name="Server ID", value=context.guild.id)
|
||||
embed.add_field(name="Member Count", value=context.guild.member_count)
|
||||
embed.add_field(
|
||||
name="Text/Voice Channels", value=f"{len(context.guild.channels)}"
|
||||
)
|
||||
embed.add_field(name=f"Roles ({len(context.guild.roles)})", value=roles)
|
||||
embed.set_footer(text=f"Created at: {context.guild.created_at}")
|
||||
await context.send(embed=embed)
|
||||
|
||||
@commands.command()
|
||||
async def userinfo(self, ctx, member: discord.Member = None) -> None:
|
||||
"""
|
||||
Gets some information about user
|
||||
|
||||
"""
|
||||
if member is None:
|
||||
member = ctx.author
|
||||
|
||||
roles = [role.name for role in member.roles]
|
||||
roles = ", ".join(roles)
|
||||
|
||||
embed = discord.Embed(
|
||||
title="**Displayed name:**",
|
||||
description=member.display_name,
|
||||
color=random.randint(0, 0xFFFFFF)
|
||||
)
|
||||
if member.avatar:
|
||||
embed.set_thumbnail(url=member.avatar.url)
|
||||
embed.add_field(name="Username", value=member)
|
||||
embed.add_field(name="User ID", value=member.id)
|
||||
embed.add_field(name=" ", value=' ')
|
||||
embed.add_field(name="User status", value=member.status)
|
||||
embed.add_field(name="_ _", value=member.activity)
|
||||
embed.add_field(name=" ", value=' ')
|
||||
embed.add_field(name=f"User roles ({len(member.roles)})", value= roles )
|
||||
embed.add_field(name="User join on server at", value=member.joined_at)
|
||||
embed.set_footer(text=f"Account created at: {member.created_at}")
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
|
||||
|
||||
@commands.command()
|
||||
async def serveravatar(self, context: Context) -> None:
|
||||
"""
|
||||
Get server avatar
|
||||
"""
|
||||
embed = discord.Embed(
|
||||
title='Avatar',
|
||||
color=random.randint(0, 0xFFFFFF),
|
||||
).set_image(url = context.guild.icon.url).set_author(name= context.guild.name, icon_url = context.guild.icon.url)
|
||||
await context.send(embed=embed)
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_ready(self):
|
||||
print('Info cog has been loaded')
|
||||
|
||||
|
||||
async def setup(bot):
|
||||
await bot.add_cog(Info(bot))
|
||||
Reference in New Issue
Block a user