import discord import re import os intents = discord.Intents.default() intents.messages = True intents.message_content = True client = discord.Client(intents=intents) # Détecte les codes de serveurs privés Demonfall (entre 6 et 10 lettres/chiffres) CODE_REGEX = r'\b[A-Za-z0-9]{6,10}\b' @client.event async def on_ready(): print(f"⚡ Traqueur Demonfall en ligne H24 : {client.user}") @client.event async def on_message(message): if message.author == client.user: return # Convertit tout le texte en minuscules pour ignorer les majuscules/minuscules content_lower = message.content.lower() # Liste des mots-clés mise à jour (inclut kai, gyu, majuscules gérées automatiquement) mots_cles = ["raid", "kaigaku", "gyutaro", "gyuitaro", "infinity castle", "kai", "gyu"] if any(mot in content_lower for mot in mots_cles): trouve = re.search(CODE_REGEX, message.content) if trouve: code_boss = trouve.group(0) # ⚠️ REMPLACEZ PAR VOTRE ID DE SALON DISCORD (sans guillemets) ID_VOTRE_SALON = 123456789012345678 salon_alerte = client.get_channel(ID_VOTRE_SALON) if salon_alerte: embed = discord.Embed( title="🚨 NOUVEAU RAID / BOSS DÉTECTÉ !", description="Un joueur vient de partager un accès !", color=0x00ff00 ) # Affiche le texte brut d'origine (avec ses majuscules de base) embed.add_field(name="Message d'origine", value=message.content, inline=False) # Affiche le code extrait embed.add_field(name="🔑 CODE À COPIER", value=f"`{code_boss}`", inline=False) # Affiche l'auteur du message (Pseudo Discord) embed.add_field(name="👤 Envoyé par", value=f"{message.author.name} (ID: {message.author.id})", inline=True) # Affiche le nom du serveur d'où vient l'alerte embed.add_field(name="📍 Provenance", value=f"Serveur : {message.guild.name if message.guild else 'Message Privé'}", inline=True) await salon_alerte.send(embed=embed) # Utilise la variable d'environnement pour votre Token secret client.run(os.getenv('DISCORD_TOKEN'))