使用过程中请遵守 KanonBot 最终用户使用许可协议(EULA) 指令系统已启用严格模式 !command [arg1] [arg2] ✅ !command[arg1][arg2] ❌
KanonBot 2022 使用文档
本文档基于 2022 年版本编写,适用于 Kagami Studio(DESU.Life) 使用的 KanonBot 机器人。
账户注册与绑定
账户注册
- 指令:
!reg [email protected]
- 功能:注册并绑定邮箱账号,系统将发送一封验证邮件至该邮箱,点击邮件中的链接即可完成注册。
多平台绑定
- 在其他平台重复使用
!reg
指令会自动判定为绑定现有账户,而不是重新注册
绑定 osu! 账号
- 指令:
!bind osu <用户名>
指令系统
[]
为可选参数;<>
为必填参数;&
为输出高分辨率图像
osu! 主要信息查询
指令 | 参数 | 说明 |
---|---|---|
!info | <name>[]:<mode>[][&] | 查询个人资料 |
!recent / !re | <name>[]:<mode>[]#<num>[&] | 查询最近游玩的成绩 |
!pr | <name>[]:<mode>[]#<num>[&] | 查询最近游玩并通过的成绩 |
!bp | <name>[]:<mode>[]#<num>[&] | 查询 best performance |
!score | <name>#<bid>:<mode>[]+<mods>[][&] | 查询某张图的成绩 |
!ppvs | <name>#<name>[][&] | 对比 pp+ 数据 |
!set osumode | <mode> | 设置默认查询的模式 |
osu! 其他信息查询
指令 | 参数格式 | 说明 |
---|---|---|
!get bonuspp | 无 | 查询自己的奖励 pp 值 |
!get rolecost | <name>[] | 查询自己/他人在某项赛事中的 cost 值 |
!get bpht | 无 | 查询自己 bp 头尾差值 |
!get todaybp | 无 | 查询今日新增的 bp |
!get seasonalpass | 无 | 查询自己的季票信息 |
!get recommend | <mods>[] | 让猫猫推荐谱面,仅支持 std 模式 |
!get mu/profile | 无 | 输出 osu! 个人资料链接 |
!get bplist | <num> / <indexnum>-<indexnum> | 输出指定范围的 bp 列表 |
!leeway / !lc | <bid>[] + <mods>[] | 计算最近游玩或指定图的容错率与理论分数(std) |
季票系统说明(pt 机制)
基本规则
- 每季度:从首月 1 日开始,至末月最后一日 20:00 结算
- 使用
!pr
查询将自动回溯过去 25 张通过谱面 - 不计入 Failed 谱面
- 计算维度包括:星级、长度、mod、Combo、评级、Acc 等综合表现
勋章获取等级
模式 | 勋章门槛 |
---|---|
std | 30 级 |
taiko / mania / ctb | 15 级 |
KanonBot 勋章
指令 | 参数格式 | 说明 |
---|---|---|
!badge list | 无 | 获取你所拥有的勋章列表 |
!badge info | <num> | 获取指定勋章的详细信息 |
!badge set | <num> / <num,num,num,num> | 将指定勋章显示在个人资料页(*-1 为取消) |
!badge redeem | <code> | 兑换徽章 |
面板勋章规则
- v2 面板:顶部最多展示 5 枚,底部最多展示 14 枚徽章;支持空位(除 1 号位)
- v1 面板:最多支持展示 5 枚徽章;不支持空位,直接跳过
勋章申请说明
- 可申请对象:比赛(含群赛/锦标赛/友谊赛)、战队家族(Clan 前缀)、纪念用途
- 申请需提交:完整赛程表、参赛名单、战队列表
- 图像要求:使用模板图并严格按说明编辑,最小徽章尺寸,支持等比缩放
- 注意事项:2023/08/04 起,仅 staff 与正赛选手可获得比赛类徽章
面板/图像自定义系统
指令 | 参数格式 | 说明 |
---|---|---|
!set osuinfopanelversion | <1/2> | 设置 osu!infopanel 版本 |
!set osuinfopanelv1img | <url> / reset / delete | 设置 / 删除 panelv1 的自定义图像 |
!set osuinfopanelv2img | <url> / reset / delete | 设置 / 删除 panelv2 的自定义图像 |
!set osuinfopanelv1panel | <url> / reset / delete | 设置 / 删除 panelv1 的自定义面板 |
!set osuinfopanelv2panel | <url> / reset / delete | 设置 / 删除 panelv2 的自定义面板 |
!set osuinfopanelv2colormode | <0/1/2> | 设置 panelv2 的配色模式:0=自定义 ,1=亮色 ,2=暗色 |
!set osuinfopanelv2colorcustom | <config_text> | 设置 panelv2 的自定义配色配置文本 |
建议参考官方模板说明进行配色与图像设置,避免显示异常。
配色默认配置
Light
UsernameColor: #4d4d4d
ModeIconColor: #7f7f7f
RankColor: #5872df
CountryRankColor: #5872df
CountryRankDiffColor: #808080
CountryRankDiffIconColor: #3a4d78
RankLineChartColor: #80caea
RankLineChartTextColor: #80caea
RankLineChartDotColor: #80caea
RankLineChartDotStrokeColor: #eff1f3
RankLineChartDashColor: #dbe1e4
RankLineChartDateTextColor: #666666
ppMainColor: #e36a79
ppDiffColor: #e36a79
ppDiffIconColor: #e36a79
ppProgressBarColorTextColor: #d84356
ppProgressBarColor: #f7bebe
ppProgressBarBackgroundColor: #fddcd7
accMainColor: #6cac9c
accDiffColor: #6cac9c
accDiffIconColor: #6cac9c
accProgressBarColorTextColor: #006837
accProgressBarColor: #a4d8b1
accProgressBarBackgroundColor: #c3e7cb
GradeStatisticsColor_XH: #3a4d78
GradeStatisticsColor_X: #3a4d78
GradeStatisticsColor_SH: #3a4d78
GradeStatisticsColor_S: #3a4d78
GradeStatisticsColor_A: #3a4d78
Details_PlayTimeColor: #7f7f7f
Details_TotalHitsColor: #7f7f7f
Details_PlayCountColor: #7f7f7f
Details_RankedScoreColor: #7f7f7f
DetailsDiff_PlayTimeColor: #e36a79
DetailsDiff_PlayTimeIconColor: #e36a79
DetailsDiff_TotalHitsColor: #6cac9c
DetailsDiff_TotalHitsIconColor: #6cac9c
DetailsDiff_PlayCountColor: #5872df
DetailsDiff_PlayCountIconColor: #5872df
DetailsDiff_RankedScoreColor: #3a4d78
DetailsDiff_RankedScoreIconColor: #3a4d78
LevelTitleColor: #656b6d
LevelProgressBarColor: #f3b6cd
LevelProgressBarBackgroundColor: #e6e6e6
MainBPTitleColor: #656b6d
MainBPArtistColor: #656b6d
MainBPMapperColor: #656b6d
MainBPBIDColor: #656b6d
MainBPStarsColor: #656b6d
MainBPAccColor: #656b6d
MainBPRankColor: #656b6d
MainBPppMainColor: #364a75
MainBPppTitleColor: #656b6d
SubBp2ndModeColor: #ffffff
SubBp2ndBPTitleColor: #656b6d
SubBp2ndBPVersionColor: #656b6d
SubBp2ndBPBIDColor: #656b6d
SubBp2ndBPStarsColor: #656b6d
SubBp2ndBPAccColor: #ffcd22
SubBp2ndBPRankColor: #656b6d
SubBp2ndBPppMainColor: #ff7bac
SubBp3rdModeColor: #ffffff
SubBp3rdBPTitleColor: #656b6d
SubBp3rdBPVersionColor: #656b6d
SubBp3rdBPBIDColor: #656b6d
SubBp3rdBPStarsColor: #656b6d
SubBp3rdBPAccColor: #ffcd22
SubBp3rdBPRankColor: #656b6d
SubBp3rdBPppMainColor: #ff7bac
SubBp4thModeColor: #ffffff
SubBp4thBPTitleColor: #656b6d
SubBp4thBPVersionColor: #656b6d
SubBp4thBPBIDColor: #656b6d
SubBp4thBPStarsColor: #656b6d
SubBp4thBPAccColor: #ffcd22
SubBp4thBPRankColor: #656b6d
SubBp4thBPppMainColor: #ff7bac
SubBp5thModeColor: #ffffff
SubBp5thBPTitleColor: #656b6d
SubBp5thBPVersionColor: #656b6d
SubBp5thBPBIDColor: #656b6d
SubBp5thBPStarsColor: #656b6d
SubBp5thBPAccColor: #ffcd22
SubBp5thBPRankColor: #656b6d
SubBp5thBPppMainColor: #ff7bac
SubBpInfoSplitColor: #656b6d
footerColor: #7f7f7f
FixedScoreModeIconColor: false
DisplaySupporterStatus: true
SideImgBrightness: 1.0
AvatarBrightness: 1.0
BadgeBrightness: 1.0
MainBPImgBrightness: 1.0
CountryFlagBrightness: 1.0
ModeCaptionBrightness: 1.0
ModIconBrightness: 1.0
ScoreModeIconBrightness: 1.0
OsuSupporterIconBrightness: 1.0
CountryFlagAlpha: 1.0
OsuSupporterIconAlpha: 1.0
BadgeAlpha: 1.0
AvatarAlpha: 1.0
ModIconAlpha: 1.0
Dark
UsernameColor: #e6e6e6
ModeIconColor: #e6e6e6
RankColor: #5872DF
CountryRankColor: #5872DF
CountryRankDiffColor: #e6e6e6
CountryRankDiffIconColor: #3a4d78
RankLineChartColor: #2784ac
RankLineChartTextColor: #2784ac
RankLineChartDotColor: #2784ac
RankLineChartDotStrokeColor: #b2b5b7
RankLineChartDashColor: #e6e6e6
RankLineChartDateTextColor: #e6e6e6
ppMainColor: #e36a79
ppDiffColor: #e36a79
ppDiffIconColor: #e36a79
ppProgressBarColorTextColor: #FF7BAC
ppProgressBarColor: #5D3B3A
ppProgressBarBackgroundColor: #44312F
accMainColor: #6cac9c
accDiffColor: #6cac9c
accDiffIconColor: #6cac9c
accProgressBarColorTextColor: #00DE75
accProgressBarColor: #294B32
accProgressBarBackgroundColor: #243829
GradeStatisticsColor_XH: #6C91E0
GradeStatisticsColor_X: #6C91E0
GradeStatisticsColor_SH: #6C91E0
GradeStatisticsColor_S: #6C91E0
GradeStatisticsColor_A: #6C91E0
Details_PlayTimeColor: #e6e6e6
Details_TotalHitsColor: #e6e6e6
Details_PlayCountColor: #e6e6e6
Details_RankedScoreColor: #e6e6e6
DetailsDiff_PlayTimeColor: #e36a79
DetailsDiff_PlayTimeIconColor: #e36a79
DetailsDiff_TotalHitsColor: #6cac9c
DetailsDiff_TotalHitsIconColor: #6cac9c
DetailsDiff_PlayCountColor: #5872df
DetailsDiff_PlayCountIconColor: #5872df
DetailsDiff_RankedScoreColor: #3a4d78
DetailsDiff_RankedScoreIconColor: #3a4d78
LevelTitleColor: #e6e6e6
LevelProgressBarColor: #85485F
LevelProgressBarBackgroundColor: #000000
MainBPTitleColor: #e6e6e6
MainBPArtistColor: #e6e6e6
MainBPMapperColor: #e6e6e6
MainBPBIDColor: #e6e6e6
MainBPStarsColor: #e6e6e6
MainBPAccColor: #e6e6e6
MainBPRankColor: #e6e6e6
MainBPppMainColor: #5979bd
MainBPppTitleColor: #e6e6e6
SubBp2ndModeColor: #ffffff
SubBp2ndBPTitleColor: #e6e6e6
SubBp2ndBPVersionColor: #e6e6e6
SubBp2ndBPBIDColor: #e6e6e6
SubBp2ndBPStarsColor: #e6e6e6
SubBp2ndBPAccColor: #ffcd22
SubBp2ndBPRankColor: #e6e6e6
SubBp2ndBPppMainColor: #e36a79
SubBp3rdModeColor: #ffffff
SubBp3rdBPTitleColor: #e6e6e6
SubBp3rdBPVersionColor: #e6e6e6
SubBp3rdBPBIDColor: #e6e6e6
SubBp3rdBPStarsColor: #e6e6e6
SubBp3rdBPAccColor: #ffcd22
SubBp3rdBPRankColor: #e6e6e6
SubBp3rdBPppMainColor: #e36a79
SubBp4thModeColor: #ffffff
SubBp4thBPTitleColor: #e6e6e6
SubBp4thBPVersionColor: #e6e6e6
SubBp4thBPBIDColor: #e6e6e6
SubBp4thBPStarsColor: #e6e6e6
SubBp4thBPAccColor: #ffcd22
SubBp4thBPRankColor: #e6e6e6
SubBp4thBPppMainColor: #e36a79
SubBp5thModeColor: #ffffff
SubBp5thBPTitleColor: #e6e6e6
SubBp5thBPVersionColor: #e6e6e6
SubBp5thBPBIDColor: #e6e6e6
SubBp5thBPStarsColor: #e6e6e6
SubBp5thBPAccColor: #ffcd22
SubBp5thBPRankColor: #e6e6e6
SubBp5thBPppMainColor: #e36a79
SubBpInfoSplitColor: #e6e6e6
footerColor: #e6e6e6
FixedScoreModeIconColor: false
DisplaySupporterStatus: true
SideImgBrightness: 0.6
AvatarBrightness: 0.6
BadgeBrightness: 0.6
MainBPImgBrightness: 0.6
CountryFlagBrightness: 0.6
ModeCaptionBrightness: 0.6
ModIconBrightness: 0.6
ScoreModeIconBrightness: 0.6
OsuSupporterIconBrightness: 0.6
CountryFlagAlpha: 1.0
OsuSupporterIconAlpha: 1.0
BadgeAlpha: 1.0
AvatarAlpha: 1.0
ModIconAlpha: 1.0
Bot 实例部署文档
基础环境说明
支持客户端
- 首选推荐:go-cqhttp(基于 OneBot v11 协议)
- 兼容提示:其他支持 OneBot v11 协议的客户端理论上也可以接入,但不保证兼容性
通信协议要求
- 使用
ws-reverse
模式进行连接 - 地址统一为
ws://botws.desu.life:65000
配置文件实例
config.yml 关键片段
servers:
- ws-reverse:
universal: ws://botws.desu.life:65000
reconnect-interval: 3000
middlewares:
<<: *default
# 注意:YAML 缩进需严格遵守
默认中间件锚点定义
default-middlewares: &default
filter: "filter.json"
事件过滤器配置
强烈建议开启事件过滤器,以减少服务器负载
filter.json 配置
{
".or": [
{ "post_type": "meta_event" },
{
"raw_message": {
".or": [{ ".regex": "^!" }, { ".regex": "^!" }, { ".regex": "^/" }]
}
}
]
}
此过滤器可以配置:
- 指定群聊的消息上报
- 排除特定群聊的消息上报
- 指定用户的消息上报
- 排除特定用户的消息上报
格式兼容设置
go-cqhttp 消息格式要求
message:
post-format: array
若为旧版本实例,请务必修改此项,否则 Bot 无法正常处理消息内容
注意事项与支持渠道
使用中如遇问题,请优先加入 Discord 服务器 反馈
若无法访问 Discord,可邮件联系 [email protected]
感谢所有 Bot 实例维护者为 desu.life 社区做出的贡献!
如需更新更多文档,请配合官方 GitHub 仓库或提交 Issue 获取帮助。