Commit Graph

185 Commits

Author SHA1 Message Date
2389d082f4
test(config): 优化对 defaultInitializer 方法的单元测试.
将 defaultInitializer 方法的反射获取次数减少为一次, 并在测试结束后恢复访问权设置.
2022-05-04 22:36:35 +08:00
27f54c3c36
test(config): 补充一部分 AppPaths 的单元测试项目.
补充了针对 AppPaths.defaultInitializer() 和 AppPaths.DATA_ROOT 的单元测试项.
其他的有待补充.
2022-05-04 02:00:01 +08:00
7b985ce325
refactor: 将十六进制转换代码迁移到 Kotlin.
将 ByteUtils 的实现改用 Kotlin 代码做, 移除 ByteUtils.
另外, 本次修改同时修正了方法名错误的问题(hax 改成 hex), 并补充了单元测试.
2022-05-04 00:38:30 +08:00
77b7a7cd08
feat(launch): 对配置中没有启用任何机器人的情况输出警告.
增加对没有启用任何机器人时候的一个警告信息, 以防止被误认为无响应退出.
2022-05-02 02:20:19 +08:00
e8b746b3f8
feat(config): 第一次运行将提醒用户更改配置文件.
之前忘记添加这个提醒了, 首次运行的时候, `config.json` 和 `bot.json` 是不存在的, 所以根据这两个文件的存在与否, 来判定并提醒用户更改配置文件.
2022-05-02 02:18:23 +08:00
d24572a4f3
refactor(config): 修改 AppConfig 的获取方式, 便于编写测试用例.
通过 Const 单例对象获取配置信息不利于编写测试用例, 所以改为利用参数的默认值来获取 Const 的 config 对象.

Issue #5
2022-05-01 23:54:22 +08:00
f11290c73d
feat: 可以覆盖 Maven 中央仓库配置.
原本设计是无论配置文件中是否带有 Maven 中央仓库, 都会添加 Maven 中央仓库进去, 这样可能会覆盖用户的仓库配置.
新改动将检查配置中是否添加了 Maven 中央仓库配置来决定是否补充 Maven 中央仓库.
2022-05-01 23:09:44 +08:00
1f2ab0f9b1
fix(extension): 修复搜索器错误日志不包括异常信息.
意外漏掉了这个错误信息, 目前已补充, 以方便寻找问题.
2022-05-01 00:09:28 +08:00
d14ef9de36
fix: 修复Maven 本地仓库文件夹未初始化的问题.
当本地仓库文件夹未初始化时, 将导致文件写入失败, 已修复该问题.
2022-04-30 21:12:36 +08:00
3e51327ed7
release: 紧急更新 0.2.1 版本. 2022-04-22 18:16:33 +08:00
93cf5c4e2f
fix: 修复因文件访问比初始化早而导致的启动错误问题.
由于 Launcher 比 initialFiles 更早的执行, 调用 Const 导致更早的访问了未初始化的文件, 导致第一次启动会出现错误.
改动中将 Launcher 移入 main 方法不会有影响, 相比于在 AppPaths.<init> 中初始化会更安全.
2022-04-22 18:15:30 +08:00
e12f858690
release: 发布 0.2.0 版本. 2022-04-20 17:37:03 +08:00
3e99d7d033
fix(example): 修复 Reply 判断条件不充分的问题.
由于条件判断不充分, 导致运行时可能会出现 NPE 的问题.
2022-04-20 16:35:02 +08:00
8131f41313
feat(extension): 初步添加一些工具方法.
添加 AbilityBots 类, 向开发者提供一些"工具"方法, 该方法将有助于插件的功能开发.
2022-04-19 00:17:57 +08:00
270e744bcf
build: 更新并增加 Kotlin 相关依赖项.
由于不明确的 Kotlin 运行时机制, 需直接向框架本身添加 Kotlin 标准库依赖, 以解决潜在的 Kotlin 反射支持问题.
不可能因运行时问题就继续向框架添加不相关的依赖, 所以该问题将继续调查.
2022-04-19 00:08:24 +08:00
d84465ebd9
build: 更新 TelegramBots 依赖项.
更新该依赖项以支持新版本的 Telegram API.
请注意: TelegramBots 已将弃用类移除.
2022-04-18 23:56:30 +08:00
18bc3a8d48
refactor(logging): 补充两个日志屏蔽.
屏蔽两个日志量较大的类, 日志量过多会影响 Debug.
2022-04-18 23:54:29 +08:00
2b88134207
refactor(extension): 移除 ScalaBotExtension 类.
该类的作用不大, 实现的细节可以由开发者自行实现(或许会设计地更好), 故移除该类.

DEPRECATED: 移除 ScalaBotExtension 类

由于该抽象类设计过于简单, 且并未达到其存在的预期目的(简化开发扩展的复杂性), 故移除本类.
开发者应将扩展类由继承 ScalaBotExtension 更改为实现 AbilityExtension 类, `getSender(): MessageSender` 和 `getDBContext():DBContext` 方法以及 `bot`(BaseAbilityBot) 字段应手动添加, 并根据需要通过构造方法获取并存储.
2022-04-15 00:18:59 +08:00
142eddfa28
refactor(extension): Maven 本地仓库路径将会相对于 DATA_ROOT 路径.
为防止混淆配置意义, 方便数据转移, 将 Maven 本地仓库路径调整为相对 DATA_ROOT 目录, 绝对路径不受影响.
2022-04-14 22:38:51 +08:00
64849adfab
fix(config): 修复潜在的未初始化异常.
原设计中, PathConst 类会晚于 AppPaths 类中各枚举值的初始化, 进而导致 DATA_ROOT 获取 PathConst 中字段时出现未初始化异常的情况.
由于 AppPaths 设计为在运行时生成并获取路径, 所以该文件不会对 AppPaths 造成太大影响, 但 Kotlin 已决定在未来版本明确该问题为错误(Error), 所以将 PathConst 由伴生对象修改为单例对象以避免该问题.
2022-04-14 21:46:01 +08:00
29bd12a8dd
feat(bot): 增加 accountId 属性.
增加该属性有利于其他组件对机器人账户进行标记.
2022-04-10 16:28:20 +08:00
9cdf10ccc2
refactor(launch): 增强关闭阶段的鲁棒性.
增加异常捕获, 防止由于部分 bot 发生异常而无法关闭其余机器人.
2022-04-10 16:27:20 +08:00
4210efef3b
refactor(config): 改进了数据目录的获取方式.
补充了通过 user.dir 获取目录路径的方式.
2022-04-10 16:26:13 +08:00
bc0f3be32c
docs(extension): 补充参数说明.
补充 shareDataFolder 参数说明, 便于扩展开发者根据需要调整数据存取.
2022-03-29 10:06:25 +08:00
c5f28e395e
refactor(util): 优化代码.
使用 Kotlin 语法糖优化不必要的代码.
2022-03-28 23:43:33 +08:00
1172caa8d7
build(extension): 更新 TelegramBots 依赖项版本.
将依赖版本更新, 无兼容性问题.
2022-03-28 23:05:10 +08:00
eb95436404
fix(extension): 修复创建扩展对象时可能会出现的 NPE 问题.
创建对象后没有检查 NPE 问题, 修复该问题后有助于接受 Factory 不提供扩展的情况(现在这个情况是允许的了).
2022-03-28 21:38:40 +08:00
804d0e3012
build(extension): 为编译指定 Java 目标版本.
指定 Java 目标版本, 以免因环境错误编译成其他的 Java 字节码版本.
2022-03-25 18:15:00 +08:00
1281dbcabe
feat(config): 支持指定本地仓库的路径.
可指定本地仓库的路径, 用于代替用户目录下的默认 Maven 本地仓库, 这么做可以在任意位置设置共享本地仓库.
2022-03-21 23:47:59 +08:00
1cd26b3b25
build: 更新依赖项版本. 2022-03-21 22:34:30 +08:00
19162dcaef
feat(database): 更改数据库命名方式.
由于 BotToken 可以更换, 所以旧版命名方式将会有迁移的问题, 故更改为通过 Bot AccountId 来命名数据库.

CLOSED #3
2022-03-20 11:56:38 +08:00
0748afaff5
refactor(config): 为 BotAccount 添加 id 字段.
根据 Telegram Bot token 的组成结构, 可以取出 Bot Account Id, 故添加 id 字段.
2022-03-20 11:37:24 +08:00
b20b25bc7b
docs(extension): 补充说明 shareDataFolder.
原来的说明容易产生误解, 让扩展开发者以为一个扩展一个数据目录, 所以在这块上补充了一些说明.
2022-03-20 11:04:07 +08:00
9c2ca5103c
release: 发布 0.1.0 版本. 2022-03-15 15:30:35 +08:00
05af90a5a0
docs: 补充开发版本说明.
补充说明,要求用户升级前仔细阅读更新日志, 避免出现问题.
2022-03-15 15:30:07 +08:00
4b20b0cc59
feat(bot): 新增命令列表更新功能.
增加`命令列表更新`功能, 该功能可根据已加载的 Ability, 调用 Telegram Bot API 更新命令列表.
后续会尝试支持 BotCommandScope.
2022-03-15 15:18:04 +08:00
de83d2c3d3
refactor(example): say_hello 命令添加用户的账号信息.
补充账号信息, 方便查(为了测试).

P.S. 其实这个 Commit 应该算作 feat, 但这个是示例扩展, 所以就改成了 refactor.
2022-03-15 15:15:34 +08:00
22a824377a
refactor(bot): 简化 ScalaBot 构造器的参数.
改动前的构造器参数大多是直接从 BotConfig 中传递进去, 这么做不利于添加新的参数, 因此改动后, BotConfig 将直接传递到 ScalaBot 的构造器中, 由 ScaleBot 内部按需获取参数进行初始化.
2022-03-15 14:13:53 +08:00
a0344f251f
fix: 修复因某一个机器人启动失败而导致整个程序崩溃.
改动之后, 将容忍机器人的启动失败, 而不会因此异常退出程序.
2022-03-10 13:33:57 +08:00
84b67c7f89
refactor(bot): 补充一些日志信息.
补充启动过程的日志信息, 防止用户以为启动卡死 (因为在通过 Maven 仓库加载扩展包的时候会比较慢).
2022-03-10 13:31:37 +08:00
851fb0251f
docs: 添加 Wiki 内容. 2022-03-03 21:25:17 +08:00
1776f07f16
refactor(extension): 修改 resolveRepositoryByUrl 中对构件的校验和检查策略.
将 Release 与 Snapshot 的 Checksum 策略设为 Fail, 可防止意外的包修改问题.
2022-02-28 08:38:21 +08:00
1f48bbae8e
build(vcs): 补充对日志归档包的排除项.
补充日志归档包(.log.gz)的排除项, 排除了测试过程中产生的日志归档包.
2022-02-28 08:34:07 +08:00
00e90eabd0
fix(extension): 移除默认的 MavenRepositoryExtensionFinder.
将 MavenRepositoryExtensionFinder 的初始化过程交给 Launcher 执行.
2022-02-28 08:26:26 +08:00
285c8b04d1
fix: 修复因 config.json 不存在而引发的启动异常.
当 config.json 不存在时, 当 Launcher 类被加载时, 将导致因 config.json 加载失败而出现类初始化异常, 通过调整访问时机, 修复了这个问题.
2022-02-26 17:36:23 +08:00
a642948f45
feat: 可通过配置文件设置用于查找扩展包的 Maven 仓库.
使用 Maven 扩展包搜素器将不再限制仓库, 可通过配置文件添加其他仓库.
2022-02-26 17:30:31 +08:00
6df9f1b3c7
refactor(bot): 按照 Kotlin 官方代码规范, 修正代码格式错误.
Kotlin 官方代码规范建议把 Companion object 放在类的最后面, 确实应该如此.
2022-02-26 17:26:24 +08:00
4bc3776717
refactor(config): 更改 BotConfig 的 proxy 属性默认值.
为了让用户了解到可对机器人配置单独的代理, 而将 proxy 的默认值改为 ProxyConfig 缺省值.
2022-02-26 16:22:16 +08:00
eb34f17b06
refactor(config): 调整 BotConfig 中部分字段的默认值.
内置命令默认打开, 方便用户查询命令. baseApiUrl 默认值为 Telegram 官方 API 地址, 设置默认值可让用户了解可以对此项进行修改.
2022-02-26 16:18:32 +08:00
54b3e1cad7
fix(bot): 修复 disableBuiltInAbility 逻辑错误的问题.
设置反了, 所以 disableBuiltInAbility == true 就会打开内置命令.
2022-02-26 16:11:27 +08:00