PC端微信 机器人智能自动回复实现 全攻略

  • 程序介绍
  • WechatPCAPI
  • 百度UNIT
  • 实现代码
  • 结语

程序介绍

2021/06/05 更新

这个程序最大的优点就是免费,而且效果很好,环境要求不高。

该自动智能回复机器人基于python编写,笔者使用的版本是python3.7。

微信的信息捕捉发送部分采用了WechatPCAPI免费版。
GitHub地址:https://github.com/smallevilbeast/wechat_pc_api。

智能回复部分采用百度AI提供的智能回复API。

WechatPCAPI

WechatPCAPI主要实现了指定微信版本下微信信息的获取与发送,该API可以捕捉微信接收的信息,并解译为json格式供用户调用。在我们的机器人中起到了捕获文字信息和发送文字信息的功能,具体使用方法可以自行调试或参考其开发文档。

这里需要注意,该API只能在指定微信版本中使用,免费版对应3.0.0.57。这里留个该API开发者创建的交流群:308918346。

百度UNIT

智能回复部分调用百度UNIT,这个是百度开发的智能回复API,目前免费开放但调用次数有限,不过用于自己玩玩的机器人还是很方便的。如果有更高需求,可以加钱嘛。
具体的调用过程包括:
1.注册UNIT账号
2.注册机器人
3.添加技能并进行排序:这里推荐将智能问答模块的优先级放在后面,因为所有的话它都接管了,导致天气、垃圾分类等功能始终没办法激活。
4.获取API密匙

实现代码

该代码保存在WechatPCAPI默认目录下才可运行,与自带的demo.py放在一个目录下

# -*- coding: utf-8 -*-
from __future__ import unicode_literalsimport wechat
import json
import time
from bs4 import BeautifulSoup
from queue import Queue
import time
import logging
import threading
import requests
import urllib
import urllib.request
import sys
import ssl
import json
import ast
from wechat import WeChatManager, MessageTypewechat_manager = WeChatManager(libs_path='../../libs')list_name=[]
open_key=['打开','开启','打开机器人','开启机器人','启动']
close_key=['关闭','关闭机器人']
image_path='D:\\20210507195208.jpg'# 这里测试函数回调
@wechat.CONNECT_CALLBACK(in_class=False)
def on_connect(client_id):print('[on_connect] client_id: {0}'.format(client_id))@wechat.RECV_CALLBACK(in_class=False)
def on_recv(client_id, message_type, message_data):print('[on_recv] client_id: {0}, message_type: {1}, message:{2}'.format(client_id,message_type, json.dumps(message_data)))message_dict=json.loads(json.dumps(message_data))if message_type==11046:try:if message_dict['msg'] in open_key:list_name.append(message_dict['from_wxid'])reply='open success!'wechat_manager.send_text(1, message_dict['from_wxid'], reply)elif message_dict['msg'] in close_key:list_name.remove(message_dict['from_wxid'])reply='close success!'wechat_manager.send_text(1, message_dict['from_wxid'], reply)elif message_dict['from_wxid'] in list_name:if message_dict['from_wxid'] == "wxid_wbpgt35yeika22":message_dict['from_wxid'] = 'filehelper'if 'msg' in message_dict.keys():reply = reply_msg(message_dict['msg'])wechat_manager.send_text(1, message_dict['from_wxid'], reply)elif 'raw_msg' in message_dict.keys():wechat_manager.send_image(1,message_dict['from_wxid'],image_path)elif 'image' in message_dict.keys():wechat_manager.send_image(1,message_dict['from_wxid'],image_path)except:print('error!')@wechat.CLOSE_CALLBACK(in_class=False)
def on_close(client_id):print('[on_close] client_id: {0}'.format(client_id))# 这里测试类回调, 函数回调与类回调可以混合使用
class LoginTipBot(wechat.CallbackHandler):@wechat.RECV_CALLBACK(in_class=True)def on_message(self, client_id, message_type, message_data):# 判断登录成功后,就向文件助手发条消息if message_type == MessageType.MT_USER_LOGIN:time.sleep(2)wechat_manager.send_text(client_id, 'filehelper', '												

PC端微信 机器人智能自动回复实现 全攻略相关推荐

  1. 2021年django微信扫码支付流程--全攻略(阻止回调请看下一章)

    PC端,微信扫码支付, 我们产生支付二维码后,等用户支付, 用户扫码支付成功后,我们接收腾迅的回调数据 但是我们如果不阻止回调,则我们的服务器会被腾迅请求很多次在几个小时之内, 所以我们一定要阻止回调 ...

  2. 智能手势交互全攻略,知识地图

    Kurtenbach和Hulteen这样定义手势: 手势是包含信息的身体运动. 挥手告别是一种手势,但按下键盘上的键不是手势,因为手指在敲击键过程中的运动既没有被观测到,也没有特定意义,关键是按了哪个 ...

  3. 微信支付 postman_微信版花呗“分付”开通入口在哪?2020年微信分付开通最全攻略!...

    阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注 免责声明图文来源于网络侵权请联系删除         ...

  4. 小技巧大用处:微信小程序状态栏设置全攻略

    前言 我们在使用微信小程序的时候,经常会发现小程序的状态栏与我们手机的状态栏不太一致.有时候状态栏的颜色与我们小程序的主题色不相符,有时候状态栏的文字内容也不太符合我们的需求.为了解决这些问题,我们需 ...

  5. 聊天机器人集成PC端微信

    1.PyWeChatSpy 可以操作PC端微信 github地址如下 https://github.com/veikai/PyWeChatSpy 2.chatterbot 可以实现自制语料库的聊天机器 ...

  6. 朋友圈点赞发红包视频的播放Pc端微信加群app端微信加群 测试用例的设计点

    1.朋友圈点赞用例的设计点 功能 (1)点赞是否实时显示结果 (2)点赞后显示的是否是自己的昵称 (3)点赞后是否可以取消 (4)取消后,重新点赞 (5)点赞后,其他共同好友点赞,是否有消息提醒 (6 ...

  7. pygame开发PC端微信打飞机游戏

    pygame开发PC端微信打飞机游戏  一.项目简介1. 介绍本项目类似曾经火爆的微信打飞机游戏.游戏将使用Python语言开发,主要用到pygame的API.游戏最终将会以python源文件game ...

  8. Pc端微信加群的测试用例

    Pc端微信加群的测试用例和5. app端微信加群的测试用例:     1.可发送信息:语音,文字,图片,表情,链接,字符及长度     2.聊天界面中的文字是否可复制,删除,收藏,翻译,头像,昵称显示 ...

  9. h5微信页面在手机微信端和微信web开发者工具中都能正常显示,但是在pc端微信浏览器上打不开(显示空白)

    记录一个最近在微信端页面开发时出现的问题:页面在手机微信端和微信web开发者工具中都能正常显示,但是在pc端微信浏览器上打不开(显示空白). 原因:pc端微信浏览器不支持es6,而我的代码使用了 le ...

最新文章

  1. Linux 常用小技巧
  2. 大数据学习(5)-- NoSQL数据库
  3. k8s nod rc service 使用
  4. (转)最临近插值-双线性插值算法原理
  5. 兆易创新GD32系列单片机不同容量和启动文件之间的选择(GD32F10X_MD/GD32F10X_HD/GD32F10X_XD/GD32F10X_CL)
  6. ppt插入 html,PPT中嵌入网页的方法:使用webbrowser控件
  7. 9x9九宫格java_数独9x9九宫格的口诀 9×9数独技巧
  8. 快速学习-web3.js简介与入门
  9. 怎么把录音导入库乐队_怎么往库乐队里导入音乐
  10. 监控系统 服务器配置,监控系统服务器配置
  11. 使用selenium爬取艺恩网年度票房(8.16)
  12. js之win10计算器
  13. layui上传图片插件
  14. 秋意浓(2018.9.28)
  15. 第7章第23节:双图排版:两张图片的错位叠加 [PowerPoint精美幻灯片实战教程]
  16. C# 163邮箱自动登陆
  17. plotly绘制3D图技巧
  18. 人工智能有哪些好处???
  19. 5G网络时钟:ePRTC
  20. 搞深度学习需掌握的基础数学知识

热门文章

  1. 下载磁力链接的软件推荐
  2. ios定时器轮训_Android产品研发(十三)-- App轮训操作
  3. vue中elementUi筛选后分页页码恢复到第一页
  4. Java计算各种图形的周长、面积利用接口,多态等知识实现
  5. yolov3交通标志识别练习
  6. 9套Android实战经典项目资料分享给大家
  7. UIPower交互设计 - 《UI的革命》文字版
  8. SS24,SS54(插件是1N5824)肖特基和整流二极管区别
  9. dB、dBm、dBw的区别
  10. Nim语言中的解析表达文法 pegs模块