Skip to content

OneBot 适配器(onebot_adapter)

OneBot 11 适配器,让你的机器人接入 QQ 等 OneBot 11 协议平台,通过 WebSocket 与 Napcat 等实现端通信。

它能做什么

  • 接入 QQ:把 Neo-MoFox 连接到你的 QQ 账号,收发消息
  • 黑白名单:精细控制哪些群 / 哪些人的消息要处理
  • 戳一戳:处理 QQ 的「戳一戳」交互
  • 表情回应:处理群聊表情回复(贴表情)通知

快速开始

1. 准备 OneBot 实现

安装一个支持 OneBot 11 协议的实现端(如 NapCat),并开启 WebSocket 服务。

2. 配置连接

配置文件:config/plugins/onebot_adapter/config.toml,也可在 WebUI 的「插件配置」中图形化编辑。

toml
[bot]
qq_id = "123456789"        # Bot 的 QQ 账号
qq_nickname = "我的机器人"   # Bot 的昵称

[onebot_server]
mode = "reverse"           # reverse: 逆向 / direct: 正向
host = "localhost"
port = 8095
access_token = ""          # 可选,留空表示不鉴权
  • reverse(逆向):OneBot 实现端主动连接 Neo-MoFox(推荐)
  • direct(正向):Neo-MoFox 主动连接 OneBot 实现端

3. 启动

插件随 Neo-MoFox 启动时自动加载,WebSocket 连接自动建立与重连由基类处理。

黑白名单过滤

群聊过滤

  • 黑名单模式 (blacklist):屏蔽指定群聊的消息
  • 白名单模式 (whitelist):只接收指定群聊的消息

私聊过滤

  • 黑名单模式 (blacklist):屏蔽指定用户的私聊消息
  • 白名单模式 (whitelist):只接收指定用户的私聊消息

全局封禁

ban_user_id 中的用户无论在群聊还是私聊都会被过滤。

配置示例

toml
[features]
# 群聊:只允许特定群聊的消息
group_list_type = "whitelist"
group_list = ["123456789", "987654321"]

# 私聊:屏蔽特定用户的消息
private_list_type = "blacklist"
private_list = ["111111111", "222222222"]

# 全局封禁
ban_user_id = ["333333333", "444444444"]

常见使用场景

场景群聊模式私聊模式说明
个人机器人(只服务特定群和用户)whitelistwhitelist严格白名单
群管机器人(屏蔽捣乱用户)blacklistblacklist配合 ban_user_id
公开服务机器人(无限制)blacklistblacklist名单留空即可

戳一戳功能

toml
[features]
enable_poke = true                    # 是否启用戳一戳
ignore_non_self_poke = false          # 是否忽略不是针对自己的戳一戳
poke_debounce_seconds = 2.0           # 戳一戳防抖时间(秒)

配置参数详解

[plugin] 插件设置

参数默认值说明
enabledtrue是否启用 OneBot 适配器

[bot] Bot 配置

参数说明
qq_idBot 的 QQ 账号 ID
qq_nicknameBot 的 QQ 昵称

[onebot_server] OneBot 服务器

参数默认值说明
modereversews 连接模式:reverse / direct
hostlocalhostOneBot WebSocket 服务地址
port8095OneBot WebSocket 服务端口
access_token""OneBot API 访问令牌(可选)

[features] 功能特性

参数默认值说明
group_list_typeblacklist群聊名单模式
group_list[]群聊名单
private_list_typeblacklist私聊名单模式
private_list[]私聊名单
ban_user_id[]全局封禁用户 ID 列表
enable_poketrue是否启用戳一戳
ignore_non_self_pokefalse是否忽略非自己的戳一戳
poke_debounce_seconds2.0戳一戳防抖时间

依赖

  • Python 依赖:pillow>=12.1.0(必需)

相关文档

贡献者

The avatar of contributor named as micraft1024a micraft1024a

页面历史

Released under the GPL-3.0 License.