Files
2025-09-16 15:00:16 +02:00

55 lines
1.9 KiB
Python
Executable File

import discord
from discord.ext import commands
class Roles(commands.Cog):
def __init__(self, client):
self.client = client
@commands.command(name="giveRole")
@commands.has_permissions(manage_roles=True)
async def _add_role(self, ctx, member: discord.Member, role):
role = discord.utils.get(ctx.guild.roles, name=role)
await member.add_roles(role)
await ctx.reply("role given", delete_after=2)
@commands.command(name="showRoles")
@commands.has_permissions(manage_roles=True)
async def _show_role(self, ctx):
roles = [role for role in ctx.guild.roles][1:]
embed = discord.Embed(
colour=discord.Colour.purple(),
timestamp=ctx.message.created_at,
title=f"Roles",
)
embed.add_field(
name="Roles:", value="\n".join([role.mention for role in roles])
)
await ctx.send(embed=embed)
@commands.command(name="takeRole")
@commands.has_permissions(manage_roles=True)
async def _take_role(self, ctx, member: discord.Member, role):
role = discord.utils.get(ctx.guild.roles, name=role)
await member.remove_roles(role)
await ctx.reply("role taken", delete_after=2)
@commands.command(name="deleteRole")
@commands.has_permissions(manage_roles=True)
async def _delete_role(self, ctx, role_name):
role_object = discord.utils.get(ctx.guild.roles, name=role_name)
await role_object.delete()
@commands.command("addRole")
@commands.has_permissions(
manage_roles=True
) # Check if the user executing the command can manage roles
async def _create_role(self, ctx, name):
guild = ctx.guild
await guild.create_role(name=name)
await ctx.send(f"Role `{name}` has been created")
async def setup(client):
await client.add_cog(Roles(client))