Go to file
2024-04-23 18:38:13 +08:00
.github chore: release.yml 2024-04-17 18:40:49 +08:00
script fix 2024-04-16 13:56:07 +08:00
src fix: rkey 2024-04-23 18:38:13 +08:00
.editorconfig NapCatQQ 2024-04-15 00:09:08 +08:00
.env.development NapCatQQ 2024-04-15 00:09:08 +08:00
.env.production NapCatQQ 2024-04-15 00:09:08 +08:00
.eslintrc.cjs style:lint 2024-04-15 11:08:31 +08:00
.gitignore fix:checkVesion 2024-04-16 12:46:37 +08:00
.gitmodules NapCatQQ 2024-04-15 00:09:08 +08:00
LICENSE Create LICENSE 2024-04-16 10:27:32 +08:00
logo.png logo png 2024-04-10 16:47:01 +08:00
package.json chore:version change 2024-04-18 12:17:53 +00:00
README.md fix: rkey 2024-04-23 18:38:13 +08:00
tsconfig.json fix: tsconfig path alias 2024-04-16 12:59:52 +08:00
vite.config.ts fix: rkey 2024-04-23 18:38:13 +08:00

NapCatQQ

项目介绍

NapCatQQ瞌睡猫QQ不准叫我NCQQ像睡着了一样在后台低占用运行的无头(没有界面)的NTQQ

目前测试在 Windows 上表现优秀,最低可达只占用内存 20M左右

由于 Linux 上的 QQ 图形依赖较多,会导致内存占用小高,大约 100+M,目前正在研究如何优化

具体占用会因人而异QQ 群、好友越多占用越高

目前只支持 onebot11 协议

下载

前往 Release 页面下载最新版本

启动

NapCat 是基于 官方NTQQ 实现的Bot框架因此先需要安装官方QQ注意同个账号不能同时登录原版 QQ 和 NapCatQQ

如果没有安装 QQ 请往后翻查看安装方法

修改 config/onebot11.json内容,并重名为 onebot11_<你的QQ号>.json,如onebot11_1234567.json

json 配置内容参数解释:

{
  // 是否启用http服务, true为启动false为禁用如果启用可以通过http接口发送消息
  "enableHttp": false,
  // http服务端口
  "httpPort": 3000,
  // 是否启用正向websocket服务
  "enableWs": false,
  // 正向websocket服务端口
  "wsPort": 3001,
  // 是否启用反向websocket服务
  "enableWsReverse": false,
  // 反向websocket对接的地址, 如["ws://127.0.0.1:8080/onebot/v11/ws"]
  "wsReverseUrls": [],
  // 是否启用http上报服务
  "enableHttpPost": false,
  // http上报地址, 如["http://127.0.0.1:8080/onebot/v11/http"]
  "httpPostUrls": [],
  // 是否启用http心跳
  "enableHttpHeart": false,
  // http上报密钥可为空
  "httpSecret": "",
  // 消息上报格式array为消息组string为cq码字符串
  "messagePostFormat": "array",
  // 是否上报自己发送的消息
  "reportSelfMessage": false,
  // 是否开启调试模式开启后上报消息会携带一个raw字段为原始消息内容
  "debug": false,
  // 调用get_file接口时如果获取不到url则使用base64字段返回文件内容
  "enableLocalFile2Url": true,
  // ws心跳间隔单位毫秒
  "heartInterval": 30000,
  // access_token可以为空
  "token": ""
}

Windows 启动

运行powershell ./napcat.ps1, 或者 napcat.bat,如果出现乱码,可以尝试运行napcat-utf8.ps1napcat-utf8.bat

如果出现 powershell 运行不了,可以尝试 powershell.exe -ExecutionPolicy Bypass -File ".\napcat.ps1"

推荐使用 bat 运行powershell 会自身占用 20MB 左右的内存

Linux 启动

运行napcat.sh

或使用NapCatDocker

使用无需扫码快速登录

前提是你已经成功登录过QQ可以加参数 -q <你的QQ> 进行登录,如napcat.sh -q 1234567

安装

Linux安装

安装 Linux QQ(22741),已经安装了的可以跳过

目前还在研究怎么精简安装暂时只能安装官方QQ整体依赖

下载QQ

deb x86版本 deb arm版本

rpm x86版本 rpm arm版本

安装QQ

sudo dpkg -i --force-depends ./qq.deb

安装QQ的依赖

sudo apt install libgbm1 libasound2

Windows 安装

安装Windows QQ(22741),已经安装了的可以跳过

Windows版本QQ下载

编译安装 NapCat

如果你是直接下载编译好的版本,可以跳过这一步

准备环境 node18.18

npm install
npm run build

常见问题

二维码无法扫描

NapCat 会自动保存二维码到目录,可以手动打开图片扫描

如果没有条件访问本地目录,可以将二维码解析的 url 复制到二维码生成网站上生成二维码然后手机QQ扫描

语音、视频发送失败

需要配置 ffmpeg将 ffmpeg 目录加入环境变量,如果仍未生效,可以修改 napcat 启动脚本加入 FFMPEG_PATH 变量指定到 ffmpeg 程序的完整路径

如 Windows 上修改 napcat.ps1在第一行加入

$env:FFMPEG_PATH="d:\ffmpeg\bin\ffmpeg.exe"

出现 error code v2:-1 之类的提示

不用管,这是正常现象,是因为 QQ 本身的问题,不影响使用

本地登录后迁移至服务器

如果在服务器扫码登录提示出现网络环境不稳定不在同一网络,可以尝试在本地登录后,将 QQ 的文档传到服务器相同目录覆盖Linux 目录位于 ~/.config/QQ, Windows 一般是 文档下的QQ文件夹,具体可以打开 QQ的设置->存储管理 查看

或者手机使用 VPN 等方式连接到服务器网络使其和服务器在同一网络

Windows 运行出现 sqlite3 不是 win32 程序

运行时出现node_sqlite3.node is not a valid Win32 application

尝试自己用 npm 重新安装 sqlite3

npm uninstall sqlite3
npm install sqlite3

其他问题

NapCat 是基于 QQ 22741 版本开发的,其他版本不敢保证是否会出现一些奇怪的问题,有问题可以尝试安装此版本的 QQ

API 文档

NapCat Doc

声明

  • 请不要在无关地方宣传NapCatQQ本项目只是用于学习 node 相关知识,切勿用于违法用途

  • NapCat 不会收集用户隐私信息,但是未来可能会为了更好的利于 NapCat 的优化会收集一些设备信息,如 cpu 架构,系统版本等

相关链接

TG群

鸣谢名单

OpenShamrock

Lagrange