python微信机器人之小i
2016-03-15 10:28
387 查看
前面介绍了图灵机器人的接入,但是在后面的聊天中发现这个鬼的智能化程度太低了,聊天一点都不好玩,不说和siri比吧,和我以前接触过的小i都没法比,
所以在顺着图灵的做法,把小i也嵌入进去了
微信接口还是用的wxbot这个框架,虽然这个框架不在地,代码变量的设置啊,还有部分功能的不完善,但是目前也懒的去找了,能用就行
小i的接口相对比较麻烦,他有一个header,而且其中还有他自己的加密算法,当然了,一步步的走下去也不麻烦,然而,,python是什么?我怎么可能自己去写呢,,果断google啊,serach:小i机器人api接口。 还真尼玛找到了,在csdn上别人实现的一个方法,然后就没有然后了,
把图灵接入微信的代码直接拷贝过来修改了一下接口,就没有了,
看起来貌似很简单,,,其实也确实简单,接口什么的都已经有了,直接嵌入就好了,而且别人都封装的挺好的了,
我在后面加了一个get函数,算是提取了一个接口吧,
想了会,
还是把微信和机器人的接口代码放上来吧
所以在顺着图灵的做法,把小i也嵌入进去了
微信接口还是用的wxbot这个框架,虽然这个框架不在地,代码变量的设置啊,还有部分功能的不完善,但是目前也懒的去找了,能用就行
小i的接口相对比较麻烦,他有一个header,而且其中还有他自己的加密算法,当然了,一步步的走下去也不麻烦,然而,,python是什么?我怎么可能自己去写呢,,果断google啊,serach:小i机器人api接口。 还真尼玛找到了,在csdn上别人实现的一个方法,然后就没有然后了,
把图灵接入微信的代码直接拷贝过来修改了一下接口,就没有了,
看起来貌似很简单,,,其实也确实简单,接口什么的都已经有了,直接嵌入就好了,而且别人都封装的挺好的了,
def XiaoI(): test_key = "ytsqcyFYsFou" test_sec = "N32kQFnQo12AxaekmwBM" signature_ask = xiaoi.ibotcloud.IBotSignature(app_key=test_key, app_sec=test_sec, uri="/ask.do", http_method="POST") signature_reg = xiaoi.ibotcloud.IBotSignature(app_key=test_key, app_sec=test_sec, uri="/recog.do", http_method="POST") signature_tts = xiaoi.ibotcloud.IBotSignature(app_key=test_key, app_sec=test_sec, uri="/synth.do", http_method="POST") params_tts = xiaoi.ibotcloud.TTSParams(url="http://vcloud.xiaoi.com/synth.do") params_reg = xiaoi.ibotcloud.RegParams(url="http://vcloud.xiaoi.com/recog.do") params_ask = xiaoi.ibotcloud.AskParams(platform="custom", user_id="abc", url="http://nlp.xiaoi.com/ask.do", response_format="xml") ask_session = xiaoi.ibotcloud.AskSession(signature_ask, params_ask) return ask_session #reg_session = xiaoi.ibotcloud.RegSession(signature_reg, params_reg) #tts_session = xiaoi.ibotcloud.TTSSession(signature_tts, params_tts) def getanswer(text): return XiaoI().get_answer(text).http_body#.encode('gbk')
我在后面加了一个get函数,算是提取了一个接口吧,
想了会,
还是把微信和机器人的接口代码放上来吧
tulinoc = TuLin() class MyWXBot(WXBot): def handle_msg_all(self, msg): if msg['msg_type_id'] == 4 and msg['content']['type'] == 0: tulinoc.sendTextToTuLin(msg['content']['data']) self.send_msg_by_uid(tulinoc.getReturnText(), msg['user']['id']) if msg['msg_type_id'] == 3 and msg['content']['type'] == 0: tulinoc.sendTextToTuLin(msg['content']['desc']) self.send_msg_by_uid(tulinoc.getReturnText(), msg['user']['id']) if msg['msg_type_id'] == 5 and msg['content']['type'] == 0: tulinoc.sendTextToTuLin(msg['content']['data']) self.send_msg_by_uid(tulinoc.getReturnText(), msg['user']['id']) def getUserID(self): CityinwuhanID = [] userCityName = u'徐州' for user in self.contact_list: if userCityName == user['City'].encode('utf-8'): CityinwuhanID.append(self.get_user_id(user['NickName'])) #else: #print "city:%s" %user['City'].encode('utf-8') return CityinwuhanID ''' def schedule(self): userIDList = self.getUserID() for userID in userIDList: self.send_msg_by_uid('你好,我是图灵,一个自动化机器人,收到请不要回复,打扰了',userID) self.send_msg(u'7小媛',self.get_contact_name(userID)['nickname'].encode('utf-8')) time.sleep(10) ''' def main(): bot = MyWXBot() bot.DEBUG = True bot.run() if __name__ == '__main__': main()
相关文章推荐
- Python程序的执行过程
- python 微信机器人之图灵
- python内存管理机制
- python学习笔记(3)-进程和线程(一)-多进程
- 用 ElementTree 在 Python 中解析 XML
- python之控制台(console)颜色显示
- Python之路:进程、线程
- python 多线程
- python twisted 建立服务器
- python实现简单爬虫抓取图片
- [转]Python Dict 用法
- Python基础语法(一)
- Python设计模式(9)-外观模式
- Python设计模式(9)-外观模式
- Python设计模式(8)-抽象工厂
- python利用or在列表解析中调用多个函数.py
- [python] LDA处理文档主题分布及分词、词频、tfidf计算
- Python回顾与整理3:数字
- Python回顾与整理3:数字
- Python爬虫_获取贴吧内容