|
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 |
|
|
9dc4bfa28f
|
feat: 为 BotExtensionFactory 提供一些可用的信息. (#125)
为 BotExtensionFactory 的 createExtensionInstance 方法添加 BotExtensionCreateOptions 参数,
通过 BotExtensionCreateOptions 为扩展包 Factory 提供更多信息, 以避免扩展重复声明配置文件.
Issue #4
|
2024-03-25 23:22:26 +08:00 |
|
|
2a607f1129
|
fix(extension): 修复 ExtensionClassLoader 无法过滤非扩展包内 BotExtensionFactory 对象的问题.
按照 ServiceLoader 的规范, 文件应该是在 META-INF/services/{class} 这里的, 但当时忘记这个设计了, 导致直接判断 name == class, 然后失效.
修复好了.
|
2022-08-15 02:00:34 +08:00 |
|
|
441991b705
|
docs(extension): 补充部分扩展组件的 KDoc.
补充部分方法的文档, 不过文档内容嘛...有待加强.
|
2022-07-09 01:20:57 +08:00 |
|
|
1afe0f07a8
|
perf(extension): 优化 printExtensionFileConflictError 日志输出.
Kotlin-logging 在日志输出方法中做了检查, 如果级别未开启则不会调用方法获取日志内容,
故将内容构造部分移入 error 代码块以避免无意义的生成日志内容.
|
2022-06-29 03:03:16 +08:00 |
|
|
1f2ab0f9b1
|
fix(extension): 修复搜索器错误日志不包括异常信息.
意外漏掉了这个错误信息, 目前已补充, 以方便寻找问题.
|
2022-05-01 00:09:28 +08:00 |
|
|
eb95436404
|
fix(extension): 修复创建扩展对象时可能会出现的 NPE 问题.
创建对象后没有检查 NPE 问题, 修复该问题后有助于接受 Factory 不提供扩展的情况(现在这个情况是允许的了).
|
2022-03-28 21:38:40 +08:00 |
|
|
00e90eabd0
|
fix(extension): 移除默认的 MavenRepositoryExtensionFinder.
将 MavenRepositoryExtensionFinder 的初始化过程交给 Launcher 执行.
|
2022-02-28 08:26:26 +08:00 |
|
|
a642948f45
|
feat: 可通过配置文件设置用于查找扩展包的 Maven 仓库.
使用 Maven 扩展包搜素器将不再限制仓库, 可通过配置文件添加其他仓库.
|
2022-02-26 17:30:31 +08:00 |
|
|
90434d9dbf
|
perf(extension): 修正 FoundedPackage 统计方法.
该问题源于旧版本时方法的用途, 原本该方法用于合并所有已找到的 FoundedPackage, 但新版本已经被其他方法替代, 所以也没必要再通过合并来统计数量.
|
2022-02-26 15:37:50 +08:00 |
|
|
692fe5b8f9
|
feat(extension): Maven 仓库搜索器将使用全局代理下载扩展包.
改动后, 配置的全局代理将适用于 MavenRepositoryExtensionFinder.
|
2022-02-22 01:32:02 +08:00 |
|
|
13472d952e
|
feat(extension): 支持从 Maven 仓库下载并安装扩展包.
支持该功能后, 可以使用户更容易安装扩展包, 尤其是无需配置的扩展包.
|
2022-02-22 01:15:41 +08:00 |
|
|
d7b253186e
|
fix(extension): 在创建扩展对象时捕获异常.
为防止 Factory 抛出异常影响加载, 增强鲁棒性, 所以在创建实例时捕获异常, 并跳过抛出异常的 Factory.
目前还不能解决 Factory 初始化异常的问题, 等 MavenRepositoryFinder 更新后再修复.
|
2022-02-21 11:52:25 +08:00 |
|
|
f8f80840c6
|
refactor(extension): 在搜索到扩展包的情况下不再继续使用低优先级搜索器.
在高优先级搜索器找到一个或以上的扩展包时, 停止调用更低优先级的搜索器,
这有助于避免无意义的远端扩展包搜索行为, 在本地搜索到扩展包后就没有必要再触发远端搜索器搜索了.
|
2022-02-19 23:26:38 +08:00 |
|
|
beb3fd8280
|
refactor(extension): 将 ExtensionPackageFinder 实现移动到单独的代码文件中.
移动之后, ExtensionComponents.kt (原名 Extension.kt) 将专注于扩展的加载组件开发, 而 ExtensionFinders.kt 则专注于开发和维护扩展包发现器.
|
2022-02-17 18:52:47 +08:00 |
|