Python 如何从已删除的邮件中获取嵌入内容? @commands.Cog.listener() 原始消息上的异步定义删除(自身,有效负载): 尝试: 康涅狄格州 除: 通过 打印(“已删除”) 通道=self.client.get\u通道(payload.channel\u id) message=wait channel.fetch_message(payload.message_id)#
如果希望嵌入消息,可以使用Python 如何从已删除的邮件中获取嵌入内容? @commands.Cog.listener() 原始消息上的异步定义删除(自身,有效负载): 尝试: 康涅狄格州 除: 通过 打印(“已删除”) 通道=self.client.get\u通道(payload.channel\u id) message=wait channel.fetch_message(payload.message_id)#,python,discord.py,embed,message,Python,Discord.py,Embed,Message,如果希望嵌入消息,可以使用on_message_delete事件,因为它提供消息对象,如下所示: async def on_message_delete(消息):#每次删除消息时触发的事件 尝试: 康涅狄格州 除: 通过 打印(“已删除”) emb=message.embeds 教统局的小微: cursor.execute(f“从建议中删除,其中通道id={message.channel.id}和id={message.guild.id},代码={mes.fields[1].value}”) 康
on_message_delete
事件,因为它提供消息对象,如下所示:
async def on_message_delete(消息):#每次删除消息时触发的事件
尝试:
康涅狄格州
除:
通过
打印(“已删除”)
emb=message.embeds
教统局的小微:
cursor.execute(f“从建议中删除,其中通道id={message.channel.id}和id={message.guild.id},代码={mes.fields[1].value}”)
康涅狄格州提交
我认为错误本身就说明了问题,您无法获取不存在的消息。如何从不存在的消息(嵌入)中获取内容?如果我之前的评论不够明显,您不能。除非它被bot缓存,否则我无法在重启后从旧消息中获取内容
@commands.Cog.listener()
async def on_raw_message_delete(self, payload):
try:
conn.reconnect()
except:
pass
print("deleted")
channel=self.client.get_channel(payload.channel_id)
message=await channel.fetch_message(payload.message_id) #<===========
emb=message.embeds
for mes in emb:
cursor.execute(f"DELETE FROM suggestions WHERE channel_id={payload.channel_id} and id={payload.guild_id} and code={mes.fields[1].value}")
conn.commit()
@commands.Cog.listener()
async def on_raw_message_delete(self, payload):
try:
conn.reconnect()
except:
pass
print("deleted")
channel=self.client.get_channel(payload.channel_id)
message=payload.cached_message
emb=message.embeds #<===========
for mes in emb:
cursor.execute(f"DELETE FROM suggestions WHERE channel_id={payload.channel_id} and id={payload.guild_id} and code={mes.fields[1].value}")
conn.commit()