Skip to content

Latest commit

 

History

History
104 lines (84 loc) · 5.79 KB

README.MD

File metadata and controls

104 lines (84 loc) · 5.79 KB

多平台机器人 KoishiBot

GitHub Workflow

GitHub top language GitHub file lines GitHub file size

GitHub Repo stars GitHub forks

支持平台

快速开始

使用此 bot 请先下载最新 Action 内的 monitor 工件,并在同级目录配置monitor-settings.json。下列为一个简单的配置:

{
  "enable_backends": "qq-backend,kook-backend,telegram-backend",
  "github_token": "替换为 GitHub Token"
}
  • enable_backends:必需项,要启用的后端。monitor 会自行下载最新 Action 中的对应文件,在之后的启动更新或手动更新中也会读取这个配置。
  • github_token:必需项,要求为一个 GitHub Token。读取 Action 时要求使用 Token,所以此项必填。
  • action_repo:monitor 进行更新检查等操作时调用的 Action 位置,默认为Nickid2018/KoishiBot;build.yml。以分号分割,前面一项是 GitHub 仓库名称,后一项是 Workflow 文件。
  • core_port:用于与机器人内核程序进行通信的端口,默认为23333
  • proxy:代理设置,可不存在。
    • type:代理类型,可以为httpsocks,默认http
    • host:代理主机,默认为127.0.0.1
    • port:代理端口,对于http默认为7890socks默认为1080
    • user:代理使用的用户名,默认不需要配置。
    • password:代理使用的密码,默认不需要配置。

在配置写完后,可以直接执行 monitor,它会在本目录创建 bot 的运行环境,包括核心和后端,并将这些文件的校验和存入monitor-data.json。创建环境完成后会自动退出。

接下来需要配置核心,名称为botKoishi.json。基础配置如下:

  • core_port:必需项,内核程序与 monitor 进行通信的端口,默认为23333。必须与 monitor 中的一致。
  • delegate_port:必需项,用于连接各个后端进行通信的端口,默认为52514
  • proxy:与上文相同。
  • local_ip:非必须,本机的 IP 地址。用于 OAuth 回调等。
  • port:非必须,开放端口,作用与 IP 地址相同。
  • owner:列表,设置机器人的主人。被指定的用户具有OWNER执行权限。

一些模块通用的配置如下:

  • audio:转换音频的设置。
  • image:生成图片设置。(不包括网页渲染图片)
    • font:图片内使用的字体。
    • size:字体大小。
  • webdriver:指定 Firefox Driver 的位置。用于网页渲染。
  • sensitives:敏感词过滤设置。
    • type:敏感词过滤器的类型,可以为baidu,不写则使用单词过滤。
    • file:单词过滤的文件,敏感词需要以\n分割。
    • appId:使用百度过滤的 App ID。
    • appKey:使用百度过滤的 App Key。

下列是对应模块的对应设置:

  • github 模块:
    • github_token:一个 GitHub Token。用于读取 GitHub 上的信息。
    • github_oauth2GitHub OAuth 设置。
      • client_id:Client ID。
      • client_secret:Client Secret。
  • wakatime 模块:
    • wakatimeWakatime OAuth 设置。与前文 GitHub OAuth 设置方法相同。
  • translate 模块:
    • youdao:有道翻译后端。
      • app_key:App Key。
      • app_secret:App Secret。
  • wiki 模块:
    • wiki:wiki 模块的设置。
      • wikis:所有可以直接访问的 wiki。
        • wiki 前缀:一个 wiki 的前缀,用于标识访问。
          • url:wiki 的 api.php 位置。
          • render:网页渲染设置。
            • width:网页渲染宽度。
            • height:网页渲染高度。
            • enable:是否进行渲染。
      • base:基础 wiki,指定的 wiki 不需要打前缀就能访问。

配置核心后,还需要配置各个后端。后端的配置在各个子项目的说明文件中。

配置完成后,再次运行 monitor 就可以启动。

monitor 命令

enter 子进程

monitor 会将核心和后端进行执行,但不是在本进程内进行操作,而是开新的进程,并通过网络进行连接。这样可以让机器人可以自动更新和阻止意外掉线等问题。

进入子进程的控制台需要使用此命令,此时输入流会被重定向到子进程的输入流,子进程的输出流会重定向到控制台。如果子进程结束,monitor 会自动断开连接。

monitor 在启动时自动进入核心core进程。

quit

退出子进程,但不关闭子进程。必须在进入后输入此命令。

exit

关闭 monitor,同时关闭核心和所有后端。