我和我的团队目前正在编程一个电报机(在python中(,并希望它能按需与您一起玩各种游戏。例如,应该使用命令/game1
来执行游戏。如果游戏进程处于活动状态,则只有游戏命令以及/exit
和/help
才是可能的。有没有一种方法可以用Python编程Telegram机器人程序,在执行方法时阻止某些命令?
假设游戏号1的命令是:/command1
和/command2
,游戏号2的命令是/command3
和/command4
。如果我现在用/game1
玩第一个游戏,那么在我用/exit
结束当前游戏并用/game2
激活第二个游戏之前,应该不可能执行/command3
和/command4
。
只需创建一个字典,将游戏与该游戏允许的命令列表进行映射,然后检查该命令是否包含在该列表中。一种方法可能是
def is_command_allowed(game, command):
game_commands = {
'game1': ['command1', 'command2'],
'game2': ['command3', 'command4'],
}
return command in game_commands[game]
# READ INPUT i.e. game and command (here hardcoded)
# EXAMPLE 1
game = 'game1'
command = 'command3'
is_command_allowed(game, command) # False
# EXAMPLE 2
game = 'game2'
command = 'command4'
is_command_allowed(game, command) # True