概览
加载中…
账号数
—
已创建的 QQ 机器人实例
在线实例
—
反向 WS 已连接的账号
容器数
—
今日消息 0 条
已安装插件
—
已通过审核的插件总数
我的实例
每个 QQ 账号对应一个 NapCat 容器,可独立启停
已用 0 / 0
实时消息
WebSocket 实时推送,断开时自动降级为轮询
未连接
| 时间 | 方向 | 类型 | 群号 | 发送者 | 内容 |
|---|
最多保留 300 条,向上滚动时自动滚动会暂停
接口总数
—
OneBot 11 action 数量
事件总数
—
上报事件类型
消息段总数
—
可发送的消息段类型
OneBot 版本
—
协议规范版本
| 分类 | 动作名 | 名称 | 参数 | 说明 | 示例 |
|---|
| post_type | 子类型 | 名称 | 字段 | 说明 |
|---|
| 类型 | 名称 | 发送写法 | 接收结构 | 说明 |
|---|
| 名称 | slug | 版本 | 类型 | 状态 | 安装量 | 更新时间 | 操作 |
|---|
| 插件名 | 实例 | 状态 | 审核意见 | 提交时间 |
|---|
账号资料
修改密码
新密码至少 6 位,修改后请重新登录其他设备
开发者申请
通过审核后即可提交插件到插件广场
管理员审核通过后,你的账号会获得开发者身份。
开发者流程
从申请身份到插件上架的完整路径
快速上手
反向 WebSocket 接入地址与鉴权方式
反向 WS 地址模板
ws://<当前域名>/onebot/{实例ID}?token={实例 OneBot Token}
把实例卡片上复制的「反向 WS 地址」填入 NapCat WebUI 的网络配置;token 与实例绑定,重置实例后会变化。
事件上报格式
{ "type": "event", "instance_id": "ins_xxxxxx", "data": { "post_type": "message", "message_type": "group", "group_id": 123456, "user_id": 10001, "raw_message": "你好", "sender": { "nickname": "小明" } } }
平台会把 NapCat 上报的原始事件包装在 data 字段后推送给浏览器与插件。
JavaScript 接入示例
// 浏览器 / Node 侧监听平台事件流(token 走查询参数)
const token = '<前台登录令牌 napcat_token>';
const ws = new WebSocket('ws://127.0.0.1:8080/api/ws/events?instance=ins_xxxxxx&token=' + token);
ws.onmessage = (e) => {
const packet = JSON.parse(e.data);
if (packet.type !== 'event') return; // hello / ping / status 忽略
const evt = packet.data;
if (evt.post_type === 'message' && evt.message_type === 'group') {
console.log('群消息', evt.group_id, evt.raw_message);
}
};
Python 接入示例
import asyncio, json
import websockets
URL = "ws://127.0.0.1:8080/onebot/ins_xxxxxx?token=<实例 OneBot Token>"
async def main():
async with websockets.connect(URL) as ws:
# 主动调用 OneBot 接口
await ws.send(json.dumps({"action": "get_login_info", "params": {}, "echo": 1}))
while True:
msg = json.loads(await ws.recv())
if "post_type" in msg:
print("事件:", msg["post_type"], msg.get("raw_message", ""))
asyncio.run(main())