46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
import discord
|
|
|
|
TOKEN = "MTQ2MzI1NjE5NzY4Njg4NjY0NQ.Gj8i34.4ROs8orV2WGr5sTdgXXsiub-uFpPlFFQoBg8-4"
|
|
|
|
# ---- CONFIG ----
|
|
ROLE_NAME = "retard" # nom exact du rôle
|
|
REACTION = "🤡" # emoji (✅, 🔥, 😄) ou emoji custom "<:name:id>"
|
|
# ----------------
|
|
|
|
intents = discord.Intents.default()
|
|
intents.message_content = True
|
|
intents.members = True # utile pour accéder proprement aux rôles
|
|
|
|
client = discord.Client(intents=intents)
|
|
|
|
@client.event
|
|
async def on_ready():
|
|
print(f"Connecté en tant que {client.user} (id: {client.user.id})")
|
|
|
|
@client.event
|
|
async def on_message(message: discord.Message):
|
|
# ignore les messages du bot (et de soi-même)
|
|
if message.author.bot:
|
|
return
|
|
|
|
# on ne traite que les serveurs (pas les DM)
|
|
if message.guild is None:
|
|
return
|
|
|
|
member = message.author # dans un serveur, c'est un discord.Member
|
|
|
|
# vérifie si l'auteur a le rôle
|
|
has_role = any(role.name == ROLE_NAME for role in member.roles)
|
|
if not has_role:
|
|
return
|
|
|
|
# ajoute la réaction
|
|
try:
|
|
await message.add_reaction(REACTION)
|
|
except discord.Forbidden:
|
|
print("Je n'ai pas la permission d'ajouter des réactions ici.")
|
|
except discord.HTTPException as e:
|
|
print(f"Erreur Discord API: {e}")
|
|
|
|
client.run(TOKEN)
|