import discord import aiosqlite from discord.ext import commands from discord import app_commands import logging import sys from public_env import * from GammaRPBot_Define import GammaRPBot formatter = discord.utils._ColourFormatter() handler = logging.StreamHandler(sys.stdout) handler.setFormatter(formatter) logging.basicConfig(level=logging.INFO, handlers=[handler]) logger = logging.getLogger() intents = discord.Intents.all() bot = GammaRPBot(intents) @bot.event async def on_ready(): bot.db = await aiosqlite.connect("main.db") await bot.load_extension("perso_commands") await bot.tree.sync() print(f"Logged in as {bot.user}") @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)) row = await res.fetchone() await res.close() if row is None: await interaction.response.send_message("Personnage non trouvé",ephemeral=True) return 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) else: webhook = discord.utils.get(interaction.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) bot.run(bot_token)