如何限制用Python编写的IRC bot中的命令?
例如我有:
data. = irc.recv(2048)
if data.find("^cmd",7) != -1:
irc.send('PRIVMSG ' + channel + ' :' + 'do_something' + '\r\n')
但是如果有任何用户写bla bla ^cmdblabla
它也会有效。我不想要它,所以我怎么能限制它呢?试过len()
但是没有机会这样做。似乎regexp也无济于事。
答案 0 :(得分:1)
您需要使用允许的参数编写元组。例如:
commands = ("some_command", "other_command", "this_continues")
然后只是:
if not command in commands:
print("Unrecognized command.")
您必须先解析数据才能获得命令。也许是这样的:
command = data[:data.find(" ")]
# And here the code above
希望它有所帮助。