- change MornyLangs re-implements the methods of Translations so that it can be used like a Translations
- changes its inner Translations implementation can be reloaded.
- MornyCoeur.dsl changes its `translations` from type Translations to MornyLangs in order to make reload works.
- add ensureCleansState to ThreadingManager and ThreadingManagerImpl to make the warn-before-register works
- cha /test implements message threads warn-before-register
- add coeur config debugMode
- currently controls if set the cache time in inline queries
- can be enabled by `--debug-run`
- change old `--debug -d` startup param (which means enable debug logging) to `--verbose-logging --verbose`
- set the new `--debug -d` as the combined of `--debug-run` and `--verbose-logging`
- deprecated `--dbg`, currently, it still works as old behavior (like `--verbose`)
- change Log.exceptionLog(throwable) to an extension method throwable.toLogString in UseThrowable
- added SimpleCommandManager as the backend of both MornyCommandManager and UniMeowCommandManager
- added Request().execute and Request().unsafeExecute() extensions.
- change all the request execute using those extensions.
- change some method with infix keyword.
- change MornyTrusted methods using User/Chat object instead of a bare id.
- update scala to 3.4.0-RC4 and fix infix warnings.
- add HTTP server backend
- with configurable listening port
- default is 30179
- cannot disable it yet
- with UI service with a 523 image
- with simple RESTful API service
- add basic tstickers-api
- now can only get and output binary content without file-type tagging or converting
-
## 📇 Function & Mechanisms
- add daily event statistics, which collects event processed counts and average consumed time
- can be found using `/info event` or newly added Morny Daily Report
- will reset every 00:00 of report-zone
- add `/info tasks` to monitor current coeur task manager status
- cha Question Mark Reply support `⸘`
- cha bot output supported codeblock language tag (for event_hack output and exception report)
- for inline twittet tweet share
- add FixTweet output format
- removed c.vxtwitter output format (because the upstream default is changed to combined)
- support x.com and fixvx.com and fixupx.com for input
- add some methods that can get social media status' content
- currently support tweeter tweet, and weibo status
- weibo with videos is not supported yet
- add command `/get <status-url>` can get from a url
- add private message listener that can automaticly search supported url from recieved private message and output the status content
- add inline query can output status content by using `<supported-url> get` (or `get <supported-url> is also supported`)
- weibo with pics and twitter with videos is not supported yet
## 🧯 Bug Fix
- fix Telegram User DC matching failure due to cdn domain changed to */cdn-telegram.org
- fix InputCommand throws OutOfBounds when input is empty (aka. only `/` in message text)
- fix wrong time parsing in OnCallMe-last_dinner
## 🔌 for Trusted/Admin
- add Morny Daily Report, will report at 00:00 of report-zone
- now will report daily event statistics
## 🔩 for self-hosted/developer
- add --report-zone startup param to control which time-zone the Daily Report time should aligned to
- default is system default zone
- add err handler for MornyCoeur#eventManager(UpdateListener), now error will not output to stderr but Morny's logger.
- add util.scheduler and MornyCoeur#tasks for task managering
- add MornyCoeur#watchDog
- add EventEnv#timeStartup
- add atEventPost and executeFilter in EventListener
- cha EventEnv#status
- add SttpPublic#mornyBasicRequest and make every Morny's HTTP request using it (eveny request now will take Morny UA)
- Now supported get social content from inline
- use a supported url with prefix or suffix "get"
- only support twitter photos media
- support all types of pure text content.
- trying get non-supported medias may cause failure.