关于 Tsugu V4.0 与 Koishi插件

2023年3月15日,BanG Dream!日服推出了大更新 (https://anniv-bang-dream.bushimo.jp/6th/update/),推出了很多例如5星,3d Live之类的很多内容。
与此同时,这次更新的内容太大,老版本的Tsugu已经不能只是修修补补就追上新版本的进度了,之前版本的Tsugu在运行的时候会因为新旧版本API区别太大而无法运行。所以在这段时间,Tsugu进行了彻底的重写,并且使用了Koishi框架 (https://koishi.chat/zh-CN/),提高兼容性。

Koishi是一个跨平台、可扩展、高性能的 node.js 机器人框架,可以在很多种设备,比如windows,android设备 或者 linux 与 MacOS 的系统上运行,有很多开发者提供各种插件和适配器。新版本的Tsugu是作为koishi的插件开发的,并且koishi插件和真正的后端是分离的。大家可以去在安装koishi后安装 tsugu-bangdream-bot 插件来使用Tsugu。Tsugu的功能可以与其他插件共存,以创造更多功能的机器人。

如果只是安装插件的话,默认的后端服务器设置的是Tsugu的公开服务器,bot会在需要绘图的时候访问Tsugu服务器进行绘制。这样虽然方便,但是在Tsugu服务器宕机的时候,所有需要绘图的功能都会失效。如果想要在Tsugu宕机的时候依然功能正常,可以试着自己部署绘图后端,详细内容会在后面提到。
同时因为使用了Koishi框架,大家可以把Tsugu部署在更多的平台,比如微信,飞书,kook与discord等 (甚至可以与Tsugu互发邮件),但是目前还没有在除了onebot适配器以外的其他平台进行过测试。同时Koishi似乎做到兼容python框架 'nonebot',可以在Koishi框架中使用来自nonebot的插件。

同时,新版本Tsugu彻底重新设计了界面,使用了参考BanG Dream! 6周年的设计语言,并且为多服务器支持优化了界面。其中一些功能的背景图片会随着内容而变化,但是会降低图片生成速度,是否使用华丽的背景在插件控制台可以选择开关。
新版本Tsugu完全兼容了5个服务器(国服,日服,台服,韩服与国际服),可以使用 '设置默认服务器' 调整服务器列表 ('设置默认服务器 cn jp'指令会让界面显示国服与日服信息) 与'国服模式' ('日服模式'等类似指令同理) 来设置默认服务器,同时绑定玩家等功能也支持了所有类型的服务器。

这次Tsugu是彻底重写,大部分功能都已经被移植到了新版本,并且重新优化了界面。但是因为Koishi对指令的要求比较严格,所以一些指令的使用方式发生了变化。最明显的一点是,所有指令与参数之间必须添加空格 ('ycx100'将不可应,请使用'ycx 100',需要在ycx与100中间添加空格,才会被识别为指令。) 可以使用 'help' 指令来调出使用说明列表,help+对应的指令可以查询指令的详细说明与使用示例。其中< >中的为必选参数,[ ]中的为可选参数。


最新版本的Tsugu是一个开源项目,大家可以才仓库看到最新的更新进度,也欢迎大家来给新版本的Tsugu添砖加瓦!
使用说明
首先,请去koishi.chat下载你的设备对应的版本的koishi
在安装完成之后,通过以下教程来连接到自己的qq号,只有这样才能在qq部署机器人。如果不是在qq使用的话,请安装对应平台的adapter


在连接到qq或者其他adapter之后,请安装tsugu-bangdream-bot插件,并且启用该插件


后端部署教程
大家可能注意到设置的参数中有一个backendUrl选项,这个就是Tsugu需要的后端的地址。这个选项的默认地址是Tsugu的服务器的地址,运行在Tsugu服务器上供大家使用。但是Tsugu的服务器可能并不是在所有时间都稳定,所以有条件的话推荐自己部署后端。同时有能力的话,你也可以把你的后端放到公网,供其他人使用。

目前Tsugu还在不断完善的阶段,后端可能随时会有更新,如果要自己部署的话,可以使用tsugu的仓库来保持随时更新。
首先,请确保你安装了node.js v18,目前Tsugu开发时的环境为v18.16.0
在这个基础上,请安装ts-node,可以安装pm2来保证稳定性
后端在Tsugu仓库的/backend目录,请安装对应的依赖
直接运行tsugu后端,或者使用命令行运行tsugu后端