如何从消息ID获取消息内容/嵌入?

时间:2020-05-19 04:55:53

标签: python python-3.x discord discord.py-rewrite

我想知道如何从message id获取消息内容(特别是嵌入内容)吗?就像您可以使用member id

获取成员一样

1 个答案:

答案 0 :(得分:2)

on_raw_reaction_add()示例:

@bot.event
async def on_raw_reaction_add(payload):
    channel = bot.get_channel(payload.channel_id)
    msg = await channel.fetch_message(payload.message_id)
    embed = msg.embeds[0]
    # do something you want to

命令示例:

@bot.command()
async def getmsg(ctx, channel: discord.TextChannel, msgID: int):
    msg = await channel.fetch_message(msgID)
    await ctx.send(msg.embeds[0].description)

在我要传递的命令channelmsgID中,因此示例命令执行将像!getmsg #general 112233445566778899一样-通道必须与您正在执行的命令位于同一服务器中命令!

然后,我使用fetch_message()协程获取消息对象,这使我可以在所述消息中获取embeds的列表。然后,我通过选择位置索引0来选择第一个也是唯一的嵌入。

然后,机器人将发送嵌入的描述(或您想要的任何属性)。


参考: