• Python实现聊天机器人


    Python接入聊天机器人


    摘要:本文介绍使用Python调用图灵机器人api来实现一个能聊天的机器人

    作者:yooongchun

    微信公众号:yooongchun小屋

    这里写图片描述


    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 '
    '.join([r['text'].replace('<br>', '
    ')])
        elif r['code'] == 200000:  # 链接类
            return '
    '.join([r['text'].replace('<br>', '
    '), r['url']])
        elif r['code'] == 302000:  # 新闻类
            l = [r['text'].replace('<br>', '
    ')]
            for n in r['list']:
                l.append('%s - %s' % (n['article'], n['detailurl']))
            return '
    '.join(l)
        elif r['code'] == 308000:  # 菜谱类
            l = [r['text'].replace('<br>', '
    ')]
            for n in r['list']:
                l.append('%s - %s' % (n['name'], n['detailurl']))
            return '
    '.join(l)
        elif r['code'] == 313000:  # 儿歌类
            return '
    '.join([r['text'].replace('<br>', '
    ')])
        elif r['code'] == 314000:  # 诗词类
            return '
    '.join([r['text'].replace('<br>', '
    ')])
    

    3.运行测试

    传入参数执行上述代码,我们来看看结果:

    我:    你好!
    机器人:        好呀,你也好啊
    我:    你是谁?
    机器人:        在下yooongchun,请多多指教。
    我:    你在干什么?
    机器人:        专心致志,一心一意的陪你聊天。
    我:    hello
    机器人:        你好
    我:    找死啊你
    机器人:        你连生气的样子都这么可爱哇

    4. Have fun!

  • 相关阅读:
    [2012-06-18]awk利用关联数组合并记录
    vue 中axios 的基本配置和基本概念
    django 中自带的加密方法
    哈希密码的使用
    django 中的闪现
    django中数据库的配置及相关增删改查
    sqlalchemy 的设置及使用
    mvc 模式和mtc 模式的区别
    flask 面试题
    flask 中orm关系映射 sqlalchemy的查询
  • 原文地址:https://www.cnblogs.com/yczha/p/13160212.html
Copyright © 2020-2023  润新知