Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import discord
- import time
- import datetime
- import random as r
- def read_token(): #Permet d'utiliser le fichier texte "token" dans le même dossier pour se connecter à discord
- with open ("token.txt", "r") as f:
- lines = f.readlines()
- return lines[0].strip()
- token = read_token()
- client = discord.Client()
- def purifier(x):
- Liste = []
- x = str(x)
- for i in range (0, len(x)): #transformation str -> liste
- Liste.append(x[i])
- y = len(Liste)
- for i in range (0,y): #condition necessaire au bon fonctionnement
- if i < y:
- if Liste[i] == "(" or Liste[i] == "'" or Liste[i] == "," and Liste[i-1] != "|" or Liste[i] == ")" or Liste[i] == "[" or Liste[i] == "]":
- Liste.remove(Liste[i])
- y = len(Liste)
- y = len(Liste)
- for ii in range(0, y):
- if i < y:
- if Liste[ii] == " ":
- if ii >= 1:
- if Liste[ii-1] == " ":
- Liste.remove(Liste[ii])
- y = len(Liste)
- i = 0
- y = len(Liste)
- x = str()
- for i in range (0,y): #transformation liste -> str
- x = x + Liste[i]
- return x #renvoi de la variables de départ pour s'adapter à n'importe quelle variable
- @client.event
- async def on_message(message):
- ##print("Message reçu")
- channels = ["claire", "test-de-claire", "comm-entre-bots"]
- users_blacklist = ["Jaques le joueur#2605", "Laura du Pôle Emploi#8164", "Claire la Secrétaire#5331", "Roger le Banquier#7558", "Temps#3179"]
- #print(message.content)
- if str(message.channel) in channels and str(message.author) not in users_blacklist:
- if message.content.find("<@630090247740588042>") != -1: #Commande @mention
- print("Commande mention exécutée")
- await message.channel.send("Oui?\nTape C= aide pour obtenir la liste des commandes disponibles.")
- elif message.content.find("C= aide") != -1: #Commande aide
- print("Commande aide exécutée")
- await message.channel.send("Les commandes actuellement disponibles sont: \n-|C= bonjour| pour se saluer. \n-|C= merci| pour me remercier. \n-|C= add [texte]| pour extraire 7 mots. \n-|C= enregistrer| pour enregistrer le datetime.")
- elif message.content.find("C= bonjour") != -1: #Commande bonjour
- print("Commande bonjour exécutée")
- await message.channel.send("Bonjour à toi!")
- elif message.content.find("C= add") != -1:
- print("Commande add executée")
- try:
- a = message.content
- b = len(a)
- c = 0 #Début extraction mot 1
- liste = []
- liste1 = []
- for i in range(0, b + 1):
- liste.append(a[c])
- if c != b - 1:
- c += 1
- d = 7
- while liste[d] != ",":
- liste1.append(liste[d])
- d += 1
- M1 = str()
- for i in range (0, len(liste1)):
- M1 = M1 + str(liste1[i]) #Mot 1 extrait
- liste1 = []
- d += 1
- while liste[d] != ",":
- liste1.append(liste[d])
- d += 1
- M2 = str()
- for i in range(0, len(liste1)):
- M2 = M2 + str(liste1[i]) #Mot 2 extrait
- liste1 = []
- d += 1
- while liste[d] != ",":
- liste1.append(liste[d])
- d += 1
- M3 = str()
- for i in range(0, len(liste1)):
- M3 = M3 + str(liste1[i]) #Mot 3 extrait
- with open("C:\\Users\\dupre\\Desktop\\O.D.A.A.M.E\\Données\\joueurs\\nbre_de_joueurs.txt", "r") as f: #Prise du numéro du joueur à ajouter
- lines = f.readlines()
- N = lines[0].strip()
- Nom = "C:\\Users\\dupre\\Desktop\\O.D.A.A.M.E\\Données\\joueurs\\joueur "+N+".txt" #Création du nom du fichier joueur
- Argent_depart_liquide = 0 #Initialisation de quelque variables pour les stats du joueur
- Argent_depart_banque = 100000
- age = r.randint(20, 30)
- taille = r.randint(150, 210)
- txt_prenoms = "C:\\Users\\dupre\\Desktop\\O.D.A.A.M.E\\Données\\Prénoms.txt" #Prise du prénom aléatoirement dans la base de données
- with open(txt_prenoms, "r") as f:
- rand = r.randint(0, 10000)
- prenom = f.readline(rand)
- txt_noms = "C:\\Users\\dupre\\Desktop\\O.D.A.A.M.E\\Données\\Noms_de_famille.txt" #Prise du nom de famille aléatoirement dans la base de données
- with open(txt_noms, "r") as f:
- rand = r.randint(0, 10000)
- nom = f.readline(rand)
- with open(Nom, "w") as f: #Création du fichier joueur
- f.write(f"{M1}\n{N}\n{M2}\nMotdepasse [a remplacer]\n{nom}\n{prenom}\n{age}\n{taille}\n100\n100\n100\n-CVD-\n-CVF-\n100\n-RPD-\n-RPF-\n75\n{Argent_depart_liquide}\n{Argent_depart_banque}\n{Argent_depart_liquide + Argent_depart_banque}\nSDF\nChômeur\nCélibataire\n-HD-\n-HF-\n-PD-\n-PF-")
- with open("C:\\Users\\dupre\\Desktop\\O.D.A.A.M.E\\Données\\joueurs\\nbre_de_joueurs.txt", "w") as f: #Préparation du nombre de joueurs pour les suivants
- N = int(N)
- N = N+1
- f.write(str(N))
- print("Fichiers modifiés") #Étape fichier terminée. Passage à l'étape salon.
- user = client.get_all_members() #Recherche du joueur concerné par l'ajout
- for M3 in user:
- user = M3
- print ("Utilisateur trouvé")
- guild = message.guild #Identification du serveur
- print("Serveur identifié")
- nouv_role = await guild.create_role(name = M2) #Création du rôle de privatisation
- print("Rôle créé")
- await user.add_roles(nouv_role) #Attribution du rôle
- print("Rôle attribué à",user)
- perms = { #Définition des permissions pour le salon
- guild.default_role: discord.PermissionOverwrite(read_messages=False),
- nouv_role: discord.PermissionOverwrite(read_messages=True, send_messages=False)
- }
- for c in guild.channels: #Recherche de la catégorie pour le salon
- if str(c.type) == "category":
- if c.name == 'Joueurs':
- print('Catégorie trouvée')
- categorie = c
- nom = str(prenom) + "_" + str(nom) + "-(" + str(N - 1) + ")" #Création du nom du salon.
- print("nom =", nom)
- channel = await guild.create_text_channel(nom, overwrites = perms, category = categorie) #Création du salon avec tout les éléments précédents
- except (erreur):
- await message.channel.send(f"Erreur: {erreur}")
- elif message.content.find("C= merci") != -1: #Commande merci
- print("Commande merci exécutée")
- await message.channel.send("De rien.")
- elif message.content.find("C= enregistrer") != -1:
- print("Commande enregistrer exécutée")
- M1 = str(datetime.datetime.now())
- with open("n.txt", "r") as f:
- lines = f.readlines()
- N = lines[0].strip()
- Nom = "date"+N+".txt"
- with open("n.txt", "w") as f:
- N = int(N)
- N = N+1
- f.write(str(N))
- with open(Nom, "w") as f:
- f.write(M1)
- elif message.content.find("C=") != -1 and message.channel != client.get_channel(633656647264370689) or message.content.find("c=") != -1 or message.content.find("C =") != -1 or message.content.find("c =") != -1:
- print("Commande erreur exécutée")
- await message.channel.send("Mauvaise commande. Essayez C= aide.")
- client.run(token) #Démarre le bot
Add Comment
Please, Sign In to add comment