reza0310

Code Claire

Oct 5th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. import discord
  2. import time
  3. import datetime
  4. import random as r
  5.  
  6. def read_token(): #Permet d'utiliser le fichier texte "token" dans le même dossier pour se connecter à discord
  7. with open ("token.txt", "r") as f:
  8. lines = f.readlines()
  9. return lines[0].strip()
  10.  
  11. token = read_token()
  12.  
  13. client = discord.Client()
  14.  
  15. def purifier(x):
  16. Liste = []
  17. x = str(x)
  18. for i in range (0, len(x)): #transformation str -> liste
  19. Liste.append(x[i])
  20. y = len(Liste)
  21. for i in range (0,y): #condition necessaire au bon fonctionnement
  22. if i < y:
  23. if Liste[i] == "(" or Liste[i] == "'" or Liste[i] == "," and Liste[i-1] != "|" or Liste[i] == ")" or Liste[i] == "[" or Liste[i] == "]":
  24. Liste.remove(Liste[i])
  25. y = len(Liste)
  26. y = len(Liste)
  27. for ii in range(0, y):
  28. if i < y:
  29. if Liste[ii] == " ":
  30. if ii >= 1:
  31. if Liste[ii-1] == " ":
  32. Liste.remove(Liste[ii])
  33. y = len(Liste)
  34. i = 0
  35. y = len(Liste)
  36. x = str()
  37. for i in range (0,y): #transformation liste -> str
  38. x = x + Liste[i]
  39. return x #renvoi de la variables de départ pour s'adapter à n'importe quelle variable
  40.  
  41. @client.event
  42. async def on_message(message):
  43. ##print("Message reçu")
  44.  
  45. channels = ["claire", "test-de-claire", "comm-entre-bots"]
  46. users_blacklist = ["Jaques le joueur#2605", "Laura du Pôle Emploi#8164", "Claire la Secrétaire#5331", "Roger le Banquier#7558", "Temps#3179"]
  47.  
  48. #print(message.content)
  49. if str(message.channel) in channels and str(message.author) not in users_blacklist:
  50. if message.content.find("<@630090247740588042>") != -1: #Commande @mention
  51. print("Commande mention exécutée")
  52. await message.channel.send("Oui?\nTape C= aide pour obtenir la liste des commandes disponibles.")
  53.  
  54. elif message.content.find("C= aide") != -1: #Commande aide
  55. print("Commande aide exécutée")
  56. 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.")
  57.  
  58. elif message.content.find("C= bonjour") != -1: #Commande bonjour
  59. print("Commande bonjour exécutée")
  60. await message.channel.send("Bonjour à toi!")
  61.  
  62. elif message.content.find("C= add") != -1:
  63. print("Commande add executée")
  64. try:
  65. a = message.content
  66. b = len(a)
  67. c = 0 #Début extraction mot 1
  68. liste = []
  69. liste1 = []
  70. for i in range(0, b + 1):
  71. liste.append(a[c])
  72. if c != b - 1:
  73. c += 1
  74. d = 7
  75. while liste[d] != ",":
  76. liste1.append(liste[d])
  77. d += 1
  78. M1 = str()
  79. for i in range (0, len(liste1)):
  80. M1 = M1 + str(liste1[i]) #Mot 1 extrait
  81. liste1 = []
  82. d += 1
  83. while liste[d] != ",":
  84. liste1.append(liste[d])
  85. d += 1
  86. M2 = str()
  87. for i in range(0, len(liste1)):
  88. M2 = M2 + str(liste1[i]) #Mot 2 extrait
  89. liste1 = []
  90. d += 1
  91. while liste[d] != ",":
  92. liste1.append(liste[d])
  93. d += 1
  94. M3 = str()
  95. for i in range(0, len(liste1)):
  96. M3 = M3 + str(liste1[i]) #Mot 3 extrait
  97. 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
  98. lines = f.readlines()
  99. N = lines[0].strip()
  100. Nom = "C:\\Users\\dupre\\Desktop\\O.D.A.A.M.E\\Données\\joueurs\\joueur "+N+".txt" #Création du nom du fichier joueur
  101. Argent_depart_liquide = 0 #Initialisation de quelque variables pour les stats du joueur
  102. Argent_depart_banque = 100000
  103. age = r.randint(20, 30)
  104. taille = r.randint(150, 210)
  105. 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
  106. with open(txt_prenoms, "r") as f:
  107. rand = r.randint(0, 10000)
  108. prenom = f.readline(rand)
  109. 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
  110. with open(txt_noms, "r") as f:
  111. rand = r.randint(0, 10000)
  112. nom = f.readline(rand)
  113. with open(Nom, "w") as f: #Création du fichier joueur
  114. 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-")
  115. 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
  116. N = int(N)
  117. N = N+1
  118. f.write(str(N))
  119. print("Fichiers modifiés") #Étape fichier terminée. Passage à l'étape salon.
  120. user = client.get_all_members() #Recherche du joueur concerné par l'ajout
  121. for M3 in user:
  122. user = M3
  123. print ("Utilisateur trouvé")
  124. guild = message.guild #Identification du serveur
  125. print("Serveur identifié")
  126. nouv_role = await guild.create_role(name = M2) #Création du rôle de privatisation
  127. print("Rôle créé")
  128. await user.add_roles(nouv_role) #Attribution du rôle
  129. print("Rôle attribué à",user)
  130. perms = { #Définition des permissions pour le salon
  131. guild.default_role: discord.PermissionOverwrite(read_messages=False),
  132. nouv_role: discord.PermissionOverwrite(read_messages=True, send_messages=False)
  133. }
  134. for c in guild.channels: #Recherche de la catégorie pour le salon
  135. if str(c.type) == "category":
  136. if c.name == 'Joueurs':
  137. print('Catégorie trouvée')
  138. categorie = c
  139. nom = str(prenom) + "_" + str(nom) + "-(" + str(N - 1) + ")" #Création du nom du salon.
  140. print("nom =", nom)
  141. channel = await guild.create_text_channel(nom, overwrites = perms, category = categorie) #Création du salon avec tout les éléments précédents
  142. except (erreur):
  143. await message.channel.send(f"Erreur: {erreur}")
  144.  
  145.  
  146.  
  147. elif message.content.find("C= merci") != -1: #Commande merci
  148. print("Commande merci exécutée")
  149. await message.channel.send("De rien.")
  150.  
  151. elif message.content.find("C= enregistrer") != -1:
  152. print("Commande enregistrer exécutée")
  153. M1 = str(datetime.datetime.now())
  154. with open("n.txt", "r") as f:
  155. lines = f.readlines()
  156. N = lines[0].strip()
  157. Nom = "date"+N+".txt"
  158. with open("n.txt", "w") as f:
  159. N = int(N)
  160. N = N+1
  161. f.write(str(N))
  162. with open(Nom, "w") as f:
  163. f.write(M1)
  164.  
  165. 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:
  166. print("Commande erreur exécutée")
  167. await message.channel.send("Mauvaise commande. Essayez C= aide.")
  168.  
  169. client.run(token) #Démarre le bot
Add Comment
Please, Sign In to add comment