Discord.py Изтритите съобщения не възстановяват снимки

В моя discord бот имам функция, която събира изтритите съобщения и ги насочва към канал на отделен сървър. Това работи перфектно за текст, но отказва да работи за изображения. Някой има ли съвети как мога да накарам това да работи за изображения?

Ето какво имам в моето събитие:

@commands.Cog.listener()
async def on_message_delete(self, message):
    #print(f"{message.author} deleted a message in #{message.channel}: {message.content}") #Tells the Console about the deleted message
    if message.author == self.client.user:
        return
    elif message.author.bot == True:
        return
    now = datetime.now() #Grabs the current time
    current_time=now.strftime("%H:%M:%S") #Formats the current time into a readable form.
    current_date=now.strftime("%d/%m/%Y") #Formats the current date into a readable form.
    delete_embed=discord.Embed(title = f"Message Deleted", description= f'**User:** <@{message.author.id}>\n**Channel:** <#{message.channel.id}>\n**Server:** {message.guild}\n**Message:** \n{message.content}', color=0xbf0404)
    delete_embed.set_footer(text=f"Message ID: {message.id}\nDate: {current_date} • Time: {current_time}")
    delete_embed.set_author(name =f"{message.author}", icon_url=f"{message.author.avatar_url}") 
    archive_delete=self.client.get_channel(789080972309168139) #Grabs the ID of the Deleted Messages Channel where the archive is to be stored.
    try:
        delete_embed.set_image(url=message.attachments[0].url)
    except IndexError:
        pass
    await archive_delete.send(embed=delete_embed)
    files=open("DeletedMessages.txt", "a") #Open the text file containing a backup of the deleted messages.
    files.write(f"{message.author}'s message in #{message.channel} in {message.guild} was deleted at {current_time}: '{message.content}'\n")       

person Benny    schedule 31.12.2020    source източник


Отговори (1)


Опитайте да използвате .proxy_url вместо .url:

delete_embed.set_image(url=message.attachments[0].proxy_url)

Препратки:

  • Attachment.proxy_url – Когато съобщението бъде изтрито, този URL може да е валиден за няколко минути или изобщо да не е валиден.
person Diggy.    schedule 31.12.2020
comment
Това е единствената реална възможност, в противен случай ще трябва сами да архивирате изображенията на съобщенията. - person chluebi; 01.01.2021