import requests
import time
import random
import threading
# ---------------- CONFIG ----------------
WEBHOOK_URL = "https://discord.com/api/webhooks/ID/TOKEN" # Remplace par ton webhook
DELAY_SECONDS = 30 # Délai par défaut entre messages (en secondes)
# Identités possibles (nom + avatar)
IDENTITIES = [
{"username": "Léo", "avatar_url": "https://exemple.com/avatars/leo.png"},
{"username": "Maya", "avatar_url": "https://exemple.com/avatars/maya.png"},
{"username": "Antoine", "avatar_url": "https://exemple.com/avatars/antoine.png"},
{"username": "Sofia", "avatar_url": "https://exemple.com/avatars/sofia.png"},
]
# Messages “retours clients”
MESSAGES = [
"Yes les frères ! Arnaque pas, legit de fou ✅",
"Carré ! Rien à dire, tout est parfait 👍",
"Reçu direct, super service !",
"100% satisfait, je recommande 🔥",
"Nickel, rapide et fiable !",
"Franchement top, merci beaucoup 🙏",
"Service carré, livré ultra vite 💯",
"Les gars, c’est legit de chez legit 😎",
"Excellent, comme promis ✅",
"Rien à redire, je reviendrai 💎",
"Très satisfait, franchement au top 👍",
"Le pack est arrivé direct, parfait 🔥",
"Je recommande sans hésiter ✅",
"Service rapide et fiable, rien à dire !",
"Top qualité, vraiment nickel 👌",
"Livraison ultra rapide, merci 🙏",
"C’est clean, comme annoncé 💯",
"Franchement excellent, je suis content 😁",
"Reçu en un rien de temps, parfait !",
"Super service, je recommande 🔥",
"Les gars sont sérieux, rien à dire ✅",
"Vraiment carré, tout est ok 👍",
"Hyper rapide, très satisfait 💎",
"Pack arrivé nickel, legit !",
"Merci pour le service, au top 😎"
]
# ---------------- VARIABLES ----------------
stop_flag = False # Pour arrêter le bot à tout moment
# ---------------- FONCTION D'ENVOI ----------------
def send_webhook_message(webhook_url, username, avatar_url, content):
payload = {
"username": username,
"avatar_url": avatar_url,
"content": content
}
headers = {"Content-Type": "application/json"}
r = requests.post(webhook_url, json=payload, headers=headers)
if r.status_code // 100 != 2:
print(f"Erreur {r.status_code}: {r.text}")
else:
print(f"Message envoyé en tant que {username}: {content}")
# ---------------- BOUCLE D'ENVOI ----------------
def start_sending(num_messages):
global stop_flag
last_identity = None
for i in range(num_messages):
if stop_flag:
print("Envoi arrêté !")
break
# Choisir identité aléatoire
identity = random.choice(IDENTITIES)
if last_identity and identity == last_identity and len(IDENTITIES) > 1:
identity = random.choice([idn for idn in IDENTITIES if idn != last_identity])
last_identity = identity
# Choisir message aléatoire
content = random.choice(MESSAGES)
send_webhook_message(WEBHOOK_URL, identity["username"], identity["avatar_url"], content)
if i < num_messages - 1:
print(f"Pause de {DELAY_SECONDS}s avant le message suivant...")
time.sleep(DELAY_SECONDS)
print("Fin de l'envoi.")
# ---------------- MENU INTERACTIF ----------------
def main():
global stop_flag
while True:
print("\n=== BOT MESSAGES INTERACTIF ===")
print("1️⃣ Lancer l'envoi")
print("2️⃣ Stopper l'envoi")
print("3️⃣ Quitter")
choice = input("Choisis une option : ")
if choice == "1":
num = input("Combien de messages envoyer ? ")
try:
num = int(num)
stop_flag = False
t = threading.Thread(target=start_sending, args=(num,))
t.start()
except ValueError:
print("Entrée invalide !")
elif choice == "2":
stop_flag = True
elif choice == "3":
stop_flag = True
print("Au revoir !")
break
else:
print("Option invalide !")
if __name__ == "__main__":
main()