三个机器人尬聊

一个调用腾讯API,一个调用图灵API,一个调用青云API。

原来写过了调用腾讯聊天API的,今天就不解释了,直接复制。

腾讯API获取参数的文件

import hashlib  
import time  
import random  
import string  
from urllib.parse import quote  

def curlmd5(src):  
    m = hashlib.md5(src.encode('UTF-8'))  
    # 将得到的MD5值所有字符转换成大写
    return m.hexdigest().upper()

def get_params(plus_item):
    # 请求时间戳(秒级),用于防止请求重放(保证签名5分钟有效)  
    t = time.time()
    time_stamp=str(int(t))
    # 请求随机字符串,用于保证签名不可预测  
    nonce_str = ''.join(random.sample(string.ascii_letters + string.digits, 10))  
    # 应用标志,这里修改成自己的id和key  
    app_id = '11066xxxx'  
    app_key = 'Wz0bsFWuNGxxxx'
    params = {'app_id':app_id,  
              'question':plus_item,
              'time_stamp':time_stamp,
              'nonce_str':nonce_str,
              'session':'10000'
             }
    sign_before = ''
    # 要对key排序再拼接  
    for key in sorted(params):
        # 键值拼接过程value部分需要URL编码,URL编码算法用大写字母,例如%E8。quote默认大写。  
        sign_before += '{}={}&'.format(key,quote(params[key], safe=''))  
    # 将应用密钥以app_key为键名,拼接到字符串sign_before末尾  
    sign_before += 'app_key={}'.format(app_key)
    # 对字符串sign_before进行MD5运算,得到接口请求签名  
    sign = curlmd5(sign_before) 
    params['sign'] = sign
    return params

然后就是三人尬聊的文件,看了很久,或许他们在聊一些重复的内容,而且这也不是三个机器人在一起聊,聊天内容是单点传送,不知道有什么共享方式。

from time import sleep
import requests  
import md5sign  

def get_content(plus_item):  
    # 聊天的API地址  
    url = "https://api.ai.qq.com/fcgi-bin/nlp/nlp_textchat"    
    # 获取请求参数
    plus_item = plus_item.encode('utf-8')
    payload = md5sign.get_params(plus_item)  
    # r = requests.get(url,params=payload)  
    r = requests.post(url,data=payload).json()
    return r["data"]["answer"]

def get_text(s):
    resp = requests.post("http://www.tuling123.com/openapi/api",
                        data={"key": "4fede3c4384846b9a7d0456a5e1e2943", "info": s, })  
    resp = resp.json()
    return resp['text']

def get_qy(s):
    resp = requests.get("http://api.qingyunke.com/api.php", {'key': 'free', 'appid': 0, 'msg': s})  
    resp.encoding = 'utf8'  
    resp = resp.json()
    return resp['content']

if __name__ == '__main__':  
    a = input('我:')
    while True:
        a = get_text(a)
        print('图灵:',a)
        sleep(1)
        a = get_content(a)
        print('美女:',a)
        sleep(1)
        a = get_qy(a)
        print("青云:",a)
        sleep(1)

看起来还挺智能的,不过它们的聊天没有任何主题


猜你喜欢

转载自blog.csdn.net/sily75/article/details/80283079