Refactor la gestion des images dans les fonctions say_message et perso_embed pour utiliser des URL d'images au lieu de données brutes, améliorant ainsi l'efficacité et la lisibilité du code.
This commit is contained in:
parent
4f0ef731bc
commit
5135c52973
2 changed files with 8 additions and 20 deletions
|
@ -62,20 +62,17 @@ async def say_message(userid:int, guildid:int, shortname:str, message:str,channe
|
|||
# print("ok")
|
||||
short_name = row["nom_court"]
|
||||
full_name = row["nom_complet"]
|
||||
perso_image = row["image"] #data:image/png;base64,xxxxxx
|
||||
perso_image_b64=perso_image.split(",")[1]
|
||||
perso_image_raw = base64.b64decode(perso_image_b64)
|
||||
print(perso_image_raw)
|
||||
perso_image = row["image"]
|
||||
# print(short_name,full_name,perso_image)
|
||||
webhook = None
|
||||
# print("ok2")
|
||||
if discord.utils.get(await channel.webhooks(),name=short_name) is None:
|
||||
# print("ok3");
|
||||
webhook = await channel.create_webhook(name=short_name,avatar=perso_image_raw)
|
||||
webhook = await channel.create_webhook(name=short_name)
|
||||
# print("ok4")
|
||||
else:
|
||||
# print("ok5")
|
||||
webhook = discord.utils.get(await channel.webhooks(),name=short_name)
|
||||
webhook = discord.utils.get(await channel.webhooks(),name=short_name,avatar_url=perso_image)
|
||||
# print("ok6")
|
||||
# print("ok7")
|
||||
await webhook.send(message,username=full_name)
|
||||
|
|
|
@ -9,7 +9,7 @@ import io
|
|||
_sql_table="""CREATE TABLE personnages (
|
||||
nom_court varchar(255),
|
||||
nom_complet text,
|
||||
image blob,
|
||||
image text,
|
||||
histoire text,
|
||||
pouvoirs text,
|
||||
uuid TEXT,
|
||||
|
@ -46,15 +46,13 @@ class PersoCommands(app_commands.Group):
|
|||
uuid=interaction.user.id
|
||||
guild_id = interaction.guild.id
|
||||
image_blob_raw=await image.read()
|
||||
image_blob_b64 = base64.b64encode(image_blob_raw).decode("utf-8")
|
||||
ext = image.filename.split(".")[-1]
|
||||
image_blob=f"data:image/{ext};base64,{image_blob_b64}"
|
||||
a = await self.bot.get_guild(1037663859621765160).get_channel(1317876780635394068).send(file=discord.File(io.BytesIO(image_blob_raw),filename=image.filename))
|
||||
perso_image_url = a.attachments[0].url
|
||||
print(nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,guild_id)
|
||||
print(image.filename)
|
||||
print(image.url)
|
||||
print(image_blob)
|
||||
try:
|
||||
res = await self.bot.db.execute("INSERT INTO personnages (nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,image) VALUES (?,?,?,?,?,?,?,?,?)",(nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,image_blob))
|
||||
res = await self.bot.db.execute("INSERT INTO personnages (nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,image) VALUES (?,?,?,?,?,?,?,?,?)",(nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,perso_image_url))
|
||||
print(res)
|
||||
await res.close()
|
||||
await self.bot.db.commit()
|
||||
|
@ -95,17 +93,10 @@ class PersoCommands(app_commands.Group):
|
|||
|
||||
|
||||
async def perso_embed(bot:GammaRPBot,perso_datas)->discord.embeds.Embed:
|
||||
perso_image = perso_datas["image"] #data:image/png;base64,xxxxxx
|
||||
perso_image_b64=perso_image.split(",")[1]
|
||||
perso_image_raw = base64.b64decode(perso_image_b64)
|
||||
perso_image_file = discord.File(io.BytesIO(perso_image_raw))
|
||||
a = await bot.get_guild(1037663859621765160).get_channel(1317876780635394068).send(file=perso_image_file)
|
||||
print(a.attachments)
|
||||
perso_image_url = a.attachments[0].url
|
||||
embed = discord.Embed(title=perso_datas["nom_complet"],description=perso_datas["histoire"])
|
||||
embed.add_field(name="Pouvoirs",value=perso_datas["pouvoirs"])
|
||||
embed.add_field(name="Age",value=perso_datas["age"])
|
||||
embed.add_field(name="Sexe",value=perso_datas["sexe"])
|
||||
embed.set_footer(text=f"Nom court (ID): {perso_datas['nom_court']}")
|
||||
embed.set_thumbnail(url=perso_image_url)
|
||||
embed.set_thumbnail(url=perso_datas["image"])
|
||||
return embed
|
Loading…
Add table
Add a link
Reference in a new issue