self.cursor.execute("""SHOW TABLES LIKE 'passport'""")
result=self.cursor.fetchone()
ifnotresult:
# Creation table Passport si premiere fois
sql="CREATE TABLE passport ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, userid TEXT null, os TEXT null, config TEXT null, languages TEXT null, pays TEXT null, passportdate TEXT null, theme CHAR(5) DEFAULT 'dark');"
self.cursor.execute(sql)
@commands.group(pass_context=True)
asyncdefpasseport(self,ctx):
"""Passeport"""
ifctx.invoked_subcommandisNone:
text=open('texts/passport-info.md').read()
em=discord.Embed(title='Commandes de carte de passeport de TuxBot',description=text,colour=0x89C4F9)
awaitctx.send('Un message privé vous a été envoyé pour configurer votre passeport.')
questions=["Système(s) d'exploitation :","Configuration Système :","Langages de programmation préférés :","Pays :"]
answers={}
user_dm=awaitctx.author.create_dm()
try:
awaituser_dm.send("Salut ! Je vais vous posez quelques questions afin de configurer votre passeport, si vous ne voulez pas répondre à une question, envoyez `skip` pour passer à la question suivante.")
exceptdiscord.HTTPException:
awaitctx.send(f"{str(ctx.message.author.mention)}> il m'est impossible de vous envoyer les messages nécessaire a la configuration de votre passeport :sob:")
self.cursor.execute("""SELECT id, userid FROM passport WHERE userid = %s""",str(user_dm.recipient.id))
result=self.cursor.fetchone()
ifresult:
self.cursor.execute("""UPDATE passport SET os = %s, config = %s, languages = %s, pays = %s WHERE userid = %s""",(str(answers[0]),str(answers[1]),str(answers[2]),str(answers[3]),str(ctx.message.author.id)))
awaitctx.send(f"Et voila {ctx.author.mention} ! à gauche votre passeport avec le thème \"dark\" et à droite avec le thème \"light\" :wink:")
shutil.rmtree("data/tmp")
os.mkdir("data/tmp")
else:
em=discord.Embed(title='Une erreur est survenue',description="Les choix possible pour cette commande sont : `dark`, `light`, `preview`",colour=0xDC3546)
self.cursor.execute("""SELECT id, userid FROM passport WHERE userid = %s""",str(ctx.author.id))
result=self.cursor.fetchone()
ifresult:
defcheck(m):
returnm.author.id==ctx.author.idand \
m.channel.id==ctx.channel.id
awaitctx.send(f"{str(ctx.message.author.mention)}> envoyez `CONFIRMER` afin de supprimer vos données conformément à l'article 17 du `règlement général sur la protection des données` sur le `Droit à l'effacement`")