用 py 写了一个简单的 wechat robot

266 天前
 gitxuzan

wechat_robot

WeChat 机器人,python + websocket + go 实现 项目地址 : [https://github.com/Xuzan9396/wechat_robot] ( https://github.com/Xuzan9396/wechat_robot)

步骤

  1. 系统准备: 准备 Windows 系统,可以选择腾讯云服务器,或者 win10 。

  2. 微信版本要求:

    • 使用微信版本 3.7.0.30 。
    • 设置微信不要自动更新。
    • 打开微信,登录到你自己的账号。

    3.7.0.30 版本下载地址: 下载地址

  3. 启动机器人: 可以使用 Python 启动或直接运行 GUI 程序。

    • Python 启动:

      pip install -r requirements.txt 
      python main.py
      
    • 也可以自己打包 gui

    • 打包命令

      pyinstaller -F -w --icon=ui/img/wechat.ico main.py
      
    • 或者使用我打包好的,在项目 wechat_gui 目录可以测试,GUI 程序启动:

      wechat_gui.exe
      
  4. WebSocket 通信配置: GUI 页面是通过 WebSocket 协议传输。

    • WebSocket 端口
    • WebSocket 认证: 默认认证规则,会在你的头部添加 Authorization: Bearer <your_token>
    • WebSocket Path 认证: 默认路径为 /
  5. WebSocket 客户端测试: 可以打开 WebSocket 客户端进行测试,例如发送一条消息,WebSocket 协议如下:

    { 
      "action": "SendText",
      "params": {
        "receiver": "filehelper",
        "msg": "消息发送到文件夹了,请查收"
      }
    }
    
    
  6. 简单的 WebSocket 客户端测试: 使用 Go 编写的简单 WebSocket 客户端进行测试,在 ws_client_go 目录下,或者运行打包的程序

有 golang 环境的可以直接运行
go run ws_client.go  -addr="你的服务器地址" -wxid="没有就不需要填写" -ws_auth="你的 ws 服务器认证信息" -ws_path="你的 ws 服务器路径,默认 /"
例如:
go run ws_client.go  -addr="xxx.xxx.xxx.xxx:port" -wxid="wxid_xxxxxxxx" -ws_auth="auth123" -ws_path="/"

windows 系统 cmd 运行
.\ws_client.exe -addr="你的服务器地址" -wxid="没有就不需要填写" -ws_auth="你的 ws 服务器认证信息" -ws_path="你的 ws 服务器路径,默认 /"

mac 系统 arm 架构的
.\ws_client_darwin_arm64  -addr="你的服务器地址" -wxid="没有就不需要填写" -ws_auth="你的 ws 服务器认证信息" -ws_path="你的 ws 服务器路径,默认 /"

mac 系统 amd64 架构的
.\ws_client_darwin_amd64 -addr="你的服务器地址" -wxid="没有就不需要填写" -ws_auth="你的 ws 服务器认证信息" -ws_path="你的 ws 服务器路径,默认 /"

演示

其他

除了发消息,还有其他功能,有需求的去看源码吧

2427 次点击
所在节点    程序员
16 条回复
npe
266 天前
这个是什么协议? 新微信号能接入吗?
dji38838c
266 天前
会被封号吧?
微信恶心的很,很容易封号
gitxuzan
266 天前
wechat hook 实现的,我自己用来当做机器人做通知用处
gitxuzan
266 天前
@dji38838c hook 注入的还好,我登录了 1 个多月,挺稳定的
z1829909
266 天前
hi 你好, 请问 hook 部分是什么语言实现的
gitxuzan
266 天前
hiyoi
266 天前
关键的 CWeChatRobot.exe 没开源这谁敢用啊?
gitxuzan
266 天前
@hiyoi 依赖库,我不是贴在文档下面吗,全部都是开源的
githmb
266 天前
额,感觉和我这个差不多?
https://github.com/develon2015/wxbot
cat
266 天前
@githmb 大佬你这个不错啊,请问到目前一直稳定吗?有没有要求微信什么版本?(能否完善一下 README…
danbai
266 天前
我这边也参与的一个微信机器人 https://github.com/lich0821/WeChatFerry
dsn93
266 天前
老哥小心点,微信恶心的很,动不动封你号。
bybyte
266 天前
这个之前我也做过,但是真不敢用,指不定哪天微信就检测到了给你封了
0x0208v0
266 天前
就喜欢这种很实用的开源!
hxy100
266 天前
正好有类似的需要,有时间试试看
githmb
266 天前
@cat 之前用过还挺稳的,现在没需求了没测试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/965846

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX