File size: 2,423 Bytes
feff343 | 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 | 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')) |