跳转到内容

选择并配置适配器

通过设置 LINGCHUAdapter(或 LINGCHU_ADAPTER 环境变量)选择 Lingchu Bot 在启动时加载的平台适配器。每个平台只启用一个适配器;默认为 OneBot V11。

未被选中的平台会被完全排除在运行时之外:其权限模块不会被导入,身份组种子也不会被创建。你只需要为实际使用的平台安装适配器包。

适配器 ID 平台 是否默认
~onebot.v11 通过 OneBot V11 接入 QQ 是(未设置时)
~telegram Telegram

其他适配器 ID(如 Milky、QQ 或 OneBot V12)未实现;配置它们会抛出 PlatformAdapterUnknownError

.env 或 TOML 配置中设置 NoneBot 全局配置值:

LINGCHUAdapter = "~onebot.v11"

仅部署 Telegram 时显式选择 ~telegram

LINGCHUAdapter = "~telegram"

当 NoneBot 同时加载了两个适配器时,可用 + 连接 ID 同时启用:

LINGCHUAdapter = "~onebot.v11+~telegram"

LINGCHU_ADAPTER 环境变量适用于容器和 CI 等不便编辑 .env 或 TOML 的场景。它接受单个适配器字符串、+ 分隔的字符串,或(通过 dotenv/TOML 设置时)JSON 数组:

Terminal window
# 单个适配器
LINGCHU_ADAPTER=~onebot.v11
# 多个适配器(字符串形式)
LINGCHU_ADAPTER=~onebot.v11+~telegram
LINGCHUAdapter = ["~onebot.v11", "~telegram"]

Lingchu 按以下顺序解析适配器(从高到低):

  1. 操作系统环境变量(os.environ 中的 LINGCHU_ADAPTER
  2. NoneBot dotenv 文件(.env,可出现 LINGCHUAdapterLINGCHU_ADAPTER
  3. NoneBot global_config(通过 lingchu_adapter 别名解析)

不属于任何平台 profile 的未知适配器不被视为已启用。消息存储仍会接受其事件,但会将 platform 字段写入 unknown,为下游展示提供稳定的 Unknown 分桶,而非将原始适配器名称视为平台 ID。

  1. 启动 Bot。
  2. LINGCHUAdapter 未设置,QQ 默认使用 ~onebot.v11——请确保 NoneBot 已加载 OneBot V11。
  3. 若启动时抛出 PlatformAdapterNotLoadedError,说明选中的适配器未被 NoneBot 加载。请加载对应的适配器,或将 LINGCHUAdapter 改为已加载的适配器。