有没有办法在Telegrambot中阻止命令一段时间



我和我的团队目前正在编程一个电报机(在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

最新更新