我有一个简单的问题,我想向机器人添加一个命令,如果用户使用该命令回复消息,机器人将获取该消息以及用户回复的消息的作者并将其保存到数据库,这很容易完成。现在我还想向这个函数添加一个条件,如果用户使用相同的命令而不回复而是写一条消息并标记另一个用户,它会将消息和标记的用户存储在一个变量中以用于数据库。如果用户在没有任何消息的情况下使用该命令并且只标记用户,则它会告诉用户他们需要添加一条消息,或者相反,他们需要标记用户。
let x = HashSet::<String>::from_iter(vec![Empty, Empty]);
这是我到目前为止的想法,但它似乎不起作用,因为在测试以查看会发生什么时,即使我使用相同的方法为其他命令标记用户,消息始终不返回任何内容并且成员仅返回对象.文档中是否有我遗漏的内容?
答案 0 :(得分:0)
你的问题有点不清楚。但我会在阅读时尝试回答。
我认为该模块不能很好地适应您定义参数的方式。它应该是 commandme(ctx, member=None, *message)
。因为您希望将 message
收集在一个元组中。
commandme
的调用者必须像这样传递参数 ctx, Member, message=Message
。那就是“message”参数作为关键字传递并且只有 1 个对象,而 member
参数将收集所有内容到一个元组中。