TwitchPlays:精确的Python键盘输入帧/秒&;允许多个输入

TwitchPlays:精确的Python键盘输入帧/秒&;允许多个输入,python,Python,我一直在为TwitchPlays编写代码。到目前为止,我已经成功地从文本中获得了直接的键盘输入,但我希望在按键输入上有更精确的精度(例如,)。有一个明显的跳跃、下、左、右、破折号命令,但是你可以从视频剪辑中看到,观看者可以选择通过在其后添加任何帧编号来允许按住按钮,从而使输入更加准确(即文本“Jump 25”转换为按住跳跃按钮——或“C”保持观看者想要的帧数或秒数) 这是我的代码(这一部分对于这个对话来说是无用的,但我把它放在这里是为了上下文)(同样对于直接键导入,我只是使用了来自的代码) 这是

我一直在为TwitchPlays编写代码。到目前为止,我已经成功地从文本中获得了直接的键盘输入,但我希望在按键输入上有更精确的精度(例如,)。有一个明显的跳跃、下、左、右、破折号命令,但是你可以从视频剪辑中看到,观看者可以选择通过在其后添加任何帧编号来允许按住按钮,从而使输入更加准确(即文本“Jump 25”转换为按住跳跃按钮——或“C”保持观看者想要的帧数或秒数)

这是我的代码(这一部分对于这个对话来说是无用的,但我把它放在这里是为了上下文)(同样对于直接键导入,我只是使用了来自的代码)

这是我需要改变的命令部分

while True:
    new_messages = t.twitch_recieve_messages();

    if not new_messages:
        continue
    else:
        for message in new_messages:
            msg = message['message'].lower()
            username = message['username'].lower()
            print(username + ": " + msg.encode('utf-8'));
            if msg == "dash": 
                PressKey(C)
                time.sleep(0.1)
                ReleaseKey(C);
            if msg == "jump":
                PressKey(Z)
                time.sleep(0.1)
                ReleaseKey(Z);
我还能够运行Dash和Jump命令,但是我如何编写它,以便有人在twitch上输入“Dash”,它将转换为输入C(目前,由于我没有特定于“Dash-Dash”的命令,python无法理解,只有一个“Dash”命令)。我希望能够灵活地输入任意数量的命令(即短跑跳跃短跑跳跃),而无需专门添加该命令

很抱歉代码混乱,非常感谢您的帮助。谢谢

想一想:

msg=message['message']。
用户名=消息['username'].lower()
打印(用户名+“:”+消息编码('utf-8');
commands=msg.split(“”)
对于命令中的命令:
如果命令==“破折号”:
按键(C)
睡眠时间(0.1)
释放键(C);
elif命令==“跳转”:
按键(Z)
睡眠时间(0.1)
释放键(Z);

这应该能奏效。我从您的代码中了解到,输入是由用户提供的,因此请确保在输入之前对输入进行清理

哇,太谢谢你了!msg.split在分离和允许多个输入方面绝对有效!
while True:
    new_messages = t.twitch_recieve_messages();

    if not new_messages:
        continue
    else:
        for message in new_messages:
            msg = message['message'].lower()
            username = message['username'].lower()
            print(username + ": " + msg.encode('utf-8'));
            if msg == "dash": 
                PressKey(C)
                time.sleep(0.1)
                ReleaseKey(C);
            if msg == "jump":
                PressKey(Z)
                time.sleep(0.1)
                ReleaseKey(Z);