【发布时间】:2018-06-13 18:15:38
【问题描述】:
我正在开发一个电报机器人。
有命令,在我的情况下是
/leaderboard
命令可以有参数(基本上是命令后面的任何东西)。
我想为页面添加一个参数 int,为类别添加一个 int 参数。它们都是可选的。
我想这样做:
/leaderboard {page} {category}
所以我可以这样做:
page, category = text.split(" ")
因为两者都是可选的,所以我的问题是:我怎样才能摆脱我不知道第一个参数是指页面还是类别的问题(如果页面未指定并保留为可选)。因为如果用户不指定页面,则类别排在首位。
我想让它变得用户友好。
我在想这样的事情:
/leaderboard page={int} categ={int}
然后
for arg in text.split(" "):
if arg.startswith("page"):
page = arg.split("=")[1]
elif arg.startswith("categ"):
categ = arg.split("=")[1]
我只是在这里写了代码,所以它可能是错误的,但我更担心要使用的概念,而不是代码中的 if。 所以我问你是否有比这些更好的解决方案。提前致谢。
【问题讨论】:
标签: python parameters arguments telegram-bot