Commit Graph

51 Commits

Author SHA1 Message Date
f8b2d056cc
FixTweet api implement, with a /tweet command 2023-11-21 23:35:12 +08:00
2c30b5ec09
add event statistics, fix CronTask
- add for EventEnv a timeStartup field
- cha EventListener and EventListenerManager
  - add for EventListener a method executeFilter used to manager if an event should be run. This replaced the condition statement inside the EventListenerManager
  - add for EventListener a method atEventPost, this will run at current event listener is on complete
- add for MornyConfig a reportZone field
  - can be set by `--report-zone`
  - used for controlling Morny Report daemon uses the zoned time to send report. default is system default time zone.
- add for MornyReport new EventStatistics and DailyReportTask
- add for MornyInformation command new subcommand `event` to manually show MornyReport.EventStatistics info.
- add WatchDog and MornyCoeur.watchDog, used for checking if the machine is in sleep mode and notify the MornyCoeur.tasks to avoid timing problem
- fix CronTask frequency got initialize problem
- add slf4j-nop for project
2023-11-14 13:56:23 +08:00
3d44972233
add CronTask, tests optimize
- add lib cron-utils: v9.2.0
- add CronTask
  - add CronTask's test
- change MedicationTimer using cron as time calculation backend (not using CronTask)
- change OnQuestionMarkReply support `⸘`
- minor SchedulerTest "immediately" test logic changes
2023-11-09 22:07:10 +08:00
c19134811d
change Morny use sttp as http client 2023-10-19 21:43:29 +08:00
a32018d600
fix morny test package path problem, add test for hash file and NamingUtils 2023-10-18 23:40:17 +08:00
1b3a847fc8
update gradle build src for capability with IDEA 2023-10-12 14:39:18 +08:00
985fde9aa2
fix sources jar gen in scala 2023-10-06 22:24:14 +08:00
511036e2ce
refactor runtime context from class instance to using/given 2023-09-23 16:38:07 +08:00
a8b7562b51
complete scala port 2023-09-16 23:12:44 +08:00
ddfe77350e
scala port stage3 (not tested) 2023-09-10 22:43:39 +08:00
1a31a22cd9
scala port stage2 (not tested) 2023-09-07 22:15:06 +08:00
aafdcc1fb2
scala port stage1 (not tested) 2023-09-05 14:14:01 +08:00
213798dab7
added /info(main) and /start, added support for assets
- add /info (without subcommand)
  - add about pic
  - add morny about links
- add MornyAssets to manager & use assets
- add TelegramImages to manager images that in use
  - with a AssetsFileImage
  - with IMG_ABOUT
- add MornyAbout
  - changed MornyHello to MornyAbout
  - add about links (used in /info)
- remove HelloOnStart
2023-08-27 13:00:36 +08:00
7589e8661d
added --dinner-chat startup param, code quality optimization.
- added `--dinner-chat`/`-chd` startup param for setup dinner chat id
- fixed some unclosed resource
  - TrackerDataManager changed method to get FileChannel (I don't know if it works)
  - MornyCLI scanner uses try-with-resources
- declared directly used dependencies
  - okhttp: 4.11.0
  - gson: 2.10.1
- some minor refactors
  - MornyCoeur.main rename to .init
  - added package `internal` and move @BuildConfigField to it
  - added new util class OkHttpPublic with MediaTypes in use
  - added javadoc for TrackerDataManager
  - and so on...
2023-08-20 23:11:10 +08:00
69a33933f5
add docker, update gradle wrapper
- added Dockerfile and simple example docker-compose.yml
- upgrade gradle wrapper: 7.5.1 -> 8.2.1
- tiny code refactor
2023-08-15 14:10:13 +08:00
9c03a59512
fix input av/bv may be too long or too small to process 2023-04-07 16:55:09 +08:00
837ec178d3
将带有 git 的 version 更名为 version-full,原先的 version 去除 git 等附加属性,作为 maven 包版本使用 2022-11-09 12:03:17 +08:00
201c8bcd1a
添加项目 git 链接相关配置,大改动版本显示方式,/version 与 /runtime 合并进 /info
- 将 /version 和 /runtime 合并为了 /info 的子命令
  - 旧的 /version 和 /runtime 命令仍然可用
  - runtime 现在是 /info 的无参数行为
- 更新了各种位置的版本显示方式
  - /version 现在通过组装的方式显示版本号的 BASE 与 DELTA 部分,并支持了可能的 git commit 显示,同时支持输出 commit 链接
  - /runtime 现在通过组装的方式显示版本号的 BASE, DELTA, GIT 部分,其中也支持了 git commit 链接,同时 CODENAME 的显示方式规范为了 `version*CODENAME` 的格式
  - ServerMain 的 -v 修改了显示格式,同时添加了 gitstat 字段显示 build 时的 git 信息
  - ServerMain 的启动版本回显(仍使用完全体VERSION)将 md5hash 和 code-time 移到了新行
- dependencies update
  - java-telegram-bot-api: 5.6.0 -> 6.2.0
2022-11-09 01:41:01 +08:00
d8eb372063
修复构建脚本中 version delta 相关判断问题
- 现在如果 use_delta 为 false 则输出 BuildConfig.VERSION_DELTA 为 null
2022-11-08 22:37:46 +08:00
f362d08f34
更新了打包配置
- 设置了全局 archivesBaseName
- 对一些属性的声明方式进行了调整
- 为 maven publish 添加了动态配置,以在没有配置 publish url 的机器上也能够正常运行基础功能
- gradle plugin: shadow: 7.1.0 -> 7.1.2
- gradle wrapper: 7.3 -> 7.5.1
- 稍微修改了 git 状态的 log 输出方式
2022-11-07 12:54:01 +08:00
3c7de7037d
将 COMPILE_TIMESTAMP 改为基于 commit time 的 CODE_TIMESTAMP 2022-11-06 21:51:19 +08:00
5dfe07f586
版本号添加 git commit 标签支持,gradle build 的 git 状态输出 2022-11-06 21:31:24 +08:00
e3c273b370
将 GradleProjectConfigures 变更为使用 BuildConfig 工具,添加了 version_delta
- archiveBaseName 更名为 'morny-coeur'
- 现在在 getJarMd5 时遇到文件读写错误不会再输出错误堆栈信息了
- gradle 基本的参数化
2022-11-06 20:07:11 +08:00
afef4f0345
脱离 unititled 模块依赖,将工具类全部移动至 util 包 2022-10-04 15:18:42 +08:00
459470be02
common 工具包改动了一些实现和补充 javadoc,并为其添加了单元测试
- Commons 工具组的一些实现改动
  - _Convert.byteToHex 的实现从手动处理字母改为使用 java Integer.toHexString 方法(同时删除了私有的 hexArray 常量数组)
  - (WARN:breaking-changes) _Encrypt 中的命名从 encryptByX 改为 hashX
- 添加了 junit 的 params 组件 (org.junit.jupiter:junit-jupiter-params)
- 为 Commons 工具组的每个方法添加了其单元测试
- 单元测试添加了一个名为 MornyCLI 的执行 程序 main 方法 的程序入口包装...
2022-10-02 02:18:26 +08:00
ab37144d45
建立了 OnRandomlyTrigged 事件用于一些好玩的触发彩蛋,添加了奇怪的 CODE_IK0XA1 功能(但未启用),为新的 maven 仓库的 api changes 做了补丁
- dependencies upgrade:
  - spotbugs 4.5.3 -> 4.7.2
  - junit 5.8.2 -> 5.9.0
2022-09-19 23:54:02 +08:00
d386e6f770
更新 maven publish 到本地的路径声明
- 现在需要在本地设置一个 publishLocalArchiveRepoUrl 变量,用于使 maven publish 推送到本地仓库
2022-06-07 16:37:49 +08:00
07d864fb5d
为 morny system 添加了 CODENAME 属性
- 并添加支持 /runtime /version 命令显示
- 并添加支持 --version 选项显示支持
- 并添加支持启动的版本报告显示支持
2022-05-30 23:34:49 +08:00
3762261cff
项目 TG 对象转字符串使用 untitled 库,更新 untitled 类库导入方式,日常依赖更新
- groovy:untitled(String,String)
- dependencies
  - untitled:util-telegram-api-formatter +
  - spotbugs 4.5.2 -> 4.5.3
  - javaTelegramApi 5.5.0 -> 5.6.0
2022-01-24 12:25:08 +08:00
2a34b576b6
将部分 util 移动至 untitled 项目,修复上个更新的 tracker 活动锁被误删的问题 2022-01-03 17:24:35 +08:00
e808a37fb2
修改 tgapi.HTML 编码器并补全调用 (#19),补全 IP186/javadoc (#18)
- 修订 Telegram HTML 实体转义 (#19
  - 为所有 HTML 内嵌输入补全转义代码
  - 移除了 apache-commons-text 类库
  - 添加了自己的 HTML 实体转义类
- 补充 IP186(#17) 的 javadoc (#18
2021-12-27 17:01:17 +08:00
e548dd1537
实现 /ip /whois 和 186ip 查询 (#17 @186526),添加 apache-commons-text 2021-12-25 20:07:46 +08:00
ecef73fad4
引入 messiva 作为 log 系统,规范了 version 命令的返回格式 2021-12-11 00:10:22 +08:00
dc332de50c
修复过时消息抑制的bug,添加 tgapi-5.4.0 新事件,修订 javadoc,修订一个log的信息,gradle.properties
- 项目的版本数据现在由 gradle.properties 管理
- 修复 outdated-block 的实现中单位计算出现错误导致的全部消息都会被阻止的问题
- EventAPI 添加 ChatJoinRequest 事件支持
- 更改 TrackerDataManager 守护线程的关机清理的消息和优先级
- 修订 MornyCoeur 类 javadoc 换行,删除 ServerMain javadoc无用信息
2021-12-10 01:08:18 +08:00
4bb634c3f3
修订 - 更新打包主类 2021-12-08 12:51:50 +08:00
d65f2d9f24
分离程序入口与主程序启动,优化参数处理,添加过期事件抑制功能 2021-12-08 12:43:12 +08:00
b32b465a12
添加封装的 command 对象,使 bot 忽略非自己为对象的命令,解锁 bot_username 限制,添加参数化 username 限制 2021-12-07 21:44:47 +08:00
360a9d3504
版本信息与编译信息添加时间戳记录 2021-12-07 18:10:08 +08:00
2ba05b2a81
添加了args命令检查项目版本,将项目 jvm 升级为 java17,更新 gradle 版本号自动更新机制,日常依赖更新 2021-12-05 20:15:51 +08:00
1844c386c8
添加根包中的javadoc,修复typo,将版本号更新独立出gradle任务
- typo: Log#waring -< Log#warning
2021-11-28 18:16:58 +08:00
5e22dc0b8f
为项目添加 null 标记和 final 标记优化 2021-11-27 21:07:40 +08:00
4e89f67496
添加"用户发起动作响应"支持
- 支援动词后缀和名词前缀关闭选项
2021-11-27 19:59:48 +08:00
ed5d3e00bc
添加字符串到命令数组解析,添加 /user 命令获取用户信息 2021-11-26 23:31:10 +08:00
cef31aa1fe
添加 gradle 版本号代码内动态替换,添加欢迎语开关参数 2021-11-26 22:26:02 +08:00
c715287fb7
添加获取当前版本的命令,gradle更新,maven打包发布支持 2021-11-26 14:09:40 +08:00
b06f7cb365
shadowjar 2021-11-09 17:33:56 +08:00
66866572c0
添加简单的群组活跃状态记录器,添加程序安全结束钩子
- ./data/tracker/<chatid>/<userid>/<unixdaystamp>.txt
  - 每行一个发言时的timestamp
  - 0/0/currentTime 用于记录tracker的在线状态
2021-11-09 17:28:34 +08:00
703ef816c6
多行log优化,开屏字符画输出,登录错误捕获 2021-11-07 17:07:16 +08:00
928359034a
简单的事件分发系统,log时间戳和线程记录 2021-11-07 16:51:16 +08:00
aed6212ff1
简单log实现,完成tg连线,响应在线和退出命令,退出命令的简单身份验证 2021-11-06 20:43:56 +08:00