Skip to content

配置文件说明

神代綺凛 edited this page Dec 12, 2023 · 44 revisions

绝大部分配置项的说明都以注释形式写在配置文件中(jsonc 支持注释,你无需将注释删除)

以下为部分配置项的详细说明

搜图相关

【重要】saucenao apikey

相关配置项:saucenaoApiKey

从2021年1月21日起,必须配置 apikey 才能正常使用 saucenao 搜图,前往此处注册帐号,进入用户中心后页面左侧进入 api 页面即可看到

搜图缓存

相关配置项:bot.cache

该功能可节省各类搜图 API 的使用

* 在搜图时加入--purge参数可以无视缓存搜图并更新缓存

自定义 host

格式支持[<protocol>://]<host>[:<port>],当 protocol 不写时,除了官方域名外都默认采用 http

处理好友请求和入群邀请

相关配置项:bot.autoAddFriendbot.addFriendAnswersbot.autoAddGroup

  • 好友请求
    • 如果在QQ中设置选择“允许任何人”,则直接通过,酷Q无法干预
    • 如果选择“需要验证信息”,则是否通过由autoAddFriend设置项决定
    • 如果选择“需要正确回答问题”,则是否通过由对方的回答决定,酷Q无法干预
    • 如果选择“需要回答问题并由我确认”,则在autoAddFriendtrue,且addFriendAnswers数组不为空的情况下会进行判断,只有对方的回答与addFriendAnswers的设置完全一致才会同意
  • 入群邀请
    • 是否通过由autoAddGroup设置项决定,但可以手动同意,见下方“手动处理进群邀请”

* autoAddFriendfalse时不会主动拒绝申请,只是忽略申请而已,autoAddGroup同理

addFriendAnswers配置规则

请将问题的答案顺次作为addFriendAnswers数组的元素写入,例:

"addFriendAnswers": [
  "问题一的答案",
  "问题二的答案"
]

目前貌似最多只可以设置两个问题,请一定要写入与问题个数相等数量的元素,多写会爆炸的

* 如果你设置了两个问题但是只在addFriendAnswers数组中写了一个元素,那么只会验证第一个问题

手动处理入群邀请

当你设定了bot.admin为你自己的QQ后,假如123456789是你需要让机器人加的群,向机器人私聊发送--add-group=123456789,此时

  • 如果该群之前已经在机器人处于运行状态的时候邀请过机器人,那么该邀请会被直接同意
  • 如果之前没有邀请过,那么下一次邀请将会被同意
  • 以上两种操作都是一次性

自定义 canvas 库

相关配置项:bot.canvasLibrary

可选值:auto@napi-rs/canvascanvas

  • auto:如果安装了 canvas 则优先使用 canvas,否则使用 @napi-rs/canvas
  • 其余值:使用指定库

该配置无法使用配置热重载切换,更改后请重启项目

本项目默认使用 @napi-rs/canvas,如果使用时出现异常,可切换至使用 canvas

如何切换至 canvas

  1. 进入 libs/canvas 目录
  2. 安装依赖(npm iyarn,总之和你安装本项目依赖时执行的命令相同)
  3. 确保配置项 bot.canvasLibraryautocanvas
  4. 重启项目

使用 Puppeteer 绕过 cf js challenge

相关配置项:bot.ascii2dUsePuppeteerbot.nHentaiUsePuppeteer

Note

目前貌似 puppeteer-extra-plugin-stealth 存在缺陷无法真正应对 js challenge,只能祈求不出 js challenge,因此对于策略严格的站点依然无法使用(例如 nHentai,只是先摆个配置在这里)

Puppeteer 体积较大(本质 chromium 浏览器),因此并没有将其加入项目的依赖中,需要手动安装:

  1. 进入 libs/puppeteer 目录
  2. 安装依赖(npm iyarn,总之和你安装本项目依赖时执行的命令相同)

该能力尚处试验阶段,如果遇到问题请提 issue