# wechatbot-webhook
**Repository Path**: Easy-Martin/wechatbot-webhook
## Basic Information
- **Project Name**: wechatbot-webhook
- **Description**: 微信聊天机器人,clone至github
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-01-22
- **Last Updated**: 2025-12-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

 
 

[🚢 Docker 镜像](https://hub.docker.com/r/dannicool/docker-wechatbot-webhook/tags) | [📦 NPM包](https://www.npmjs.com/package/wechatbot-webhook)|[🔍 FAQ](https://github.com/danni-cool/wechatbot-webhook/issues/72)
一个小小的微信机器人webhook,帮你抹平了很多自己开发的障碍,基于 http 请求,与hooks微信不同,因为基于web api,所以优势在于可以部署到arm架构等设备上
## ✨ Features
> [!Caution]
> 项目目前基于web微信,其本身就有被限制风险,另外大概两天一掉线,除了正常功能修补,不接新的 feature request。 windows 协议正在WIP,近期应该会和大家见面!
| **功能** | web协议 | windows协议 |
| --- | --- | --- |
| 目前可用性 | ✅ | ❌ |
| 代码分支 | main | windows |
| Docker Tag | latest | windows |
| **<发送消息>** | ✅ 单条 / 多条 / 群发 | ✅ 单条 / 多条 / 群发 |
| 发文字 | ✅ | ✅ |
| 发图片 | ✅ 本地图片 / url图片解析 | ✅ 本地图片 / url图片解析 |
| 发视频(mp4) | ✅ 本地视频 / url视频解析 | |
| 发文件 | ✅ 本地文件 / url文件解析 | ✅ 本地文件 / url文件解析 |
| **<接收消息>** | | |
| 接收文字 | ✅ | ✅ |
| 接收语音 | ✅ | |
| 接收图片 | ✅ | |
| 接收视频 | ✅ | |
| 接收文件 | ✅ | |
| 接收公众号推文链接 | ✅ | |
| 接收系统通知 | ✅ 上线通知 / 掉线通知 / 异常通知 | |
| [头像获取](#33-获取静态资源接口) | ✅ | |
| [快捷回复](#返回值-response-结构可选) | ✅ | ✅ |
| **<群管理>** | | |
| **<好友管理>** | | |
| 接收好友申请 | ✅ | |
| 通过好友申请 | ✅ | |
| 获取联系人列表 | | |
| **<其他功能>** | | |
| 非掉线自动登录 | ✅ | |
| API 鉴权 | ✅ | ✅ |
| [n8n](https://n8n.io/) 无缝接入 | ✅ | |
| 支持docker部署 | ✅ arm64 / amd64 | ✅ amd64 |
| 日志文件导出 | ✅ | ✅ |
### ⚠️ 特别说明:
以上提到的功能 ✅ 为已实现,受限于微信协议限制,不同协议支持功能也是不同的,并不是所有功能都可以对接,例如:
- 企业微信消息的收发 [#142](https://github.com/danni-cool/wechatbot-webhook/issues/142)
- 发送语音消息 / 分享音乐 / 公众号等在 features 中未提到的功能
## 🚀 一分钟 Demo
### 1. 运行 & 扫码
```bash
npx wechatbot-webhook
```
> 除非掉线,默认记住上次登录,换帐号请运行以下命令 `npx wechatbot-webhook -r`
> 如遇安装报错,请确保自己的node版本 >= 18.14.1 [#227](https://github.com/danni-cool/wechatbot-webhook/issues/227)
### 2. 复制推消息 api
从命令行中复制推消息api,例如 http://localhost:3001/webhook/msg/v2?token=[YOUR_PERSONAL_TOKEN]

### 3. 使用以下结构发消息
新开个终端试试以下 curl,to、token 字段值换成你要值
```bash
curl --location 'http://localhost:3001/webhook/msg/v2?token=[YOUR_PERSONAL_TOKEN]' \
--header 'Content-Type: application/json' \
--data '{ "to": "测试昵称", data: { "content": "Hello World!" }}'
```
## 🔧 开发
> [!IMPORTANT]
> 包管理器迁移已至 pnpm,安装依赖请使用它,以支持一些不定时的临时包修补(patches)和加速依赖安装
## ⛰️ 部署 Deploy(推荐)
#### 1.使用 docker 部署
##### 拉取最新镜像
```
docker pull dannicool/docker-wechatbot-webhook
```
##### docker 部署
```bash
# 启动容器并映射日志目录,日志按天维度生成,e.g: app.2024-01-01.log
docker run -d --name wxBotWebhook -p 3001:3001 \
-v ~/wxBot_logs:/app/log \
dannicool/docker-wechatbot-webhook
```
##### 使用 compose 部署 (可选)
```bash
wget -O docker-compose.yml https://cdn.jsdelivr.net/gh/danni-cool/wechatbot-webhook@main/docker-compose.yml && docker-compose down && docker-compose -p wx_bot_webhook up
```
#### 2.登录
```bash
docker logs -f wxBotWebhook
```
找到二维码登录地址,图下 url 部分,浏览器访问,扫码登录wx