我正在使用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)')不幸的是,这只要求在命令提示符中输入,根本没有帮助。我希望它能直接从聊天中获取文本,并将其放入文件中。对不起,我没有太多的代码要显示,但这是整个命令的现状!谢谢你提前提供帮助。
发布于 2015-06-29 02:51:19
我建议您将所有用户定义的命令保存在python中。例如,在您的例子中,应该是
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。
https://stackoverflow.com/questions/30550768
复制相似问题