Python Twitch bot!addcom难度

时间:2015-05-30 19:59:34

标签: python twitch

我正在使用Python创建一个Twitch机器人,因为mIRC开始要求我付费,所以我选择了更简单,更自由的东西!我目前的问题是我想制作一个命令(!addcom),主持人可以在其中添加其他用户可以使用的命令。

例如,!addcom !test This is a test会将!test This is a test写入文件或Python文件本身,然后有人可以!test,并在聊天中说This is a test。目前我正在努力找到一个很好的方法来做到这一点,这就是我到目前为止所做的:

def command_addcom():
    file = open("test.txt", "w")
    msg = input('')
    file.write(msg)
    file.close()
    send_message(CHAN,'Command added (testing)')

不幸的是,这只是在命令提示符中要求输入而根本没有帮助。我很乐意直接从聊天中获取文本并将其放在文件中。很抱歉,我没有太多的代码可以显示,但这就是现在的整个命令!谢谢你提前帮忙。

1 个答案:

答案 0 :(得分:0)

我建议你在python dict中保存所有用户定义的命令。例如,在您的示例中,将是

command['!test'] = 'This is a test'

对于你提到的保存问题,我建议使用json模块。 保存在命令 dict

之上
with file('setting.json','w') as settingFile
    json.dump(command, settingFile)

每次bot init,都应该从实际的json文件中加载命令 dict

with file('setting.json','r') as settingFile:
    command = json.load(settingFile)

所以你现在在程序

中有用户定义的命令dict

最后,在您的用户消息解析器(这里我假设它是userMessage)中,您应该检查是否可以在命令 dict中找到用户命令。尝试

userCommand = userMessage.split(' ')[0]
if command[userCommand]:
    # sendmsg to Twicth IRC
    print command[userCommand]

官方python文档应提供有关如何使用json模块的足够信息,或者您可以尝试ConfigParser