python微信集成_python+微信+腾讯智能闲聊
继上一篇调用图灵机器人的玩法后,不满于每天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 quote
def curlmd5(src):
m = hashlib.md5(src.encode('UTF-8'))
return m.hexdigest().upper() # 将得到的MD5值所有字符转换成大写
def get_params(plus_item): #用于返回request需要的data内容
global params
t = 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,r
url = "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.text
answer=get_content(a)
if answer=='': #防止返回内容为空
for i in range(2):
time.sleep(2)
answer=get_content(a)
if answer!='' and answer!="emmmm,我不是很懂你的意思":
break
else:
answer="emmmm,我不是很懂你的意思"
return '[Stephen] {} '.format(answer)
bot.join()
由于访问腾讯api的时候,偶尔会返回空内容,为了避免这种情况,当返回空时,隔2s再请求一次,这般重复3次,如果依然返回空,则自动将返回值设为"emmmm,我不是很懂你的意思"。
3.效果展示:
ps:我已将智能闲聊的名字设为了"Stephen",上图最重要:
腾讯智能闲聊的智能化程度也挺高,日常闲聊也没有太大问题,有些回答甚至比图灵机器人还要讨喜,各有千秋吧。最关键的是免费!不限额!
尽管wxpy功能很强大,但是部分用户无法登陆微信网页版,也就无法体验wxpy的服务了,可以说是很可惜了!
如有错误或建议,请在评论处指出!
python微信集成_python+微信+腾讯智能闲聊相关推荐
- python微信集成_Python微信公众号后台开发005:集成智能聊天机器人
给公众号集成一个智能聊天机器人 一.前述 ChatterBot是一个基于机器学习的聊天机器人引擎,构建在python上,主要特点是可以自可以从已有的对话中进行学(jiyi)习(pipei). 二.具 ...
- python+微信+腾讯智能闲聊
继上一篇调用图灵机器人的玩法后,不满于每天100条的限额,于是!!!又找到了腾讯云产品-智能闲聊,免费!无限额! 申请智能闲聊 1.构建调用api文件: 由于wxpy库没有集成腾讯智能闲聊的api,我 ...
- python 微信自动回复_python微信机器人自动回复
python3环境 一.需要的包 import itchat import requests import re 图灵机器人api 所需的包安装都比较简单,re是python自带的模块,itchat是 ...
- python企业微信回调_python 微信企业号-回调模式接收微信端客户端发送消息并被动返回消息...
说明:此代码用于接收手机微信端发送的消息 #-*- coding:utf-8 -*- from flask import Flask,request from WXBizMsgCrypt import ...
- python 微信机器人_Python 微信机器人
一.写在前边的话 如何做一个自动回复的微信机器人?机器人的功能有,自动加好友,关键字回复,等等,它甚至可以成为你的私人管家,只要你的代码到位.今天,主要讲解下,微信机器人-图灵版. 二.准备 1.py ...
- python棋子判定_python微信跳一跳系列之棋子定位颜色识别
python微信跳一跳,前言 这是python玩跳一跳系列博文中一篇,主要内容是用颜色识别的方法来进行跳跳小人的定位. 颜色识别 过观察,我们可以发现,尽管背景和棋子在不停的变化,但跳跳小人的形状和颜 ...
- python祝福语_Python | 微信自动回复祝福语
马上就要过年了,好多小伙伴都已经顺利到家.在这提前祝大家:新年快乐. 昨天发现自己的 itchat 终于可以登陆了(差不多被封了两个月),马上就要过年了,必须用 itchat 搞点事情--实现自动回复 ...
- python土味情话_Python微信机器人,聊天、撩妹、提醒,垃圾分类,它样样精通
看过 pk 哥之前的文章的小伙伴知道,pk 哥写过关于微信机器人的文章(用 Python 玩微信,机器人陪你唠嗑)和定时给心仪的伙伴发送早安或者祝福语录(Python 教你脱单),最近在 GitHub ...
- python企业微信回调_Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例...
本文实例讲述了Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息.分享给大家供大家参考,具体如下: 说明:此代码用于接收手机微信端发送的消息 #-*- coding:utf-8 ...
最新文章
- 那些好用的小工具——Total Commander
- Java原子操作类,你知道多少?
- http://miicaa.yopwork.com/help/overall/
- AI:《Why is DevOps for Machine Learning so Different?—为什么机器学习的 DevOps 如此不同?》翻译与解读
- 序列化的高阶认识-serialVersionUID的作用
- Hive 基础(2):库、表、字段、交互式查询的基本操作
- 前驱和后驱什么意思_为什么只有豪车才敢用后驱
- FreeRTOS列表
- python comprehension_python list comprehension在一次迭代中产生两个值
- 郭明錤:苹果将在明年第二季度推出增强现实头盔
- 晚上睡觉的时候应该把wifi关掉吗?
- Dynamics AX2012 根据表字段查找对应的字段值
- 【无线网络技术专题(十一)】无线网络常用软件与工具大全
- CDH集群更换IP处理方法
- java 解析MP3
- 利用.sym跨平台解析iOS符号
- ubuntu:beyond compare 4 This license key has been revoked 解决办法
- CSS基础班笔记(三)
- php 数组 按拼音首字母 排序 并分组
- 未明学院:管培生刚入职就被裁?校招的管培生真的那么高大上吗?