为 osu! 新人群提供各种功能服务,在其他群也可以使用一些基本的功能。
Warning
如果你只是想使用消防栓,可以用自己的账号创建一个分身,参考消防栓分身。
本页内容仅在贡献代码或二次开发时才需要。请注意遵守开源协议。
- .NET 7.0
- go-cqhttp 或任何 OneBot v11 实现
- PostgreSQL
- Chromium-based browser
- 配置 Prerequisites 中所需的工具。注意 .NET 必须安装 SDK。
- 安装最新版本的 Visual Studio,确保选中 “.NET Core 跨平台开发”。
- 克隆本 repo。
- 将“Bleatingsheep.NewHydrant.Bot/appsettings.json.template”文件复制在相同目录下,重命名为“appsettings.json”。
- 编辑“appsettings.json”,将
NewbieDatabase_Postgres
修改为 PostgreSQL 的连接字符串。 - 将
ApiKey
修改为 osu! API v1 key。 - 将
SuperAdmin
修改为你的 QQ 号(非 bot 账号,该账号具有最高权限)。 - 将
ServerPort
修改为反向 ws 监听端口。 - 将
Chrome
下的Path
修改为 Chrome 浏览器的路径,如果未正确设置,部分功能可能无法使用。
尝试编译Bleatingsheep.NewHydrant.Bot
项目,根据提示消除编译错误。
使用 go-cqhttp 的“反向 WebSocket”模式连接 ServerPort
中配置的端口。
接下来将说明如果部署至生产环境。请注意本文只提供基本方法,关于你服务器上的
- 首先安装 Prerequisites 环境,.NET 安装 runtime 即可。
接下来将编译
- 右键单击
Bleatingsheep.NewHydrant.Bot
项目,点“发布”。 - 目标选“文件夹”,然后选择合适的文件夹。
- 发布后,把该文件夹的文件全部复制到服务器上。
如果使用命令行,则运行以下命令(和上面的步骤二选一):
dotnet publish Bleatingsheep.NewHydrant.Bot -c Release -o <output_dir>
- 创建“appsettings.json”文件,并按上方相同方法配置。
此文件应该与“Bleatingsheep.NewHydrant.Bot.dll”放在同一目录。 - 如果希望提供公共服务,将
ServerAccessToken
修改为要求客户端(OneBot 实现)设置的 Token。
先在服务器上运行一次,创建数据库结构,然后连接数据库,在 DuplicateAuthentication
表中添加 Bot 账号以及 AccessToken,请注意务必与公开 Token 不同。该账号使用此 Token 将具有高权限。
在服务器上打开 Powershell(或 bash 等任何 shell),运行
dotnet Bleatingsheep.NewHydrant.Bot.dll
要连接 go-cqhttp,请使用“反向 WebSocket”模式,并按照数据库中的 Token 进行配置。
高权限的 Bot 账号可以使用绑定功能,低权限没有,这是为了防止伪造绑定和管理请求。
项目主体部分使用 AGPL 协议授权,框架部分(Bleatingsheep.NewHydrant 文件夹)使用 MIT 协议授权。
本项目可能用到了其他项目的代码,遵守其协议,在此列出。
链接 | 协议 |
---|---|
https://github.com/dotnet/runtime | MIT |