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")
|
# print("ok")
|
||||||
short_name = row["nom_court"]
|
short_name = row["nom_court"]
|
||||||
full_name = row["nom_complet"]
|
full_name = row["nom_complet"]
|
||||||
perso_image = row["image"] #data:image/png;base64,xxxxxx
|
perso_image = row["image"]
|
||||||
perso_image_b64=perso_image.split(",")[1]
|
|
||||||
perso_image_raw = base64.b64decode(perso_image_b64)
|
|
||||||
print(perso_image_raw)
|
|
||||||
# print(short_name,full_name,perso_image)
|
# print(short_name,full_name,perso_image)
|
||||||
webhook = None
|
webhook = None
|
||||||
# print("ok2")
|
# print("ok2")
|
||||||
if discord.utils.get(await channel.webhooks(),name=short_name) is None:
|
if discord.utils.get(await channel.webhooks(),name=short_name) is None:
|
||||||
# print("ok3");
|
# print("ok3");
|
||||||
webhook = await channel.create_webhook(name=short_name,avatar=perso_image_raw)
|
webhook = await channel.create_webhook(name=short_name)
|
||||||
# print("ok4")
|
# print("ok4")
|
||||||
else:
|
else:
|
||||||
# print("ok5")
|
# 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("ok6")
|
||||||
# print("ok7")
|
# print("ok7")
|
||||||
await webhook.send(message,username=full_name)
|
await webhook.send(message,username=full_name)
|
||||||
|
|
|
@ -9,7 +9,7 @@ import io
|
||||||
_sql_table="""CREATE TABLE personnages (
|
_sql_table="""CREATE TABLE personnages (
|
||||||
nom_court varchar(255),
|
nom_court varchar(255),
|
||||||
nom_complet text,
|
nom_complet text,
|
||||||
image blob,
|
image text,
|
||||||
histoire text,
|
histoire text,
|
||||||
pouvoirs text,
|
pouvoirs text,
|
||||||
uuid TEXT,
|
uuid TEXT,
|
||||||
|
@ -46,15 +46,13 @@ class PersoCommands(app_commands.Group):
|
||||||
uuid=interaction.user.id
|
uuid=interaction.user.id
|
||||||
guild_id = interaction.guild.id
|
guild_id = interaction.guild.id
|
||||||
image_blob_raw=await image.read()
|
image_blob_raw=await image.read()
|
||||||
image_blob_b64 = base64.b64encode(image_blob_raw).decode("utf-8")
|
a = await self.bot.get_guild(1037663859621765160).get_channel(1317876780635394068).send(file=discord.File(io.BytesIO(image_blob_raw),filename=image.filename))
|
||||||
ext = image.filename.split(".")[-1]
|
perso_image_url = a.attachments[0].url
|
||||||
image_blob=f"data:image/{ext};base64,{image_blob_b64}"
|
|
||||||
print(nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,guild_id)
|
print(nom_court,nom_complet,histoire,pouvoirs,age,sexe,uuid,guild_id)
|
||||||
print(image.filename)
|
print(image.filename)
|
||||||
print(image.url)
|
print(image.url)
|
||||||
print(image_blob)
|
|
||||||
try:
|
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)
|
print(res)
|
||||||
await res.close()
|
await res.close()
|
||||||
await self.bot.db.commit()
|
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:
|
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 = discord.Embed(title=perso_datas["nom_complet"],description=perso_datas["histoire"])
|
||||||
embed.add_field(name="Pouvoirs",value=perso_datas["pouvoirs"])
|
embed.add_field(name="Pouvoirs",value=perso_datas["pouvoirs"])
|
||||||
embed.add_field(name="Age",value=perso_datas["age"])
|
embed.add_field(name="Age",value=perso_datas["age"])
|
||||||
embed.add_field(name="Sexe",value=perso_datas["sexe"])
|
embed.add_field(name="Sexe",value=perso_datas["sexe"])
|
||||||
embed.set_footer(text=f"Nom court (ID): {perso_datas['nom_court']}")
|
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
|
return embed
|
Loading…
Add table
Add a link
Reference in a new issue