首先项目需要的包
import urllib.request import urllib.parse from tkinter import * import time
函数部分
说明:调用服务器接口,实现非特定智能回复
def get_robot_replay(question): \'\'\' 函数功能:对于特定的问题进行特定的回答,对于其他非特定的问题进行智能回复 参数描述: question:聊天内容或者问题 返回值:str,回复内容 \'\'\' if "你叫什么名字"in question: answer ="我是游游" elif "你多少岁"in question: answer="18" elif "你是GG还是MM"in question: answer="MM" else: try: # 调用NLP接口实现智能回复 params=urllib.parse.urlencode({\'msg\':question}).encode() #将str转换成字节类型,参数接口需要进行URL编码 req = urllib.request.Request("http://api.itmojun.com/chat_robot",params,method="POST")#创建请求对象 answer=urllib.request.urlopen(req).read().decode()#调用接口(向目标服务器发送HTTP请求) except Exception as e: answer="AI机器人出现故障!(原因:%s)" % e return answer
回复格式方面以及界面设计
def msgsend(): msg = \'我\' + time.strftime(\'%Y-%m-%d %H:%M:%S\', time.localtime()) + \'\n\' txt_msglist.insert(END, msg, \'green\') # 添加时间 txt_msglist.insert(END, txt_msgsend.get(\'0.0\', END)) # 获取发送消息,添加文本到消息列表 msg1 = \'游游大宝贝\' + time.strftime(\'%Y-%m-%d %H:%M:%S\', time.localtime()) + \'\n\' txt_msglist.insert(END, msg1, \'green\') # 添加时间 txt_msglist.insert(END,get_robot_replay(txt_msgsend.get(\'0.0\', END))) txt_msgsend.delete(\'0.0\', END) # 清空发送消息 def cancel(): txt_msgsend.delete(\'0.0\', END) # 取消发送消息,即清空发送消息 \'\'\'绑定up键\'\'\' def msgsendEvent(event): if event.keysym == \'Up\': msgsend()
聊天界面设计(原文获取源代码)