-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrole.py
71 lines (57 loc) · 2.05 KB
/
role.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import discord
from discord.ext import commands
import os
from dotenv import load_dotenv,find_dotenv
load_dotenv(find_dotenv())
intents = discord.Intents.all()
intents.guilds = True
intents.messages = True
client = commands.Bot(command_prefix='.', intents=intents)
@client.event
async def on_ready():
print(f"connecté en tant que {client.user.name}")
@client.command()
async def addrole(ctx, *args):
guild = ctx.guild
roles = ctx.author.roles
verif = False
for role in roles:
if role.name =="admin":
verif = True
if verif:
role = discord.utils.get(guild.roles, name='admin') # bien rentrer le nom du role comme sur le serveur
for item in args:
item = item.replace("<", "")
item = item.replace(">", "")
item = item.replace("@", "")
if '&' in item:
item = item.replace('&','')
item = int(item)
member = guild.get_member(item)
member_verif = True
member_roles = member.roles
for role in member_roles:
if role.name == "admin":
member_verif = False
if member_verif:
await member.add_roles(role)
await ctx.send(f"Le role admin a bien été ajouté à {member.mention}.")
else:
await ctx.send(f"{member.mention} a déjà le rôle admin.")
else:
await ctx.send("Vous n'avez pas le rôle requis pour effectuer cette action.")
@client.command()
async def removerole(ctx):
guild = ctx.guild
roles = ctx.author.roles
verif = False
for role in roles:
if role.name =="admin":
verif = True
if verif:
role = discord.utils.get(guild.roles, name='admin') # bien rentrer le nom du role comme sur le serveur
await ctx.author.remove_roles(role)
await ctx.send(f"Le role admin vous a bien été retiré.")
else:
await ctx.send("Vous n'avez pas le rôle requis pour effectuer cette action.")
client.run(os.environ["TOKEN"])