discord.py 回复用户回复的特定消息

时间:2021-07-23 19:02:58

标签: python discord.py

所以基本上,我的机器人发送图片作为反应(喘息表情包)并删除用户的消息。 我想要做的是,如果用户发送命令作为回复,机器人也应该回复该特定消息。

是否可以修改以下命令以响应带有 id 的特定消息?

    async def wheeze(ctx):
    name = ctx.message.author.display_name
    await ctx.message.delete()
    if ctx.reference is not None and not ctx.is_system :
       messageid = await ctx.channel.fetch_message(ctx.message.reference.message_id)
       await ctx.reply(name + " wheezed", file = discord.File('wheeze.jpg')) #reply to a specific message with its id
    else:
       await ctx.send(name + " wheezed", file = discord.File('wheeze.jpg'))

我得到了 messageid = await ctx.channel.fetch_message(ctx.message.reference.message_id) 来自另一个 stackoverflow 帖子,所以我真的不知道它是否有效。

1 个答案:

答案 0 :(得分:1)

@bot.command()
async def wheeze(ctx):
    name = ctx.message.author.display_name
    await ctx.message.delete()
    if ctx.message.reference is not None:
       message = await ctx.channel.fetch_message(ctx.message.reference.message_id)
       await message.reply(name + " wheezed", file = discord.File('wheeze.jpg')) #reply to a specific message with its id
    else:
       await ctx.send(name + " wheezed", file = discord.File('wheeze.jpg'))

您要回复消息,而不是回复已删除的 ctx。