【问题标题】:Grabbing user's messages with command使用命令抓取用户的消息
【发布时间】:2021-05-22 07:37:49
【问题描述】:

我正在写一个非常简单的 discord py bot 命令,它返回用户在说出$send_back 后写的句子:

@client.command()
async def send_back(ctx,sentence):
    await ctx.send(sentence)

我希望我的机器人返回完整的句子,但问题是它只返回句子的第一个单词:

用户:$send_back 最新消息!

机器人:什么

解决此问题的最佳方法是什么?我不想使用client.wait_for("message"),我希望这发生在一条消息中。

【问题讨论】:

    标签: discord.py


    【解决方案1】:

    作为 Łukasz Kwieciński 答案的替代方案,您还可以使用 *args 将所有没有关键字的参数作为元组捕获:

    @client.command()
    async def send_back(ctx, *sentence):
        # sentence = ("whats", "upp!")
        await ctx.send(" ".join(sentence))
    

    【讨论】:

      【解决方案2】:

      对于多字输入,请使用仅关键字 (*) 参数

      @client.command()
      async def send_back(ctx, *, sentence):
          await ctx.send(sentence)
      

      Keyword-only arguments

      【讨论】:

        猜你喜欢
        • 2021-08-15
        • 1970-01-01
        • 2019-11-25
        • 2020-11-02
        • 2022-12-15
        • 1970-01-01
        • 1970-01-01
        • 2011-09-08
        • 1970-01-01
        相关资源
        最近更新 更多