首先項目須要的包api
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()
聊天界面設計(原文獲取源代碼)編碼
原文地址:https://developer.aliyun.com/...url