This commit is contained in:
2025-11-26 19:34:08 +05:00
commit 1dd4394e4b
11 changed files with 926 additions and 0 deletions

111
c/info.py Normal file
View 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))