From e5f578128e9b1c5ff4f7b14bc5c228d13294c8ee Mon Sep 17 00:00:00 2001 From: GZod01 Date: Sun, 15 Dec 2024 15:51:13 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20gestion=20des=20messages=20en?= =?UTF-8?q?voy=C3=A9s=20par=20les=20utilisateurs=20et=20am=C3=A9lioration?= =?UTF-8?q?=20de=20la=20fonction=20d'envoi=20de=20messages=20en=20tant=20q?= =?UTF-8?q?ue=20personnage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main-bot.py | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/main-bot.py b/main-bot.py index a427fd5..f971040 100644 --- a/main-bot.py +++ b/main-bot.py @@ -25,22 +25,40 @@ async def on_ready(): print(f"Logged in as {bot.user}") +@bot.event +async def on_message(message): + if message.author.bot: + return + if message.content.startswith("g!"): + short_name = message.content.split(" ")[0][2:] + uuid = message.author.id + guild_id = message.guild.id + message_str = message.content.split(" ")[1] + say_message(uuid,guild_id,short_name,message_str,message.channel) + @bot.tree.command(name="s",description="Envoyer un message en tant que personnage",aliases=["say","dire","écrire"]) async def say(interaction:discord.Interaction,id:str,message:str): - res = await bot.db.execute("SELECT * FROM personnages WHERE uuid=? AND (guild_id=? OR guild_id IS NULL) AND nom_court=?",(interaction.user.id,interaction.guild.id,id)) + if not await say_message(interaction.user.id,interaction.guild.id,id,message,interaction.channel): + await interaction.response.send_message("Vous n'avez pas ce personnage",ephemeral=True) + return + await interaction.response.send_message("Message envoyé",ephemeral=True) + + +async def say_message(userid:int, guildid:int, shortname:str, message:str,channel:discord.TextChannel): + res = await bot.db.execute("SELECT * FROM personnages WHERE uuid=? AND (guild_id=? OR guild_id IS NULL) AND nom_court=?",(userid,guildid,short_name)) row = await res.fetchone() await res.close() if row is None: - await interaction.response.send_message("Personnage non trouvé",ephemeral=True) - return + return False short_name = row[0] full_name = row[1] perso_image = row[2] webhook = None - if discord.utils.get(interaction.channel.webhooks(),name=short_name) is None: - webhook = await interaction.channel.create_webhook(name=short_name,avatar=perso_image) + if discord.utils.get(channel.webhooks(),name=short_name) is None: + webhook = await channel.create_webhook(name=short_name,avatar=perso_image) else: - webhook = discord.utils.get(interaction.channel.webhooks(),name=short_name) + webhook = discord.utils.get(channel.webhooks(),name=short_name) await webhook.send(message,username=full_name,avatar_url=perso_image) - await interaction.response.send_message("Message envoyé",ephemeral=True) + return True + bot.run(bot_token) \ No newline at end of file