加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

一个关于聊天机器人的调用

发布时间:2020-12-17 17:12:35 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/user/bin/python# coding=utf8import osimport jsonimport urllib2import sysreload(sys)sys.setdefaultencoding('utf-8')class Chat(object):key

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#!/user/bin/python
# coding=utf8
import os
import json
import urllib2
import sys

reload(sys)
sys.setdefaultencoding('utf-8')

class Chat(object):
	key = 你申请的api key
	server = "http://www.tuling123.com/openapi/api"

	def init(self):
		os.system("clear")
		print("聊天demo")
		print("---------------")

	def get(self):
		print("你:")
		string = raw_input()
		if string == "quit":
			print("tengteng: byebye")
			return True
		self.send(string)

	def send(self,string):
		uri = self.server + "?key=" + self.key + "&info=" + string
		res = urllib2.urlopen(uri).read()
		res_dict = json.loads(res)
		code = self.checkCode(res_dict["code"])
		if code == False:
			return False
		else:
		    msg = self.productMsg(res_dict,code)
		output = "tengteng: " + msg
		print(output)
		self.get()
		

	# 这里处理错误的相应码
	def checkCode(self,code):
		if code == 40001:
			print("key 长度错误(32位)")
			return False
		elif code == 40002:
			print("请求的内容是空")
			return False
		elif code == 40003:
			print("当天请求的次数超限制")
			return False
		elif code == (40004 or 40005 or 40006 or 40007):
			error_msg = "api服务器错误 #" + code
			print(error_msg)
			return False
		else:
			return code

    # 这里生成输出的信息 里面的代码可以去文档里看
	def productMsg(self,res_dict,code):
		output = res_dict["text"] + "rn"
		text = ""
		if code == 200000:
			text = "请打开 " +  res_dict["url"]
		elif code == 302000:
			ablist = res_dict['list']
			for index in range(len(ablist)):
				alist = ablist[index]
				tmp = alist["article"] + "--" + alist["source"] + "——详情:" + alist["detailurl"] + "rn"
				text += tmp
		elif code == 304000:
			ablist = res_dict['list']
                        for index in range(len(ablist)):
                                alist = ablist[index]
                                tmp = alist["name"] + "--" + alist["count"] + "——详情" + alist["detailurl"] + "rn"
                                text += tmp
		elif code == 305000:
			ablist = res_dict['list']
                        for index in range(len(ablist)):
                                alist = ablist[index]
                                tmp = alist["trainnum"] + "--" + alist["start"] + "(" + alist["starttime"] + ")->" + alist["terminal"] + "(" + alist["endtime"] + ")详情" + alist["detailurl"] + "rn"
                                text += tmp
		elif code == 306000:
			ablist = res_dict['list']
			for index in range(len(ablist)):
                                alist = ablist[index]
                                tmp = alist["flight"] + "--" + alist["route"] + "--起飞时间:" + alist["starttime"] + "--到达时间:" + alist["endtime"] + "--状态:" + alist["state"] + "--详情:" + alist["detailurl"] + "rn"
                                text += tmp
		elif code == 308000:
			ablist = res_dict['list']
                        for index in range(len(ablist)):
                                alist = ablist[index]
                                tmp = alist["name"] + "--" + alist["info"] + "——详情:" + alist["detailurl"] + "rn"
                                text += tmp
		elif code == 309000:
			ablist = res_dict['list']
                        for index in range(len(ablist)) :
                                alist = ablist[index]
                                tmp = alist["name"] + "-------" + alist["price"] + "--------" + alist["satisfaction"]
           			text += tmp
		elif code == 311000:
			ablist = res_dict['list']
                        for index in range(len(ablist)) :
                                alist = ablist[index]
                                tmp = alist["name"] + "-------" + alist["price"] + "--详情:" + alist["detailurl"]
                                text += tmp
		elif code == 500000:
			text += "不知道你说的什么"
		
		return output + text

if __name__ == "__main__":
	chat = Chat()
	chat.init()
	chat.get()

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读