31 lines
1.9 KiB
Python
31 lines
1.9 KiB
Python
|
from discord import app_commands
|
||
|
import discord
|
||
|
from GammaRPBot_Define import GammaRPBot
|
||
|
async def setup(bot:GammaRPBot):
|
||
|
bot.tree.add_command(PersoCommands(bot))
|
||
|
class PersoCommands(app_commands.Group):
|
||
|
bot:GammaRPBot
|
||
|
def __init__(self,bot):
|
||
|
super().__init__(name="perso",description="Commandes pour les personnages")
|
||
|
self.bot=bot
|
||
|
|
||
|
@app_commands.command(name="créer",description="Crée un personnage")
|
||
|
@app_commands.describe(short_name="Le nom court du personnage (son ID)", full_name="Le nom complet du personnage",
|
||
|
story="L'histoire du personnage",powers="Les pouvoirs du personnage",age="L'âge du personnage",
|
||
|
sexe="Le sexe du personnage",guild_only="Personnage global ou uniquement sur ce serveur",image="L'image du personnage")
|
||
|
@app_commands.choices(guild_only=[app_commands.Choice(name="Global",value="global"),app_commands.Choice(name="Ce serveur uniquement", value="guild")])
|
||
|
async def create_character(self,interaction:discord.Interaction,short_name:str,full_name:str,image:discord.Attachment,story:str,powers:str,age:int,sexe:str,guild_only:app_commands.Choice[str]):
|
||
|
nom_court = short_name
|
||
|
nom_complet= full_name
|
||
|
if image.content_type!="image/png" and image.content_type!="image/jpeg":
|
||
|
await interaction.response.send_message("L'image doit être un fichier PNG ou JPEG",ephemeral=True)
|
||
|
return
|
||
|
histoire = story
|
||
|
pouvoirs = powers
|
||
|
uuid=interaction.user.id
|
||
|
guild_id = interaction.guild.id
|
||
|
image_blob=await image.read()
|
||
|
print(nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,guild_id)
|
||
|
print(image.filename)
|
||
|
await self.bot.db.execute("INSERT INTO personnages (nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,guild_id,image) VALUES (?,?,?,?,?,?,?,?,?)",(nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,guild_id,image_blob))
|
||
|
|