【问题标题】:Discord bot in python, check if command is emptypython中的Discord bot,检查命令是否为空
【发布时间】:2021-04-13 15:31:01
【问题描述】:

我有一个简单的问题,我想向机器人添加一个命令,如果用户使用该命令回复消息,机器人会获取该消息以及用户回复的消息的作者并将其保存到数据库,这很容易完成。现在我还想向这个函数添加一个条件,如果用户使用相同的命令而不回复,而是编写消息并标记另一个用户,它将消息和标记的用户存储在一个变量中以用于数据库。如果用户在没有任何消息且只标记用户的情况下使用该命令,则它会告诉用户他们需要添加消息,或者相反,他们需要标记用户。

@bot.command()
async def commandme(ctx,*member=None,message=None):
   if message: 
        if member: 
             #here I execute the command using message and member
   else
     await ctx.send("Please either reply using the command or write a message while tagging a user using teh command")

这是我到目前为止的想法,但它似乎不起作用,因为在测试时查看会发生什么,即使我使用相同的方法为其他命令标记用户,消息总是不返回并且成员只返回对象.我在文档中遗漏了什么吗?

【问题讨论】:

    标签: python discord


    【解决方案1】:

    你的问题有点不清楚。但我会在阅读时尝试回答。

    我认为该模块不能很好地与您定义参数的方式配合使用。应该是commandme(ctx, member=None, *message)。因为您希望将message 收集在一个元组中。

    commandme 的调用者必须像 ctx, Member, message=Message 这样传递参数。那就是将“消息”参数作为关键字传递并且只有 1 个对象,而 member 参数会将所有内容收集在一个元组中。

    【讨论】:

      猜你喜欢
      • 2018-10-21
      • 2021-03-01
      • 2021-04-11
      • 2020-12-25
      • 2022-01-10
      • 2018-12-16
      • 2020-08-11
      • 2021-02-17
      • 2019-03-07
      相关资源
      最近更新 更多