我想在命令处理程序中使用命令列表,但始终不会调用适当的函数。
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通过键盘上的选项提示用户,单击该选项时,将使用用户选择的值执行适当的命令。 。