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

article/2025/8/22 18:00:32

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', '😂😂😂\uE052该消息通过wechat_pc_api项目接口发送')'''wechat_manager.send_link(client_id, 'filehelper', 'wechat_pc_api项目', 'WeChatPc机器人项目', 'https://github.com/smallevilbeast/wechat_pc_api', 'https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/0203e82433363e5ff9c6aa88aa9f1bbe?showdoc=.jpg)')'''def reply_msg(receive_msg):# API ID密码client_id = ''client_secret = ''host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secretrequest = urllib.request.Request(host)request.add_header('Content-Type', 'application/json; charset=UTF-8')response = urllib.request.urlopen(request)resp_taken = response.read()text = json.loads(resp_taken)headers = {'Content-Type': 'application/json'}access_token = text["access_token"]url = 'https://aip.baidubce.com/rpc/2.0/unit/service/chat?access_token=' + access_token# 这里有一些参数,包括机器人编号之类的(S00000就是,修改成自己的);具体使用方法参照百度UNIT使用手册post_data = "{\"log_id\":\"UNITTEST_10000\",\"version\":\"2.0\",\"service_id\":\"S31079\",\"session_id\":\"JA001\",\"request\":{\"query\":\"" + receive_msg + "\",\"user_id\":\"1314520\"},\"dialog_state\":{\"contexts\":{\"SYS_REMEMBERED_SKILLS\":[\"1032946\"]}}}"request = urllib.request.Request(url, data=post_data.encode('utf-8'), headers=headers)response = urllib.request.urlopen(request)content = response.read().decode("utf-8")# if content:#    print(content)text1 = json.loads(content)answer = text1['result']['response_list'][0]['action_list'][0]['say']return answerif __name__ == "__main__":bot = LoginTipBot()# 添加回调实例对象wechat_manager.add_callback_handler(bot)wechat_manager.manager_wechat(smart=True)# 阻塞主线程while True:time.sleep(0.5)

结语

这是笔者的第一篇CSDN文章,难免有地方写的不清楚,欢迎大家提问留言
WeChatApi交流群 308918346


http://chatgpt.dhexx.cn/article/V1TNleeg.shtml

相关文章

微信小程序自动回复机器人(模拟云信案例)

1.场景: 输入关键词,对内容库进行检索,得到搜索结果,反馈给用户。其实也不算是机器人,也类似于搜索的样子,只不过以聊天界面的形式展现出来,当然了,在完成这个流程的过程中&#xf…

微信话术自动回复机器人软件

购买地址 : https://item.taobao.com/item.htm?ftt&id644635811302自动通过好友验证以及计数 1.设置通过好友验证时长,一般为2-3秒 2.设置启用新好友信息之后,通过的新好友自动发送保存好的文字/表情 3.好友计数指的是已经添加通过验证…

微信机器人自动回复(python实现)

微信机器人自动回复(python实现) 准备工作: 自动回复利用了图灵机器人的智能问答,需要在图灵网创建一个机器人,这时会得到一个apike 1、安装python以及python编译器 2、复制粘贴代码 import itchat import requests…

用Python做个微信自动回复机器人

微信已经成为我们生活不可或缺的一部分,每天有380亿条消息从微信上发出,其中6亿条是语音消息,有350万个活跃的公众账号,并存在着8亿活跃粉丝。微信是一个庞大的生态群体。 今天我们来玩转一下微信,微信有关的第三方框…

微信自动回复的智能聊天机器人怎么做?

wx微信简单话术群消息同步机器人,简单明了效率高。 工具 先安装微信特定版本3.0.0.57,后打开WeiChatTool.exe运行使用/操作 操作主界面如下: 自动通过好友验证以及计数 1.设置通过好友验证时长,一般为2-3秒 2.设置启用新好友信息之后,通过的新好友自动发送保存好的文字/…

如何用 30 行代码实现微信自动回复机器人?

作者 | Ahab 责编 | 胡巍巍 写在前面 很多朋友对itchat非常感兴趣,近日又学到了itchat另一种有趣的玩法——微信自动回复机器人。 程序很简单仅仅三十行代码左右,实现了机器人自动与你的微信好友聊天,下面是我的机器人小笼包跟自己微信好友聊…

手把手教你实现一个微信自动回复机器人

RebateBot 返利机器人 微信聊天机器人代码 项目地址 项目描述 关键词: 返利 微信 阿里妈妈 机器人 跨平台 返利机器人,基于微信建立机器人通道与用户通过聊天快速生成返利链接 利用闲置微信和极小的电脑性能开启24小时无人轮值返利机器人 购物只需要发送链接给…

超简单Python实现微信机器人自动回复

下面这个小文章适合初学Python的童鞋哦~~~ 一个很好用的微信库:itchat 拿使用图灵机器人设置自动回复,让机器人跟微信好友傻傻的聊天,机器人比小编还会聊天,无论是对美眉还是汉纸,上来就是爱!爱&#xff…

怎么做一个微信自动回复的智能聊天机器人?

微信自动回复机器人的操作很简单,只需要完成30行代码,就可以让机器人实现查天气、查星座运势、智能回复、关键词回复等功能。 下面我们看个例子: 在程序设定时通过itchat获取微信信息,将微信消息传输到机器人的接口&#xff0…

微信自动回复机器人使用教程

第一步,打开软件,选择关键词回复一栏 第二步:单击鼠标右键选择添加一个词,设置好关键词,回复词,选择回复到哪个微信群即可。 第三步:测试一下效果 第四步:操作就是这么简单&#xff…

如何训练创建一个聊天自动回复的微信机器人(一)

如何创建一个聊天自动回复的微信机器人(一) 这里,本来打算用一个微信号来做机器人的,但是机器人有几个缺点 1、如果任意一个人想使用机器人的话,那么必须添加机器人为好友才能使用测试 2、基于微信识别异常微信号的自…

Python几十行代码轻松实现微信自动回复机器人

Python几十行代码轻松实现微信自动回复机器人 最近因为太无聊了就考虑能不能做一些好玩的东西出来,正好在CSDN的推荐上看到大佬做的微信自动回复机器人,觉得很有趣,因此想着自己也能动手做一个。在此就写下我的具体思路和实现过程吧。 首先&…

多核CPU算法

多核CPU环境下的进程调度算法有哪些,与单核CPU环境下的进程调度有何不同? 多核CPU调度算法 全局队列调度 操作系统维护一个全局的任务等待队列。当系统中有一个CPU核心空闲时,操作系统就从全局任务等待队列中选取就绪任务开始在此核心上执…

多CPU和多核CPU对应多进程和多线程调度

目录 cpu架构和工作原理多核cpu和多cpu 架构cpu的缓存进程和线程进程和线程在多核cpu,多cpu中的运行关系 cpu架构和工作原理 计算机有5大基本组成部分,运算器,控制器,存储器,输入和输出。运算器和控制器封装到一起&a…

单核CPU vs. 多核CPU

单核CPU vs. 多核CPU 单核CPU 起源: CPU的起源是1971年英特尔公司推出,由此正式宣告计算机的诞生,可以说是世界级的改变,并且严格准守冯诺依曼体系结构,在英特尔推出CPU之前的计算机所使用的处理器工作是非常麻烦的…

多核计算机是指有多个cpu,多核和多个CPU有什么区别?

多核和多个CPU有什么区别? 多核和多个CPU有什么区别?首先让我们了解以下两项: 什么是多核CPU?简单的理解是,我们将多个内核加载到一个程序包中,让用户了解这是一个处理器. 这样做的好处是,最初在单台计算机…

多核CPU、多CPU与多进程、多线程关系

文章目录 1 cpu架构和工作原理2 多核cpu和多cpu架构3 进程和线程4 多核、多CPU与多线程、多进程的对应关系5 总结 1 cpu架构和工作原理 计算机有5大基本组成部分,运算器,控制器,存储器,输入和输出。运算器和控制器封装到一起&…

多核与多处理器的区别

一、定义 多核:单块CPU上面能处理数据的芯片组的数量,比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。 多处理器:主板上实际插入的cpu数量,一般有两个或者多个处理…

多核CPU和单核的区别~

昨天有同学问我多核cpu和单核的区别大不大,今天简单写一篇回复下吧。大家有其他问题也可以文末给我留言,我会尽量抽时间写文回复。 首先回顾下基本概念,cpu,就是中央处理器,包括运算器和控制器。cpu的主要功能就是“一…

多核处理器结构

文章目录 一、多核处理器的发展演化二、多核处理器的访存结构2.1 通用多核处理器的片上Cache结构2.2 存储一致性模型2.3 Cache一致性协议 三、多核处理器的互连结构3.1 片上总线3.2 交叉开关3.3 片上网络 四、多核处理器的同步机制4.1 原子操作4.2 锁的软件实现方法4.3 屏障软件…