LamGC
|
3e1bf4991d
|
build(deps): 将 Kotlin 更新至 2.1.0 版本.
|
2024-12-11 00:47:57 +08:00 |
|
LamGC
|
bd7f556c31
|
build(gradle): 将 Gradle 更新至 8.11.1 版本.
|
2024-12-11 00:14:18 +08:00 |
|
LamGC
|
ca4bfee03e
|
build(github-action): 将所有 Github Action 所使用的 Java 版本升级至 17.
|
2024-12-10 23:42:50 +08:00 |
|
LamGC
|
16dc98fa85
|
Merge branch 'main' of github.com:LamGC/ScalaBot
|
2024-12-10 23:36:29 +08:00 |
|
LamGC
|
8299316af8
|
refactor(extension): 使用 URI 而不是 URL 来排除重复项, 以避免潜在的 URL hashCode 问题.
|
2024-12-10 23:35:12 +08:00 |
|
LamGC
|
e1c87aeae4
|
feat: 将 TelegramBots 升级至 8.0.0, 并适配 TelegramBots 的新改动.
将 TelegramBots 升级至新版本, 以支持新的 API.
由于 TelegramBots 发生无法兼容旧版本的重大变更, 因此 ScalaBot 将随着此次更新一同进行重大更改.
BREAKING CHANGE: ScalaBot 所依赖的 TelegramBots 发生重大更改, 所有扩展都需要进行适配.
有关 TelegramBots 的重大变更说明请参考官方文档.
ScalaBot 的最低 Java 版本已全部升级至 Java 17 (这是 TelegramBots 的最低兼容性要求), 所有扩展都应该至少迁移至 Java 17 版本.
ScalaBot 的重大更改:
- scalabot-extension
- `net.lamgc.scalabot.extension.util.AbilityBots.getBotAccountId(BaseAbilityBot): long` 已被移除, 由于 BaseAbilityBot 不再允许获取 botToken, 因此该方法被移除. 作为代替, 请通过 `net.lamgc.scalabot.extension.BotExtensionFactory.createExtensionInstance` 所得到的 `BotExtensionCreateOptions` 中获取 botAccountId.
另外, scalabot-extension 中的 `org.jetbrains.kotlinx.binary-compatibility-validator` 似乎不再对 Java 代码起作用, 因此移除该插件, 并在后续寻找替代品.
TelegramBots 文档: https://rubenlagus.github.io/TelegramBotsDocumentation/how-to-update-7.html
|
2024-12-10 23:32:29 +08:00 |
|
LamGC
|
bac7239513
|
build(action): 将 Gradle 相关 Action 迁移到官方推荐的新版本.
|
2024-08-30 09:00:48 +08:00 |
|
LamGC
|
cc7ef37539
|
build(action): 移除 gradle/actions/wrapper-validation 并将 gradle/actions/setup-gradle 升级至 v4 版本.
|
2024-08-30 08:52:40 +08:00 |
|
LamGC
|
4cf670a4d0
|
build(action): 将 gradle/[email protected] 迁移至 gradle/actions/setup-gradle@v3
|
2024-08-30 08:45:35 +08:00 |
|
LamGC
|
63f68acccd
|
build(action): 将 gradle/wrapper-validation-action@v2 迁移至 gradle/actions/wrapper-validation@v3
|
2024-05-15 08:50:32 +08:00 |
|
LamGC
|
506f073bf6
|
release: 发布 0.7.0 版本.
|
2024-05-15 08:32:34 +08:00 |
|
LamGC
|
9dc4bfa28f
|
feat: 为 BotExtensionFactory 提供一些可用的信息. (#125)
为 BotExtensionFactory 的 createExtensionInstance 方法添加 BotExtensionCreateOptions 参数,
通过 BotExtensionCreateOptions 为扩展包 Factory 提供更多信息, 以避免扩展重复声明配置文件.
Issue #4
|
2024-03-25 23:22:26 +08:00 |
|
LamGC
|
92a1deac50
|
build(deps): bump org.telegram:telegrambots-abilities from 6.8.0 to 6.9.7.1
|
2024-03-25 23:04:24 +08:00 |
|
LamGC
|
0e2ce68a9c
|
feat(container): 将容器镜像的 Java 镜像由 OpenJDK:18 更改至 eclipse-temurin:21-jdk-alpine
这将有利于支持通过更高版本 Java 构建的扩展包, 且减少镜像体积.
|
2024-03-25 22:54:36 +08:00 |
|
LamGC
|
d57e63f8de
|
build: 更新 Kotlin 版本由 1.9.22 到 1.9.23
更新 Kotlin 版本以更好的支持新特性.
|
2024-03-25 22:52:15 +08:00 |
|
LamGC
|
fd67eb99eb
|
feat: 在启动机器人时调用 GetMe 接口, 以检查 Token 有效性.
通过这种方式, 可以帮助用户在启动阶段发现 Bot Token 无效的问题.
|
2023-12-18 22:21:58 +08:00 |
|
LamGC
|
ba306e679f
|
build(deps): bump all telegrambots deps from 6.7.0 to 6.8.0 (#114)
Bumps [org.telegram:telegrambots](https://github.com/rubenlagus/TelegramBots) from 6.7.0 to 6.8.0.
- [Release notes](https://github.com/rubenlagus/TelegramBots/releases)
- [Commits](rubenlagus/[email protected])
---
updated-dependencies:
- dependency-name: org.telegram:telegrambots-abilities
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.telegram:telegrambots
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.telegram:telegrambots-meta
dependency-type: direct:production
update-type: version-update:semver-minor
...
|
2023-12-17 23:10:52 +08:00 |
|
LamGC
|
f93a41af96
|
chore(meta): 确认由 Kotlin 版本更新导致的 api 变动.
自 Kotlin 1.9.0 开始, `Enum.values` 将正式更改为 `Enum.getEntries`(对应 Kotlin 中的
`Enum.entries` 属性), 已确认该改动不会影响现版本的兼容性.
--------------------------
KEEP 文档:
https://github.com/Kotlin/KEEP/blob/master/proposals/enum-entries.md
Kotlin 问题跟踪器:
https://youtrack.jetbrains.com/issue/KT-48872
|
2023-09-14 13:33:04 +08:00 |
|
LamGC
|
24219df63b
|
release: 发布 6.1.0 版本.
|
2023-08-03 09:11:28 +08:00 |
|
LamGC
|
b1e7643b09
|
build(deps): 将 telegrambots 从 6.5.0 更新至 6.7.0
更新 Api 版本以支持新的 Api 改动.
|
2023-08-02 17:45:35 +08:00 |
|
LamGC
|
4537e08107
|
fix(config): 将 local 列为 Maven 仓库 Id 的保留字.
local 是 Aether 中代表 LocalRepository 的仓库 Id, 因此拒绝用户使用 local 作为远端仓库的 Id.
|
2023-08-02 17:45:31 +08:00 |
|
LamGC
|
3ea1eec2dd
|
ci(github-action): 提高 dependabot 依赖项更新检查的频率
提高检查频率, 以加快新版本的响应.
|
2023-08-02 17:40:35 +08:00 |
|
LamGC
|
6b92b7e377
|
build(publish): 增加 self-git Maven 仓库.
目前 Gitea 的构件仓库已经完善到基本可用的程度, 决定将 extension 和 meta 模块也一同发布到 self-git 中.
|
2023-02-25 17:14:03 +08:00 |
|
LamGC
|
375b815659
|
build(deps): extension 模块不再引入 Slf4j-api 依赖.
考虑到发布的频率, 决定不再为 extension 引入 slf4j-api 依赖;
不过还是建议开发者使用 Slf4j-api 打印日志, 这样可以将日志整合在一起, 方便排查问题.
|
2023-02-25 17:11:27 +08:00 |
|
LamGC
|
f26d642320
|
build(gradle): 将 extension 模块的构建插件改为 java-library
先前由于不了解 Gradle 的插件划分而使用了 kotlin-jvm 插件, 现在将其修正, 改用 java-library 插件.
|
2023-02-24 15:55:58 +08:00 |
|
LamGC
|
2db0b78962
|
style(extension): 为 getBotToken 设置 SuppressWarnings 用于忽略无关的弃用警告.
根据文档说明, 弃用仅针对重写方法, 对方法的使用并无大碍.
|
2023-02-24 15:53:32 +08:00 |
|
LamGC
|
8b76a9aa9b
|
release: 发布 0.6.0 版本.
|
2023-02-21 23:46:48 +08:00 |
|
LamGC
|
bbc3288535
|
ci(github-action): 启用 API 二进制兼容性验证. (#37)
使用二进制兼容验证, 可以快速了解 API 是否出现修改, 这个功能有利于防止无意中修改 API.
引入该过程后, 需谨慎检查 api 列表,
以确保改动是必须的. 当 api 出现改动时, 需按照改动类型分配合适的版本号(遵循 SemVer 规范).
|
2023-02-21 23:22:40 +08:00 |
|
LamGC
|
3ea0f4eacb
|
feat(metrics): 指标信息增加 bot_id label.
由于 bot_name 不能作为机器人的唯一标识, 因此增加 bot_id 为监控平台提供唯一标识.
|
2023-02-21 18:32:35 +08:00 |
|
LamGC
|
d3e18d80ca
|
ci(github-action): 移除针对子模块的依赖项更新.
根据目前的效果来看, 即使不指定子模块的路径, dependabot 也会检查子模块的依赖项更新情况, 因此尝试移除子模块配置.
|
2023-02-21 16:00:08 +08:00 |
|
LamGC
|
1e0eebbd7e
|
build(deps): 更新日志相关依赖(Slf4j 2.0.6, Logback-classic 1.4.5, Kotlin-logging 3.0.5).
Slf4j: 2.0.3 -> 2.0.6
Logback-classic: 1.4.4 -> 1.4.5
Kotlin-logging: 3.0.2 -> 3.0.5
|
2023-02-21 15:51:28 +08:00 |
|
LamGC
|
63687da0bb
|
build(dependencies): 更新 binary-compatibility-validator 插件(0.11.1 -> 0.13.0).
更新后插件将支持 Kotlin 1.8.10 版本.
|
2023-02-21 12:44:06 +08:00 |
|
LamGC
|
651569dc8f
|
ci(github-action): 增加 Dependabot 配置文件.
使用 Dependabot 来自动检查依赖新版本, 减轻工作量.
|
2023-02-21 10:51:30 +08:00 |
|
LamGC
|
bf2ea9a367
|
refactor(launch): 在启动时输出 JVM 和 Kotlin 的版本号.
在日志中添加版本信息, 方便在反馈问题时可以了解出现问题所使用的环境.
|
2023-02-19 16:12:15 +08:00 |
|
LamGC
|
540fe84f26
|
build(dependencies): 更新 Kotlin 版本(1.7.10 -> 1.8.10).
更新 Kotlin 版本, 支持新的平台优化.
|
2023-02-19 16:09:52 +08:00 |
|
LamGC
|
712378b3ff
|
build(dependencies): 更新 telegrambots 依赖项.
将 telegrambots 依赖项更新至 6.5.0, 支持新版 Api;
已确认 telegrambots 6.5.0 版本升级了jackson-databind 版本,
因此移除 jackson-databind 的显性依赖声明.
|
2023-02-08 10:12:33 +08:00 |
|
LamGC
|
961382fb56
|
build(dependencies): 更新 TelegramBots 依赖项的版本号.
将 TelegramBots 依赖版本升级至 6.3.0, 支持新的 Telegram Bot API.
|
2022-12-16 01:15:09 +08:00 |
|
LamGC
|
34d9ece6d7
|
feat(logging): 支持通过参数控制日志输出级别.
通过添加新的 -D 参数 `scalabot.log.level`, 使得用户可以根据需要, 调整日志输出级别, 通过日志来自行(或协助开发者)排查问题,
对于与网络有关的 Debug 级别日志, 则由 `scalabot.log.network.verbose` 参数进行控制;
另外, 由于开发过程中可通过该参数修改日志级别, 因此移除 `logback-test.xml` 文件.
|
2022-11-11 18:17:05 +08:00 |
|
LamGC
|
30a2cb34d5
|
refactor(launch): 将 AppPaths 从 Launcher 解耦.
解耦后有助于后续改进, 以及单元测试的编写.
|
2022-11-07 11:16:41 +08:00 |
|
LamGC
|
c94e0476b5
|
refactor(metrics): 为指标增加 namespace 名称.
遵循 OpenMetrics 规范指南, 为运行指标添加 namespace 名称, 防止指标混乱.
BREAKING CHANGE: 运行指标名称变更,
如果用户启用了运行指标功能, 请注意修改使用指标的名称.
|
2022-10-28 01:33:03 +08:00 |
|
LamGC
|
6e5cd07c51
|
build(dependencies): 更新依赖项版本.
更新与日志和测试有关的依赖项版本.
|
2022-10-25 17:18:24 +08:00 |
|
LamGC
|
d4b1438b0b
|
release: 发布 0.5.2 版本.
|
2022-10-20 16:04:27 +08:00 |
|
LamGC
|
90110335f5
|
fix: 更新 jackson-databind 依赖版本以缓解 CVE-2022-42004 漏洞.
CVE-2022-42004 漏洞报告指出, 由于 jackson-databind 的有关错误, 导致对象序列化过程可能存在数据错误的问题,
目前 jackson-databind 已发布 2.13.4.2 版本以解决该问题, 由于引入 jackson-databind 的 telegrambots 库尚未发布针对该问题的修复版本,
故在本项目中引入新版依赖项, 以确保用户不受该问题影响.
该版本已在 TelegramBots 项目(版本 6.1.0)中进行测试, 测试通过.
------------------------------------------
https://devhub.checkmarx.com/cve-details/CVE-2022-42004/
|
2022-10-20 01:41:48 +08:00 |
|
LamGC
|
9c32d26c0d
|
fix(dependencies): 更新 Commons-codec 依赖项的版本.
由于目前从 TelegramBots-Abilities 引入的 Commons-codec 存在 Base 32 和 64 的编解码漏洞,
考虑到需要防范潜在的安全问题, 因此决定更新 Commons-codec
的版本号.
----------------
参考链接:
https://devhub.checkmarx.com/cve-details/Cxeb68d52e-5509/
|
2022-09-19 14:32:40 +08:00 |
|
LamGC
|
dfab6b14bd
|
build(compatibility): 新增 API 兼容性检查插件(尚未启用).
新增 Jetbrains 的二进制兼容性验证插件, 该插件可确保在兼容性出现更改时及时报告出来.
计划在下一次发布版本时启用.
|
2022-09-19 14:28:06 +08:00 |
|
LamGC
|
437cee499a
|
build(dependencies): 更新依赖项版本.
更新版本有利于维持项目安全性.
|
2022-09-19 01:14:31 +08:00 |
|
LamGC
|
4c30a1ac68
|
ci(github-action): 更改工作流名称.
后续可能会加上 Maven 的发布, 所以把名字和文件名都改一下, 防止出现歧义.
|
2022-08-25 16:11:10 +08:00 |
|
LamGC
|
3932db11a1
|
release: 发布 0.5.1 版本.
|
2022-08-23 13:40:21 +08:00 |
|
LamGC
|
d18c059498
|
ci(github-action): 显性声明允许工作流写入仓库.
安全起见, 仓库将设置工作流的 Github Token 默认不可写, 因此需要在该工作流添加权限声明, 以支持其创建 Release.
|
2022-08-23 13:40:20 +08:00 |
|
LamGC
|
e6b581b8cd
|
ci(github-action): 移除容器镜像对 windows-amd64 的构建.
windows-amd64 的镜像构建依然不太不稳定, 因此移除 windows-amd64 平台的镜像构建.
|
2022-08-23 13:40:18 +08:00 |
|
LamGC
|
26d7443c87
|
ci(github-action): 把 Gradle Wrapper 检查步骤加入到所有构建工作流中.
单独检查 Wrapper 并不能阻止其他工作流被恶意 jar 影响, 所以取消单独的检查工作流, 并将检查步骤插入到其他构建工作流中.
|
2022-08-23 13:40:17 +08:00 |
|
LamGC
|
2bf4eb684e
|
ci(github-action): 延长镜像构建工作流的超时时间.
鉴于镜像构建可能会很慢, 因此将时间统一延长到 15 分钟.
|
2022-08-23 13:40:15 +08:00 |
|
LamGC
|
5251b62733
|
ci(github-action): 修改开发版镜像构建工作流的名称和配置文件名.
为了与发布版镜像构建工作流区分开来, 防止弄混乱了.
|
2022-08-23 13:40:13 +08:00 |
|
LamGC
|
3ec5a8e9c3
|
ci(github-action): 增加自动发布工作流.
使用 Action 自动执行发布过程, 可避免不少发布问题(比如构建成品包括了其他代码, 内容错误等).
同时在确认发布版本后,将自动构建并发布容器镜像, 支持多平台.
|
2022-08-23 13:40:11 +08:00 |
|
LamGC
|
62f6c08cd2
|
ci(github-action): 移除对测试分支的容器镜像构建.
因为要并入 main 分支了.
|
2022-08-23 13:40:09 +08:00 |
|
LamGC
|
5e6f64f056
|
ci(github-action): 尝试为 Windows 平台构建容器镜像.
看 OpenJdk 18 应该是有对 Windows/amd64 支持的, 所以添加上去, 看看能不能构建成功.
|
2022-08-23 13:40:07 +08:00 |
|
LamGC
|
a036695330
|
ci(github-action): 修复推送 tag 错误的问题.
修复一下这个问题, 如果不加用户名, 就会推送到 library 去.
|
2022-08-23 13:40:05 +08:00 |
|
LamGC
|
e9c975f5c5
|
ci(github-action): 更改容器发布配置名称
忘记改名字了, 改名后会更好的识别工作流.
|
2022-08-23 13:40:02 +08:00 |
|
LamGC
|
9aac42d414
|
ci(github-action): 增加一段容器构建发布配置.
试一下看看能不能生成容器, 如果可以的话就整合到发布工作流中.
|
2022-08-23 13:39:58 +08:00 |
|
LamGC
|
5add6d9909
|
build(container): 增加一个 Docker Context 过滤文件.
该文件用于优化向 Docker Daemon 发送 Context 文件的文件数量, 增加之后, 从四千个文件降至143个文件, 优化显著.
|
2022-08-23 13:39:56 +08:00 |
|
LamGC
|
eee6b7d2c9
|
build(container): 新增一个比较基础的 Dockerfile.
初步测试了一下运行, 没啥问题.
|
2022-08-23 13:39:53 +08:00 |
|
LamGC
|
ff396425a7
|
refactor: 补充缺失代码.
由于先前的修改导致代码缺失, 我现在同意暂存功能很好用了.
|
2022-08-18 01:06:54 +08:00 |
|
LamGC
|
580d9122e5
|
refactor(utils): 把日志记录器的获取方式改的优雅一点(对于测试来说).
由于 Kover 一直不把无代码高阶函数忽略掉, 所以稍微改一下这个日志记录器的获取方法, 让测试覆盖数据好看点(doge).
|
2022-08-17 23:01:06 +08:00 |
|
LamGC
|
2a607f1129
|
fix(extension): 修复 ExtensionClassLoader 无法过滤非扩展包内 BotExtensionFactory 对象的问题.
按照 ServiceLoader 的规范, 文件应该是在 META-INF/services/{class} 这里的, 但当时忘记这个设计了, 导致直接判断 name == class, 然后失效.
修复好了.
|
2022-08-15 02:00:34 +08:00 |
|
LamGC
|
2d6da7c1ae
|
build(test): 添加 Jacoco 插件.
给 Extension 模块添加 Jacoco 插件, 以后估计会开 Codecov 来统计测试覆盖率.
|
2022-08-15 01:45:22 +08:00 |
|
LamGC
|
6235c5f51a
|
build(dependencies): 更新 Kotlin 版本(1.6.10 -> 1.7.10).
|
2022-08-15 01:39:08 +08:00 |
|
LamGC
|
255a02c93c
|
refactor(config): 重构 AppPaths 的构造方法, 应对将来 Kotlin 更新中的特性.
先前的方法是利用了初始化与调用的顺序, 来实现的 Supplier 互补(虽然在代码中, 确实存在未初始化调用的情况, 但实际运行的时候, 会先初始化, 再调用 Supplier),
但是未来 Kotlin 的更新中,编译器会把这个操作视为未初始化错误, 所以在这次改动中修复掉这个 bug 操作.
|
2022-08-15 01:38:08 +08:00 |
|
LamGC
|
dce28be9c7
|
fix(logging): 修复日志滚动文件路径错误.
由于在滚动格式中没有使用 DATA_LOGS 占位符, 导致在日志滚动时会把日志归档文件保存在运行目录下, 而不是指定的数据目录,
该改动已修复该问题.
|
2022-08-13 13:19:09 +08:00 |
|
LamGC
|
673c6d8392
|
build: 为项目支持可重现构建.
为确保项目的使用者(无论是开发者, 还是最终用户)可以完全重现构建, 确保安全, 故调整相关配置, 以实现"可重现构建".
有关可重现构建, 可以看这个: https://reproducible-builds.org/
|
2022-08-06 03:23:35 +08:00 |
|
LamGC
|
d586ca378e
|
fix(launch): 修复缺省的 Maven 中央库不遵循代理规则的问题.
这个属于漏网之鱼, 已修复.
|
2022-08-05 00:23:13 +08:00 |
|
LamGC
|
3ba4364a07
|
test(config): 补全对 ProxyConfig 的单元测试.
先前加了个 ProxyConfig.toString 方法, 所以补充了一下测试项.
|
2022-08-04 19:13:45 +08:00 |
|
LamGC
|
eda0e522cd
|
docs(config): 补充关于 Gson 类型适配器的使用指导.
为 AppConfig 和 BotConfig 补充关于 Gson 类型适配器使用的信息, 以便于开发者正确使用类型适配器解析和编码 Json.
|
2022-07-22 21:59:14 +08:00 |
|
LamGC
|
c7fedf3882
|
release: 发布 0.5.0 版本.
|
2022-07-19 01:51:00 +08:00 |
|
LamGC
|
a7de85eacb
|
test(extension): 修正更新 TelegramBots 依赖项所导致的测试错误.
忘记执行测试了, 我的锅)
|
2022-07-16 21:03:12 +08:00 |
|
LamGC
|
b6013e2fbe
|
refactor(extension): 将构件下载请求跟构件解析请求对齐.
防止在构件处理过程中因仓库原因出现问题, 因此统一两个请求所使用的仓库列表.
|
2022-07-16 20:55:24 +08:00 |
|
LamGC
|
f79a4e4ff3
|
refactor(extension): 在 MavenRepositoryExtensionFinder 增加一个扩展包信息日志.
当初写的时候没留意这个问题, 结果最近给坑了, 所以补个日志, 打印出 Maven 搜索器所解析出来的构件信息.
|
2022-07-16 20:51:06 +08:00 |
|
LamGC
|
93b9c6b727
|
refactor(launch): 统一代理的使用.
之前的版本中, 如果未指定 Maven 仓库的独立代理配置, 同时 Bot 拥有独立代理配置的情况下, Aether 将不会使用 Bot
的独立代理配置, 这样弄比较乱, 因此统一代理配置的使用顺序:
- 如果配置中包括了代理配置, 则优先使用独立代理配置;
- 如果不包括独立代理配置, 则使用关联 Bot 的独立代理配置;
- 如果关联 Bot 没有独立代理配置, 则使用 AppConfig 中的全局配置(如无配置则直连访问).
|
2022-07-16 20:46:15 +08:00 |
|
LamGC
|
a8a0a9576f
|
build(dependencies): 更新 TelegramBots 依赖项的版本 (6.0.1 -> 6.1.0)
更新版本将有利于开发者和用户使用新的功能.
|
2022-07-16 20:30:22 +08:00 |
|
LamGC
|
e8711e9974
|
refactor(meta): 为 ProxyConfig 覆盖 toString 方法.
覆盖 toString 方法后, 可以输出易懂的代理信息(我担心按照 data class 的格式输出, 用户可能看不懂).
|
2022-07-16 20:26:45 +08:00 |
|
LamGC
|
93685e9440
|
test(config): 优化单元测试.
将 AppPaths 的单元测试也覆盖了, 直接方便了.
|
2022-07-12 01:29:19 +08:00 |
|
LamGC
|
92b7e84b3a
|
test(config): 补充相关的单元测试.
经检查, 已确定完全覆盖代码, 为完成单元测试的编写, 稍微改了一下 AppPaths 的代码, 不会有影响的 :P
|
2022-07-12 01:20:53 +08:00 |
|
LamGC
|
8c4e48e3eb
|
refactor(launch): 更改初始化配置中, 退出进程的时机.
为了能在单元测试中检查 initialFiles 是否正常, 故将 exitProcess 移到 main 方法中, 方便进行测试.
|
2022-07-12 00:27:18 +08:00 |
|
LamGC
|
7f7b2b8895
|
build(meta): 调整部分依赖的引入范围.
将 Aether-api 和 telegrambots-meta 的引入范围由 implementation 改为 api,
方便依赖的其他项目使用.
|
2022-07-11 23:58:22 +08:00 |
|
LamGC
|
441991b705
|
docs(extension): 补充部分扩展组件的 KDoc.
补充部分方法的文档, 不过文档内容嘛...有待加强.
|
2022-07-09 01:20:57 +08:00 |
|
LamGC
|
51d036c4c6
|
feat(launch): 延后 BotConfig 的反序列化时机.
通过将 BotConfig 的反序列化时机延后到启动机器人的时候, 可以避免因某个机器人配置错误导致所有机器人都无法启动的问题.
注意, 语法错误还是会在启动时报错, 只是说部分序列化器会检查字段值是否有误, 通过延后反序列化来防止全反序列化的时候一个配置炸了影响全部而已.
|
2022-07-04 16:40:17 +08:00 |
|
LamGC
|
3c54c33364
|
fix(config): 修复因正则表达式错误导致的 Token 检查失败.
由于表达式中限定的 BotId 为 Int 范围, 而目前的 TelegramUserId 已经扩展到 Long 了, 所以新的 Bot 是无法通过检查的, 已修正表达式问题.
|
2022-07-04 16:26:01 +08:00 |
|
LamGC
|
43dd0e7bea
|
docs(meta): 加一个 Readme.
加一个文档来稍微说明一下这个模块的用途.
|
2022-07-03 02:50:32 +08:00 |
|
LamGC
|
c144755913
|
feat(config): 增加 BotAccountSerializer, 主要用于检查字段值.
增加 BotAccount 的序列化器, 便于检查有关字段的值是否有效.
|
2022-07-03 02:32:37 +08:00 |
|
LamGC
|
9ed55204c0
|
refactor(config): 调整序列化工具类, 便于进行测试.
修正序列化工具类的类名, 并调整访问权为 internal.
同时将 `checkJsonKey` 改成更方便的 `JsonObject.getPrimitiveValueOrThrow`.
|
2022-07-03 01:35:23 +08:00 |
|
LamGC
|
9b7fc30512
|
fix(config): 修复因使用了错误的 Gson 对象而导致的配置初始化警告.
导致的原因是在初始化 app.json 时错误的使用了 botConfigGson, 而 botConfigGson 未配置用于 MetricsServer 的 UsernameAuthenticator 序列化器, 导致在初始化配置文件中序列化 AppConfig 时, Gson 会反射调用 BasicAuthenticator, 导致被 Java 模块系统拦截并报错, 现已修复该问题.
|
2022-07-02 22:01:05 +08:00 |
|
LamGC
|
27dc26160d
|
refactor(config): 对配置文件的 AppPath 对象更名.
先前为确保后续可以增加指定配置文件路径的功能, 在命名上标记的 DEFAULT 在现在已经不符合实际意义了, 故将 DEFAULT 前缀移除.
|
2022-06-30 00:15:07 +08:00 |
|
LamGC
|
ae411ce829
|
refactor(metrics): 调整 MetricsHttpServer 注册关闭钩子的时机.
将关闭钩子的时机调整到 main 方法中, 可以减少多余的钩子注册(比如测试时无需注册钩子, 却还是注册了).
|
2022-06-29 03:06:15 +08:00 |
|
LamGC
|
1afe0f07a8
|
perf(extension): 优化 printExtensionFileConflictError 日志输出.
Kotlin-logging 在日志输出方法中做了检查, 如果级别未开启则不会调用方法获取日志内容,
故将内容构造部分移入 error 代码块以避免无意义的生成日志内容.
|
2022-06-29 03:03:16 +08:00 |
|
LamGC
|
cf8e746bd4
|
release: 发布 0.4.0 版本.
|
2022-06-28 01:40:23 +08:00 |
|
LamGC
|
fc66cd16f4
|
build: 优化构建配置脚本.
由于 rootProject 已经为子模块定义 repositories, 且子模块没有定义仓库的需要, 故移除子模块中的 repositories.
|
2022-06-28 01:37:38 +08:00 |
|
LamGC
|
1340f0aa32
|
build(meta): 优化构建插件的版本管理.
根据 Gradle 官方指南[1], 将 meta 模块的插件版本号移除, 以便于用 rootProject 集中管理插件版本.
---------------------------------
[1]: https://docs.gradle.org/current/userguide/plugins.html#sec:subprojects_plugins_dsl
|
2022-06-28 01:13:26 +08:00 |
|
LamGC
|
099c452fe7
|
feat(meta): 新增 meta 模块.
将与配置相关的内容迁移到 scalabot-meta 模块.
其他项目可以使用 meta 模块来生成 ScalaBot 的配置文件, 通过配置文件管理 ScalaBot 的运行.
BREAKING CHANGE: 与配置有关的类迁移到了 scalabot-meta 模块.
目前仅所有配置类 (以 `Config` 结尾的 Class) 和相应的序列化类 (以 `Serializer` 结尾的) 都迁移到了 meta 模块, 但其工具方法则作为扩展函数保留在 app 模块中.
这么做的好处是为了方便其他应用 (例如 ScalaBot 外部管理程序) 根据需要生成配置文件.
scalabot-meta 将会作为依赖项发布, 可根据需要获取 ScalaBot-meta 生成 ScalaBot 的配置.
+ 此次改动普通用户无需迁移。
|
2022-06-27 19:24:52 +08:00 |
|
LamGC
|
aa31bcd3a8
|
build(meta): 增加发布配置.
为 meta 模块增加 Maven 构件发布配置, 但仍需本地发布(因为要 GPG 签名).
|
2022-06-27 18:49:40 +08:00 |
|
LamGC
|
5843e37196
|
docs(config): 补充配置类的文档.
由于先前的更新忘记补充文档了, 所以补充一下.
|
2022-06-26 13:25:44 +08:00 |
|
LamGC
|
06acc78180
|
test(config): 补全单元测试用例.
由于 `MavenRepositoryConfig.authentication` 有关联的序列化器, 因此不可忽略对该属性进行检查;
现已补充单元测试用例以确保反序列化结果正确.
|
2022-06-26 03:06:14 +08:00 |
|