提示!本文章仅供学习交流,严禁用于非法用途,文章如有不当可联系本人删除!
三、实时接收微信消息/公众号文章消息
2、以及可以自定义发送消息/图片/文件/卡片等,来自github作者【安山Anshan_PL】, 开源项目地址:https://github.com/jwping/wxbot,并且后续可能会有更多的功能上线,大家可以持续关注star作者的项目
二、安装配置以及测试发送消息
1、微信版本!!!:当前最新版本微信3.9.8.15是支持的(注意现在是2023年12月16号的), 更新到最新版本,所以你现在更新到这个版本是支持的,注意注意,如果你的微信版本不对,那么运行下面的exe软件则会出现强制退出登陆的情况,所以一定一定要注意的微信版本是对的,且要取消掉自动升级微信版本,且不要商用,且用小号微信测试
2、下载作者【安山Anshan_PL】的 项目地址:https://github.com/jwping/wxbot, 然后直接解压,然后到E:\wxbot-main\bin目录下
3、然后双击运行injector.exe文件
4、直接打开cmd窗口测试发送消息, 出现如下显示就代表你运行成功了
●curl http://127.0.0.1:8080/check_login (检查是否登陆)
●curl http://127.0.0.1:8080/userinfo (获取登陆用户信息)
●curl http://127.0.0.1:8080/contacts (获取通讯录信息)
5、测试发送文字消息:首先我们通过http://127.0.0.1:8080/contacts接口拿到要发送的人的wx_id,然后编辑文字发送即可, 更多功能大家看github即可https://github.com/jwping/wxbot 以及对应的python案例 https://github.com/jwping/wxbot/blob/main/python_client/main.py
import requests
import time
wx_id = "Vskzxc"
# 发送文字消息
data = {"wxid": wx_id, "content": f"我在随机发送消息中{time.time()}"}
res = requests.post("http://127.0.0.1:8080/sendtxtmsg", json=data, timeout=10)
print("发送文字消息", res.text)
# 获取群聊组信息
wx_id = "39269330@chatroom"
res = requests.get(f"http://127.0.0.1:8080/chatroom?wxid={wx_id}&account=true", json=data, timeout=10)
print("获取群聊组信息", res.text)
6、视频介绍
三、测试实时接收消息
实现了全消息的监听和发送(比如好友、群聊消息、公众号文章推送消息(标题/文章链接/封面图/概要/发布时间)等),有WebSocket和http两种方式
1、如下为websocket的方式,pip install websocket
"""
@Date:2023-12-16
@code:十一姐
@desc:监听微信实时消息
@github: 作者【安山Anshan_PL】的项目地址:https://github.com/jwping/wxbot
"""
import websocket
# import ormsgpack
def on_message(ws, message):
"""收到对方消息处理方法"""
print("对方发来的消息:", message)
# content = ormsgpack.unpackb(message)
def on_error(ws, error):
""" 错误处理方法 """
print(f"error is {error}")
def on_close(ws):
""" 关闭处理方法 """
print("连接已关闭")
def on_open(ws):
""" 运行入口 """
print("连接已打开")
ws = websocket.WebSocketApp(
"ws://127.0.0.1:8080/ws",
on_open=on_open, # 设置运行入口
on_message=on_message, # 设置收到消息处理
on_close=on_close, # 发生关闭处理
on_error=on_error, # 错误处理
)
ws.run_forever()
2、http的方式:pip install flask,首次运行如下代码,会注册一个回调地址,并自动在你的微信安装目录下生成一个wxbot.json文件,注册成功一次后,之后就不用重复执行函数zc_callback了,可以注释掉了;接下来可以愉快测试返回数据了
"""
@Date:2023-12-16
@code:十一姐
@desc:监听微信实时消息
@github: 作者【安山Anshan_PL】的项目地址:https://github.com/jwping/wxbot
"""
from flask import Flask, request
from gevent import pywsgi
import requests
app = Flask(__name__)
@app.route('/callback', methods=['get', 'post'])
def d_callback():
"""处理回调"""
data = request.stream.read().decode('utf-8')
print("callback_msg is", data)
return data
def zc_callback(callback_url):
"""第一步:先注册http回调地址, 直接打开http://127.0.0.1:8080/syncurl这个会显示你注入的列表"""
# res = requests.post('http://127.0.0.1:8080/syncurl', json={'url': callback_url, 'timeout': 3000}, timeout=15)
res = requests.delete('http://127.0.0.1:8080/syncurl', json={'url': callback_url}, timeout=15)
if res.status_code == 200:
print(f"注册回调成功{res.text}")
else:
print("注册回调失败")
if __name__ == '__main__':
port = 8011
# 首次注册这个需要运行zc_callback,执行完这个函数后,会自动在微信文件夹下面生产wxbot.json文件,后续不需要执行这个函数,除非改了新的端口
# zc_callback(f'http://127.0.0.1:{port}/callback')
server = pywsgi.WSGIServer(('127.0.0.1', port), app)
server.serve_forever()
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论