A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 尹亮 于 2018-6-16 11:03 编辑

微信智能回复机器人

1、微信消息获取和发送1.1 itchat简介
  • 简介:itchat是一个基于网页版微信的Python API ,所以对于网页版微信的功能都是可以实现的,包括收发消息(文字、图片、视频等消息)。
  • 安装:使用pip命令就可以安装
    pip install 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 图灵机器人简介
  • 简介:官方定义图灵机器人是一款中文语境下高智能度的机器人大脑。简而言之就是对收到的语言进行语义分析,进行相应的回答,图灵机器人对中文语义的理解准确率高达90%以上,累计开发者及合作伙伴超60万。
  • 功能:

    • 中文聊天对话:具备准确、流畅、自然的中文聊天对话能力。
    • 自定义身份属性:开发者可以自定义机器人的身份信息。
    • 多领域智能问答:在基本的中文问答能力基础上可以进行多专业领域的问答需求。
    • 情感识别引擎:可以识别用户的情绪,并作出积极有效的情感回应。

  • 应用:专属的聊天机器人、客服机器人、领域对话问答机器人、儿童/服务机器人等 。

2.2 使用图灵机器人
  • 获取APIKEY

    • 登录图灵帐号,点击创建机器人,创建完成会出现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()


以上,实现了微信自动智能回复消息的功能,大家有什么想法就在下方评论区留言吧 ~.~

2 个回复

倒序浏览
                                      
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马