【问题标题】:Possible for discord bot to reply to message that the message calling the bot replied too?不和谐机器人可以回复调用机器人的消息也回复的消息吗?
【发布时间】:2021-09-11 15:26:17
【问题描述】:

抱歉,这很难解释,但我很好奇机器人是否有办法回复机器人呼叫正在回复的消息。假设有人在问一个问题,我有一个问答机器人,但提问的人忘记给机器人打电话。我怎样才能做到这一点,以便我可以通过机器人呼叫和问题来回复他们的问题,但让机器人回复我正在回复的同一条消息(而不是回复给我打电话的人)

我希望这是有道理的,哈哈。如果对这个问题感到困惑,也许这会澄清。

A 提出问题(消息 1)

B 回复消息 1 并呼叫机器人并向机器人提问(消息 2)

机器人回复消息 1 并回答了 B 在消息 2 中提出的问题。

在 python discord.py 中这样的事情可能吗?提前谢谢!

【问题讨论】:

    标签: python discord.py


    【解决方案1】:

    如果我正确理解您的问题,您想回复已回复的消息,对吗?如果是,那么您可以使用message.reference 实现此目的。下面的代码会回复回复的消息

    @bot.command()
    async def reply(ctx, arg):
        reference = ctx.message.reference
        if reference is None:
            return await ctx.reply("You did not reply to any message")
        await reference.resolved.reply(arg)
    

    这首先获取引用(回复)的消息,然后检查它是否为无(如果没有回复),如果没有则发送消息并停止函数,否则如果有回复消息则它改为使用提供的 arg 回复该消息

    一个例子:

    您可能还想检查discord.DeletedReferencedMessage,以防回复的消息被删除

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-19
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 2022-01-09
      • 2018-06-17
      • 2020-12-20
      相关资源
      最近更新 更多