Python聊天机器人
大约 2 分钟
本文介绍使用Python调用图灵机器人api来实现一个能聊天的机器人
1.获取接入秘钥
为了接入图灵机器人,需要先到官网申请一个接入秘钥,图灵官网地址
接下来,申请账号并创建一个机器人,然后在设置中找到api
2.编写代码接入
接下来编写Python代码,如下:
# 获得图灵机器人回复
# 需要传入两个参数,Msg内容是文本或者表情,返回值就是回复内容
# Key是接入图灵机器人需要的秘钥,需要自己到官网获取
def get_response(Msg, Key, Userid='ItChat'):
url = 'http://www.tuling123.com/openapi/api'
payloads = {
'key': Key,
'info': Msg,
'userid': Userid,
}
try:
r = requests.post(url, data=json.dumps(payloads)).json()
except ConnectionError:
return None
if not r['code'] in (100000, 200000, 302000, 308000, 313000, 314000):
return
if r['code'] == 100000: # 文本类
return '\n'.join([r['text'].replace('<br>', '\n')])
elif r['code'] == 200000: # 链接类
return '\n'.join([r['text'].replace('<br>', '\n'), r['url']])
elif r['code'] == 302000: # 新闻类
l = [r['text'].replace('<br>', '\n')]
for n in r['list']:
l.append('%s - %s' % (n['article'], n['detailurl']))
return '\n'.join(l)
elif r['code'] == 308000: # 菜谱类
l = [r['text'].replace('<br>', '\n')]
for n in r['list']:
l.append('%s - %s' % (n['name'], n['detailurl']))
return '\n'.join(l)
elif r['code'] == 313000: # 儿歌类
return '\n'.join([r['text'].replace('<br>', '\n')])
elif r['code'] == 314000: # 诗词类
return '\n'.join([r['text'].replace('<br>', '\n')])
3.运行测试
传入参数执行上述代码,我们来看看结果:
我: 你好!
机器人: 好呀,你也好啊
我: 你是谁?
机器人: 在下yooongchun,请多多指教。
我: 你在干什么?
机器人: 专心致志,一心一意的陪你聊天。
我: hello
机器人: 你好
我: 找死啊你
机器人: 你连生气的样子都这么可爱哇