网站首页 > 文章精选 正文
引言:
现在的不管的是国内或者是国外聊天的AI都非常的多,回复也非常的智能。那么大家有没有想过我们是否可以将我们日常使用非常多的微信接入AI呢。下面我讲下如何将微信接入AI,让微信可以自动回复别人的消息
环境准备
- Windows微信电脑版
- 安装Python 3.X任意版本
- WxAuto:自动化操作Windows版微信的Python库
- 通义千问 (Qwen): 阿里云开发的人工智能语言模型
1.什么是 wxAuto?
wxauto是一个用于Windows版本微信客户端(非网页版)自动化的开源Python库, 可以通过这个库实现微信的各种自动化操作,使用下面指令可安装:
Bash
pip install wxauto
2.获取通义千问API密钥:
注册并登录阿里云账号,获取通义千问API的访问密钥,可以从阿里云获取,官网地址是:
代码实现自动回复
1. 获取微信窗口,获取指定人的最新消息
- 获取微信窗口:
Bash
# 导入
from wxauto import WeChat
# 获取微信窗口对象
wx = WeChat()
- 设置需要监听的微信好友列表,就是你需要自动回复的人的列表,获取用户发的消息:
listen_list = [
'张三',
'李四'
]
for i in listen_list:
wx.AddListenChat(who=i, savepic=True)
wait = 1 # 设置1秒查看一次是否有新消息
while True:
msgs = wx.GetListenMessage()
for chat in msgs:
who = chat.who # 获取聊天窗口名(人或群名)
one_msgs = msgs.get(chat)
time.sleep(wait)
2.接入通义千问AI,实现自动回复
- 编写一个函数,传入获取到的微信消息,调用AI获取消息回复
class WeChatBot(wxauto.WeChatBot):
def __init__(self):
super().__init__()
self.api_key = "YOUR_API_KEY"
self.base_url = "https://api.example.com/qwen/v1/chat/completions"
def on_message(self, message):
# 获取消息内容
content = message.content
# 调用通义千问API
headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
data = {
"model": "qwen",
"messages": [{"role": "user", "content": content}]
}
response = requests.post(self.base_url, headers=headers, json=data)
# 解析回复
reply_content = response.json()["choices"][0]["message"]["content"]
3.将两部分代码整合,实现自动回复
# 导入
from wxauto import WeChat
import requests
# 获取微信窗口对象
wx = WeChat()
class WeChatBot(wxauto.WeChatBot):
def __init__(self):
super().__init__()
self.api_key = "YOUR_API_KEY"
self.base_url = "https://api.example.com/qwen/v1/chat/completions"
def on_message(self, message):
# 获取消息内容
content = message.content
# 调用通义千问API
headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
data = {
"model": "qwen",
"messages": [{"role": "user", "content": content}]
}
response = requests.post(self.base_url, headers=headers, json=data)
# 解析回复
reply_content = response.json()["choices"][0]["message"]["content"]
listen_list = [
'张三',
'李四'
]
wx = WeChatBot()
for i in listen_list:
wx.AddListenChat(who=i, savepic=True)
wait = 1 # 设置1秒查看一次是否有新消息
while True:
msgs = wx.GetListenMessage()
for chat in msgs:
who = chat.who # 获取聊天窗口名(人或群名)
one_msgs = msgs.get(chat)
res = wx.on_message(one_masgs) #获取到AI的回复
chat.SendMsg(res) #自动回复消息
time.sleep(wait)
猜你喜欢
- 2025-05-30 DeepSeek接入微信的完整方案指南
- 2025-05-30 微信发布移动应用鸿蒙接入指南:4项步骤
- 2025-05-30 DeepSeek接入个人微信,秒变个人全能助手
- 2025-05-30 你不知道的电影票API:影院数据如何跑到你手机里?
- 2025-05-30 微信又双叒更新!安卓 8.0.60 测试版三大新功能,网友:终于等到了
- 2025-05-30 微信小程序开发入门指南
- 2025-05-30 你还在手动搜索字幕吗?快来试试NasTools对接ChineseSubFinder
- 2025-05-30 安卓微信8.0.24正式更新:新增桌面小部件等6大功能变化
- 2025-05-30 EXCEL VBA"调用"微信发送文件
- 2025-05-30 如何将AI助手接入微信
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)