继上一篇调用图灵机器人的玩法后,不满于每天100条的限额,于是!!!又找到了腾讯云产品-智能闲聊,免费!无限额!
申请智能闲聊

1.构建调用api文件:

由于wxpy库没有集成腾讯智能闲聊的api,我们需要自己配置接口,所以会比调用图灵机器人显得麻烦。上python,下面是api.py的内容,主要用于向腾讯云发送请求,并获取回复内容,相当于一个调用api。如下api.py:

###api.py###
import hashlib
import time
import requests
import random
import string
from urllib.parse import quotedef curlmd5(src):m = hashlib.md5(src.encode('UTF-8'))return m.hexdigest().upper()               # 将得到的MD5值所有字符转换成大写def get_params(plus_item):                    #用于返回request需要的data内容global paramst = time.time()                                             #请求时间戳(秒级),(保证签名5分钟有效)time_stamp=str(int(t))nonce_str = ''.join(random.sample(string.ascii_letters + string.digits, 10))            # 请求随机字符串,用于保证签名不可预测  app_id='2135462408'                              # 修改成自己的id  app_key='w3Lv6zsb95T89fay'             # 修改成自己的key  params = {'app_id':app_id,'question':plus_item,'time_stamp':time_stamp,'nonce_str':nonce_str,'session':'10000'}sign_before = ''for key in sorted(params):                      #要对key排序再拼接sign_before += '{}={}&'.format(key,quote(params[key], safe=''))    # 拼接过程需要使用quote函数形成URL编码sign_before += 'app_key={}'.format(app_key)                                           # 将app_key拼接到sign_before后sign = curlmd5(sign_before)params['sign'] = sign                                 # 对sign_before进行MD5运算return params                                              #得到request需要的data内容def get_content(plus_item):global payload,rurl = "https://api.ai.qq.com/fcgi-bin/nlp/nlp_textchat"         # 聊天的API地址  plus_item = plus_item.encode('utf-8')payload = get_params(plus_item)r = requests.post(url,data=payload)                                                 #带参请求api地址result=r.json()["data"]["answer"]return result                                                                                                #获得返回内容

2.与智能闲聊进行聊天

终于将前提基础工作完成了,调用api构建好后,调用智能闲聊也就很简单了,调用wxpy库,初始化和构建自动发送、回复函数和上一章都一样。为了简化工作,本例中只实现自动回复功能,也是最常用的功能。依然上ai.py的代码,用于聊天。ai.py如下:

from wxpy import *
from ai import *                                #导入上一步构建的ai.py文件
bot = Bot()
friend = bot.friends().search('AIbot')[0]@bot.register(friend)
def auto_reply(msg):a=msg.textanswer=get_content(a)if answer=='':                                 #防止返回内容为空for i in range(2):                     time.sleep(2)answer=get_content(a)if answer!='' and answer!="emmmm,我不是很懂你的意思":breakelse:answer="emmmm,我不是很懂你的意思"return '[Stephen] {} '.format(answer)bot.join()

由于访问腾讯api的时候,偶尔会返回空内容,为了避免这种情况,当返回空时,隔2s再请求一次,这般重复3次,如果依然返回空,则自动将返回值设为"emmmm,我不是很懂你的意思"。

3.效果展示:

ps:我已将智能闲聊的名字设为了"Stephen",上图最重要:

腾讯智能闲聊的智能化程度也挺高,日常闲聊也没有太大问题,有些回答甚至比图灵机器人还要讨喜,各有千秋吧。最关键的是免费!不限额!
尽管wxpy功能很强大,但是部分用户无法登陆微信网页版,也就无法体验wxpy的服务了,可以说是很可惜了!

如有错误或建议,请在评论处指出!

python+微信+腾讯智能闲聊相关推荐

  1. python微信集成_python+微信+腾讯智能闲聊

    继上一篇调用图灵机器人的玩法后,不满于每天100条的限额,于是!!!又找到了腾讯云产品-智能闲聊,免费!无限额! 申请智能闲聊 1.构建调用api文件: 由于wxpy库没有集成腾讯智能闲聊的api,我 ...

  2. 腾讯ai开放平台(智能闲聊)sdk----- python3.X

    想试下聊天ai,由于图灵有限制,故改用腾讯 智能闲聊.腾讯闲聊只提供api接口,没有SDK,写下python的SDK. sdk文件: import hashlib import urllib impo ...

  3. 易语言对接腾讯ai智能闲聊

    介绍 腾讯闲聊服务基于AI Lab领先的NLP引擎能力.数据运算能力和千亿级互联网语料数据的支持,同时集成了广泛的知识问答能力,可实现上百种自定义属性配置,以及男.女不同的语言风格及说话方式,从而让聊 ...

  4. Python调用腾讯API发送短信验证码

    目录 1.作者介绍 2.腾讯云简介 3.实现过程 3.1进入官网 3.2扫码登录 3.3实名制注册 3.4获取腾讯API 4.完整代码与结果 4.1完整代码 4.2实验结果 1.作者介绍 王晓明,男, ...

  5. python微信消息定时_python微信定时消息

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 使用supervisor的具体方法,在我这篇文章中有讲过:https:www.z ...

  6. 微信控制家庭智能小管家机器人资料免费下载

    微信控制家庭智能小管家机器人资料免费下载 今天分享微信控制家庭智能小管家机器人(附语音聊天.人脸检测.自主巡航等)的资料,内容比较多,这边文章不够放,更详细资料到闯客网技术论坛下载,或加群获取:813 ...

  7. 小猪的Python学习之旅 —— 18.Python微信转发小宇宙早报

    小猪的Python学习之旅 -- 18.Python微信转发小宇宙早报 标签:Python 一句话概括本文: 利用itchat,监控特定信息,转发到特定微信群- 引言: 上一篇 小猪的Python学习 ...

  8. Python微信订餐小程序课程汇总

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 你将收获 从基础语法入手,构建MVC架构 增进对小程序和后端API的理解认识 从项 ...

  9. 微信小程序——智能小秘“遥知之”源码分享(语义理解基于olami)

    微信小程序智能生活小秘书开发详解 >>>>>>>>>>>>>>>>>>>>> ...

最新文章

  1. mysqli模块的安装
  2. 百度贴吧的数据抓取和分析(一):指定条目帖子信息抓取
  3. 用单片机测量流体流速的_金属管转子流量计基本测量原理
  4. 软考网络管理员学习笔记3之第三章网络体系结构
  5. 鸿蒙系统是噱头和谈判策略?华为梁华:是针对IoT的操作系统
  6. License for package Android SDK Build-Tools 28.0.3 not accepted.
  7. online_judge_1478
  8. 北京筑龙出席安徽省《电子招标投标办法》修订意见研讨会并发言
  9. 软件测试中的接口分析,软件测试接口测试之管理类—叩丁狼分享
  10. 老虎淘客系统淘宝平台无法生成淘口令问题如何解决?
  11. php模拟用户自动在qq空间发表文章的方法
  12. SmartGit同步更新本地仓库与远程仓库(origin)以及提交请求到forked过来的源仓库(upstream)
  13. 面试题(2020)微信小程序常见面试题
  14. linux 错误信息不输出
  15. 经验分布函数与格里纹科定理
  16. Python Pandas DataFrame 删除缺失值 None Nan drop dropna 替换缺失值 fillna 重复值删除 duplicate 数值替换 replace apply
  17. JS获取本机IP的工具类
  18. Linux-文件类型
  19. PMP是不是要考第七版了?
  20. 【已解决】error: conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’ typedef struct { long

热门文章

  1. 电磁兼容设计中无法忽视的高频效应
  2. U-Boot 图形化配置
  3. 使用跟踪查看器查看 ASP.NET 跟踪信息
  4. 淘宝商品详情API接口(商品价格接口,商品属性接口)
  5. 前端面试--什么是防抖和节流
  6. 百度二年级手工机器人_小学二年级手工科技制作方案
  7. 使用Qt Designer制作软件的图形界面
  8. 成为黑客需要学习什么技能?
  9. 移动开发技术(Android)——综合实验
  10. 题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示华氏温度。 程序的输入是一个整数,表示华氏温度。输出对