微信智能回复机器人

630 阅读4分钟

1、微信消息获取和发送1.1 itchat简介

  • 简介:itchat是一个基于网页版微信的Python API ,所以对于网页版微信的功能都是可以实现的,包括收发消息(文字、图片、视频等消息)。
  • 安装:使用pip命令就可以安装
    pip install itchat

1.2 获取微信消息

  • 登录:

[Python]
纯文本查看
复制代码
1
2
3
4
5
6
7
8
# -*- 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]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
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]
纯文本查看
复制代码
1
2
3
4
5
6
7
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]
纯文本查看
复制代码
1
2
3
4
5
6
7
8
9
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、智能机器人

  • 简介:智能机器人也就是会根据接收到的信息指令做出相应回应的程序,目前比较流行的有青云客智能机器人,SimSimi小黄鸡机器人,图灵机器人等。
    推荐几款机器人API如下:
    青云客智能聊天机器人API:/
    SimSimi小黄鸡机器人API:/

2.1 图灵机器人简介

  • 简介:官方定义图灵机器人是一款中文语境下高智能度的机器人大脑。简而言之就是对收到的语言进行语义分析,进行相应的回答,图灵机器人对中文语义的理解准确率高达90%以上,累计开发者及合作伙伴超60万。
  • 功能:

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

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

2.2 使用图灵机器人

  • 获取APIKEY

    • 登录图灵帐号,点击创建机器人,创建完成会出现apikey

  • Python与图灵机器人交互

    • 请求方式:HTTP POST
    • 请求参数:json格式数据

      [Python]
      纯文本查看
      复制代码
      1
      2
      3
      4
      5
      {
      'key': '73592446310fxxxxxxxx063b3f725ff2',
      'info': '发送给图灵机器人的请求中的信息',
      'userid': '机器人1号'
      }

      参数解析:
      key:必须参数,用于和图灵机器人通信的密钥
      info:必须参数,发送的请求消息内容,默认编码为UTF-8
      userid:必须参数,用户的唯一标示,用于有上下文语境交互的控制
    • 示例:

    [Python]
    纯文本查看
    复制代码
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    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]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
# -*- 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()



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

更多免费技术资料可关注:annalin1203