2.0.6 • Published 1 year ago

kokkoro v2.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

priconne redive qq group npm package node engine

本项目是一个基于 amesu 协议库,使用 TypeScript 语言开发的 QQ 机器人框架

介绍

目前 kokkoro 处于 alpha 状态,不过她已经适用于开箱即用,极少部分 API 和配置项可能会在未来版本中发生变化。

原项目 yumemi_bot 最初为个人自用 bot,主要围绕 公主连结☆Re:Dive 开发相关功能,因代码严重耦合不利于维护,使用 ts 分离重构为插件一对多形式的框架。

  • 多群插件管理,所有插件针对不同群聊均支持参数自定义
  • 支持扫码登录,能有效避免因操作不当导致账号风控、掉线等问题
  • 友好的脚手架,无需手动修改配置文件,全由命令自动构建
  • 账号同步登录,可添加多个 bot 自由管理
  • web 可扩展性,每个插件均支持独立的 web 页面及路由服务

构建

本项目不用安装任何第三方软件,非常简单轻便
仅需三行命令即可构建,你可以选择下列任意一种方式来初始化你的项目

# 全局安装 cli
npm i -g @kokkoro/cli

# 创建并进入文件夹
mkdir bot && cd bot

# 初始化配置文件
kokkoro init

or

# 创建并进入文件夹
mkdir bot && cd bot

# 本地安装 cli
npm i @kokkoro/cli

# 初始化配置文件
npx kokkoro init

若网速较慢可以尝试使用阿里镜像源
npm i -g @kokkoro/cli --registry=https://registry.npmmirror.com

yuki,你为什么不讲下用 yarn 如何安装呀?(这是给小白看的,你 npm 都会用了还需要讲 yarn 么)

结构

当你输入 kokkoro init 后, kokkoro 将会为你在当前所在目录自动安装并生成相关文件

.
├─ data               资源目录
├─ db                 数据库目录
├─ logs               日志目录
├─ plugins            插件目录
├─ main.js            程序入口
└─ kokkoro.json       配置文件

项目 启动后 尽量避免编辑器直接修改配置文件,你改了也不会生效的,使用指令修改可以立即生效

启动

一切准备就绪,开始启动你的项目吧。如果你是使用的本地安装,就要使用 npx kokkoro start -d 启动项目。

kokkoro start -d

首次启动项目,将会为 admin 动态编译例如 api url 等配置参数。第一次编译完成后只要不修改相关 config 就不会再次编译。

-d 代表着 develop 模式,会将 web serve 指向内网 ip 运行,方便用于本地调试。若要在服务器部署可以直接使用 kokkoro start 或者 node main.js,后者指向公网 ip。

如上述步骤无误,控制台会输出服务地址,首次访问会提示创建 admin 账号,之后进入后台即可管理账号登录与插件状态。

账号登录成功后,会在根目录下的 data/bot 自动生成 QQ 账号的缓存及相关配置文件。

配置参数

在初始化项目后,会在根目录下生成 kokkoro.json 文件,你可以在此修改相关配置

{
  // web 服务
  "server": {
    // 端口号
    "port": 2333,
    // 域名
    "domain": null,
  },
  // 日志等级,默认 info
  // 打印日志会降低性能,若消息量巨大建议修改此参数
  "log_level": "info",
  // bot 信息,可添加多个
  "bots": [
    // bot 账号
    "uin": 1145141919,
    // 项目启动时自动登录,默认 false
    "auto_login": false,
    // 账号密码,若不填写则使用扫码登陆
    "password": null,
    // bot 主人,可添加多个
    "masters": [
      2225151531
    ],
    // 协议配置,不要随意修改,除非你知道自己在做什么
    "protocol": {
      // 日志等级,与上面的 log_level 不同,只针对 bot 消息打印
      "log_level": "info",
      // 1:安卓手机(默认) 2:aPad 3:安卓手表 4:MacOS 5:iPad
      "platform": 1,
      // 忽略自己的消息,默认 true
      "ignore_self": true,
      // 被风控时是否尝试用分片发送,默认 true
      "resend": true,
      // 数据存储文件夹
      "data_dir": "data/bot",
      // 重新登录间隔,默认5(秒)
      "reconn_interval": 5,
      // 是否缓存群员列表,默认 true,
      // 群多的时候 (500~1000) 会多占据约 100MB+ 内存
      // 关闭后进程只需不到 20MB 内存
      "cache_group_member": true,
      // 自动选择最优服务器
      // 关闭后会一直使用 `msfwifi.3g.qq.com:8080` 进行连接
      "auto_server": true
    }
  ]
}

TODO

🟢 已完成 🔵 待优化 🟡 进行中 🔴 咕咕咕

核心库

TablesCool
多 bot 管理🟢
数据库支持🟢
web api 服务🔵
admin 后台🔵
QQ 频道支持🔴

插件适配

TablesCool
cherugo🟢
hitokoto🟢
group🟢
setu🟢
chatgpt🟢
rss🟡
saucenao🔵
pcr🟡
sandbox🟡
aircon🟢
chess🔴
guess🔴
lifeRestart🔴
qa🔴
galgame🔴

补充

首次登录推荐使用扫码,密码登录需要过滑块验证,非真机环境下抓取 ticket 会失效
但是扫码登录后如果进行敏感操作,例如频繁下线上线等,可能会出现掉线需要重新扫码的情况
登录一段时间后,就不会再弹出滑动验证,此时建议将 token 抓到服务器后使用密码登录,更加稳定 φ(≧ω≦*)♪

鸣谢

感谢 JetBrains 提供了免费的开源许可证

JetBrains Logo (Main) logo

2.0.6

1 year ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

2.0.0-alpha.7

2 years ago

2.0.0-alpha.8

2 years ago

2.0.0-alpha.9

2 years ago

2.0.0-alpha.3

2 years ago

2.0.0-alpha.10

2 years ago

2.0.0-alpha.4

2 years ago

2.0.0-alpha.5

2 years ago

2.0.0-alpha.6

2 years ago

2.0.0-alpha.1

2 years ago

2.0.0-alpha.2

2 years ago

1.3.1

2 years ago

1.2.0

3 years ago

1.1.1

3 years ago

1.0.2

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

1.2.8

3 years ago

1.2.7

3 years ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.0.4

3 years ago

1.3.0

3 years ago

1.2.1

3 years ago

1.0.3

3 years ago

1.2.9

3 years ago

0.4.0

3 years ago

0.3.6

3 years ago

0.3.5

3 years ago

0.3.7

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.4

3 years ago

0.3.3

3 years ago

0.3.0

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.2.6

3 years ago

0.2.3

3 years ago

0.1.4

3 years ago

0.2.2

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.1.0

4 years ago

0.0.0

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.3

3 years ago

0.0.3

4 years ago

0.0.4

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago