黑马程序员技术交流社区
标题: 【上海校区】微信智能回复机器人 [打印本页]
作者: 尹亮 时间: 2018-6-16 10:55
标题: 【上海校区】微信智能回复机器人
本帖最后由 尹亮 于 2018-6-16 11:03 编辑
微信智能回复机器人
1、微信消息获取和发送1.1 itchat简介1.2 获取微信消息[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-
import itchat
# 通过装饰器将print_content函数注册为处理文本的消息
@itchat.msg_register(itchat.content.TEXT)
def print_content(msg):
print(msg['Text'])
itchat.auto_login()
itchat.run()
运行程序会跳出登录网页微信的二维码,使用微信扫码即可,扫码登录进行收发消息测试:
[Python] 纯文本查看 复制代码
C:\Python\Python36\python.exe C:\Users\yl\Desktop\demo\WeChat.py
Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
•Login successfully as 亮
Start auto replying.
干嘛呢
学习
真用功啊~
1.3 发送微信消息通过send发送消息:
[Python] 纯文本查看 复制代码
import itchat
@itchat.msg_register(itchat.content.TEXT)
def print_content(msg):
print(msg['Text']) # 输出收到的消息
itchat.send('您发送的消息主人已经收到,主人现在比较忙,请您致电或稍后联系 ~', toUserName=msg["FromUserName"])
itchat.auto_login()
itchat.run()
通过注册的函数直接返回消息:
[Python] 纯文本查看 复制代码
import itchat
@itchat.msg_register(itchat.content.TEXT)
def print_content(msg):
print(msg)
print(msg['Content']) # Content和Text作用相同
# return msg['Text'] # 将消息原封不动的返回
return '您发送的消息主人已经收到,主人现在比较忙,请您致电或稍后联系 ~'
itchat.auto_login()
itchat.run()
2、智能机器人2.1 图灵机器人简介2.2 使用图灵机器人获取APIKEY
Python与图灵机器人交互
请求方式:HTTP POST
请求参数:json格式数据
[Python] 纯文本查看 复制代码
{
'key': '73592446310fxxxxxxxx063b3f725ff2',
'info': '发送给图灵机器人的请求中的信息',
'userid': '机器人1号'
}
参数解析:
key:必须参数,用于和图灵机器人通信的密钥
info:必须参数,发送的请求消息内容,默认编码为UTF-8
userid:必须参数,用户的唯一标示,用于有上下文语境交互的控制
示例:
[Python] 纯文本查看 复制代码
import requests
api_url = "http://www.tuling123.com/openapi/api"
data = {
'key': '73592446310fxxxxxxxx063b3f725ff2',
'info': '发送给图灵机器人的请求中的信息',
'userid': '机器人1号'
}
# 使用requests发送post请求
r = requests.post(api_url, data=data).json()
print("机器人1号:", r["text"])
3、微信与图灵机器人的交互实现微信智能回复,直接上代码,如下:
[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-
import itchat
import requests
def tuling_func(msg):
"""获取图灵机器人api返回的数据"""
url_api = 'http://www.tuling123.com/openapi/api'
data = {
'key': '04f44290d4cf462aae8ac563ea7aac16',
'info': msg,
'userid': '机器人1号'
}
r = requests.post(url_api, data=data).json()
return r['text']
# 微信接收回复消息
@itchat.msg_register(itchat.content.TEXT)
def weixin_func(msg):
return tuling_func(msg['Text'])
itchat.auto_login()
itchat.run()
以上,实现了微信自动智能回复消息的功能,大家有什么想法就在下方评论区留言吧 ~.~
作者: 大潘24678 时间: 2018-6-19 08:51
作者: 吴琼老师 时间: 2018-7-5 16:46
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |