Python 로봇 채 팅 어떻게 실현
그래서 간단 한 Python 채 팅 을 썼 습 니 다.소스 코드 는 다음 과 같 습 니 다.
# -*- coding: utf-8 -*-
import aiml
import sys
import os
def get_module_dir(name):
print("module", sys.modules[name])
path = getattr(sys.modules[name], '__file__', None)
print(path)
if not path:
raise AttributeError('module %s has not attribute __file__' % name)
return os.path.dirname(os.path.abspath(path))
alice_path = get_module_dir('aiml') + '\\botdata\\alice'
os.chdir(alice_path) #
alice = aiml.Kernel() # alice
alice.learn("startup.xml") # ...\\botdata\\alice\\startup.xml
alice.respond('LOAD ALICE') # ...\\botdata\\alice
while True:
message = input("Enter your message >> ")
if("exit" == message):
exit()
response = alice.respond(message) #
print(response)
메모:모듈 을 찾 을 수 없 을 때 pip 를 사용 하여 해당 모듈 을 설치 하 십시오.효과 도 는 다음 과 같다.
유일한 옥 에 티 는 영어 이지 만 괜찮아 요.국내 에 투 령 로봇 이 있어 요.
코드 는 다음 과 같다.
from urllib.request import urlopen,Request
from urllib.error import URLError
from urllib.parse import urlencode
import json
class TuringChatMode(object):
"""this mode base on turing robot"""
def __init__(self):
# API
self.turing_url = 'http://www.tuling123.com/openapi/api?'
def get_turing_text(self,text):
''' : HTTP POST
:
key 32 APIkey
info 1-32 , "utf-8"
userid 32 MAC ID
'''
turing_url_data = dict(
key = 'fcbf9efe277e493993e889eabca5b331',
info = text,
userid = '60-14-B3-BA-E1-4D',
)
# print("The things to Request is:",self.turing_url + urlencode(turing_url_data))
self.request = Request(self.turing_url + urlencode(turing_url_data))
# print("The result of Request is:",self.request)
try:
w_data = urlopen(self.request)
# print("Type of the data from urlopen:",type(w_data))
# print("The data from urlopen is:",w_data)
except URLError:
raise IndexError("No internet connection available to transfer txt data")
# ,
except:
raise KeyError("Server wouldn't respond (invalid key or quota has been maxed out)")
#
response_text = w_data.read().decode('utf-8')
# print("Type of the response_text :",type(response_text))
# print("response_text :",response_text)
json_result = json.loads(response_text)
# print("Type of the json_result :",type(json_result))
return json_result['text']
if __name__ == '__main__':
print("Now u can type in something & input q to quit")
turing = TuringChatMode()
while True:
msg = input("
Master:")
if msg == 'q':
exit("u r quit the chat !") # q, 。
else:
turing_data = turing.get_turing_text(msg)
print("Robot:",turing_data)
효과 도 는 다음 과 같다.로봇 의 지능 이 너무 낮 아서 그런 지 동문서답 이다.
더 많은 하 이 라 이 트 는 투 령 로봇 홈 페이지 에 가서 알 수 있다http://www.tuling123.com
프로 그래 밍 의 세 계 는 재 미 있 습 니 다.탐색 하면 재 미 있 는 일 들 을 많이 발견 할 수 있 습 니 다.
이상 은 Python 이 로봇 채 팅 을 어떻게 실현 하 는 지 에 대한 상세 한 내용 입 니 다.python 이 로봇 채 팅 을 실현 하 는 데 관 한 자 료 는 우리 의 다른 관련 글 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.