我想在命令处理程序中使用命令列表,但始终不会调用适当的函数。

getabList = ["getab"]
for x in range(0, 31):
    getabList.append("getab%03d" % (x,))
dp.add_handler(CommandHandler(getabList, self.getab))


仅在定义单个命令时,它才会调用self.getab

这个想法是在发送电报消息时,在命令本身中已经包含参数的命令列表,因为这样我就可以单击消息中的命令,而不必手动输入参数。例如/ getab030与/ getab 030
还是电报消息中有一种方法可以使“ / getab 030”成为链接?
谢谢

最佳答案

这是向CommandHandler添加命令的正确方法

CommandHandler('command string', command_to_execute)

还是举个例子

CommandHandler('getab', self.getab)

第一个参数是将在bot中触发命令的字符串,第二个参数是要执行的函数。您还可以使用第三个参数-pass_args=True来让bot知道此命令后跟参数,并在函数中进行处理。

如果您不想使用pass_args,则可以让用户调用/getab之类的通用命令,并让bot通过键盘上的选项提示用户,单击该选项时,将使用用户选择的值执行适当的命令。 。

10-04 15:42