Releases: Eyre-S/Coeur-Morny-Cono
Morny 1.4.0*POCHENG
Social shares
Universal
Now the inline share feature can find all the supported links in the input texts, and gives all of the supported results. Includes share url re-formatting, and share the social content feature. That means you do not need to add get
prefix or suffix when share something with content. However, that may makes the inline query slower.
For inline content share, you can now select if to share the whole content with combined image(if supported), or just one single image. Useful if you just want to share a picture but do not want the looooong descriptions. A URL to the image is still provided.
You can select if one image to share, or the combined whole content | Share one image that you selected | Combined, whole content, just like the old share format |
---|---|---|
Also changes the inline results displays, to better display which origin URL this option is from, and which share type:
Android | Desktop |
---|---|
Bilibili
Add supports to fetch Bilibili video about information, includes the video thumbnail, video length, author name, introduction texts.
Supports /get
command, auto-fetch in private chat to Morny, and inline query.
Known issues (#52)
Seems there are some video's thumbnail image that Telegram side cannot process it, that will cause inline share fails to load the preview formatted share.
We think this may be due to the small size of the thumbnails, but we still haven't found a definite commonality. If you encounter such a problem, please report it to us under the issue or to our maintainer.
This type of failure happens mostly in the very old videos. And this only affects inline share, also will not make the whole inline query fails.
/get
command will always available to render the preview.
Xiaohongshu
Add supports to convert xiaohongshu share url. More specifically, ability to change xhslink.com/xxx share url to xiaohongshu.com/explorer/xxx standard note url.
Due to we cannot find an available API, the Xiaohongshu share with content preview is not planned. We will add this feature if anyone may provide us an available API.
Misc feature updates
- Add a fediverse channel link to
/info
abouts. - Fix
/exit
may mis-trigger when user trying to/exit
from others bot.
This is implemented by detecting whether the
/exit
command is targeting to Morny: is command runs on Morny's private chat, or the command have explicit target section that are targeting Morny.
Bug fixes
- Fix the
EventEnv
'sStateSource
records incorrect from stack trace.
Technical changes
- Update reource-tools to 0.3.1
Morny 2.0.0-alpha20*(XINZHENG)
-
Separated project to subprojects
morny-system-lib
that includes Telegram related bot framework classesmorny-coeur
that includes all Morny's features implementation codes
-
Add module
morny.cron
- Add command
/create_cron_message
, currently can only do a parsing CRON.
- Add command
-
Cha
/on
command now can triggered by justo
in private chat. (not command/o
, just plain texto
) -
Del old ServerModuleLoader implementation
- Add a new module loader that will read file
morny-modules.list
to load modules
- Add a new module loader that will read file
-
Add exception catch for every module events. Now module's exceptions will not directly crash the whole event thread which caused unexpected Coeur fatal exception.
- Fix MedicationTimer's onExit event handler will failed when MedicationTimer is not enabled.
-
Delete coeur startup params
-ob
and--outdated-block
-
Add coeur startup params
--skip-login
, now not implemented yet.
Morny 2.0.0-alpha19*(XINZHENG)
This is a preview release for the next major version of Morny Cono / Morny Coeur.
This release note contains updates from 2.0.0-alpha1 to 2.0.0-alpha19.
For all the following version, you should be able to get its built packages from my maven repo
alpha19
- Add simple i18n system using hytrans api. Currently few commands reply are supported to translated. The user language is based on Telegram's returned user lang.
- Add
/reload
to reload server language files. - dependencies update
- sbt : 1.10.0 <== 1.9.9
- http4s-{dsl, circe} : 0.23.27 <== 0.23.26
- circe-{core, generic, parser} : 0.14.7 <== 0.14.6
alpha18
- Cha Morny HTTP api.
- Add http
/ping
returns pong, pong time, server version. - Add http
/sticker/:id
returns sticker's raw data. - Add some hytrans api for the following i18n system.
- update scala to 3.4.1 from 3.4.0-RC4
alpha17
- Add var-text api for the following i18n system. Changes some features reply using this api to replace the string imterploation.
- Add simple/complex error reply system. Along with
/inspect
command.- You can use
/test
to test it.
- You can use
alpha16
- 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
)
alpha15
- Add message thread framework and api.
- you can use
/test
to test it.
- you can use
alpha14
- update scala to 3.4.0-RC4 from 3.3.3
- 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.
alpha13
scaladoc update, and added Update.sourceTime
alpha-12
Cha event statistics add event sources statistics. (from x channels, x groups, x privates...)
alpha11
Add basic Morny HTTP api with /ping
and /sticker
(cannot use yet).
alpha10
Cha move Morny Coeur core codes to cc.sukazyo.cono.morny.core
package
alpha9
Cha /get
command now can get links from the replied message.
alpha8
- Add reporter module
- Add modules table log on start
alpha7
- Cha moved all features related codes to its related module. (excpet reporter)
- Cha better error report on GivenContext
alpha6
- Refactor of GivenContext
- Fix event-env stack problem
alpha5
- Add Coeur Lifecycle
- Add morny.externalContext
alpha4
seems no this version...
alpha3
Add coeur startup param -t
to do a test run. This types run will exit immediately after Coeur is done initializing and succeed login, and will exit just before receiving the Telegram events.
alpha2
Cha ISimpleCommand.aliases type to List from Array.
alpha1.1
Fix sbt publish have no maven-metadata.
alpha1
Cha build tool to SBT.
Morny 1.3.4*guanggu
Deprecated (removed) ip186
series features.
Due to the upstream provider ip.186526.xyz has gone for a long time.
The commands /ip
and /whois
are included.
Using the above commands now will only get a message indicating they are deprecated.
Those two commands may be removed in next major update if I cannot find an alternative provider.
Feature <a or b>
requires the or
keyword surrounded by spaces.
This change effectively treats it as a separate word, aiming to fix the numerous false triggers reported these days.
Morny 1.3.3*guanggu
add support for https://m.weibo.cn/status/123456
link type in weibo share.
Morny 1.3.2*guanggu
Update the new Bilibili av/BV conversion algorithm (and fix some input limition) to support up to av id 251 (av2251799813685248).
The new algorithm is from bvid说明 | BAC Document.
Morny 1.3.1*guanggu
Fix Bilibili av/BV conversion error when av id is bigger that 230.
It may still have some problem in some specific numbers, submit an issue if it happens.
Morny 1.3.0*GUANGGU
Brand new social media's content share method
Morny now supports to fetch social media's status' content and share them to Telegram.
Now, Twitter (or X.com) tweet and Weibo status are supported except Weibo status' attached video is not supported.
Morny provided two different ways to using this feature: /get
command or private messaging. Both of them supports full output features (multiple medias, videos etc.). The /get
command only accept a supported URL as parameter; While messaging to the private, Morny will automatically check every URL in the message and will fetch from and output all matched supported URL.
Morny also provided inline method to fetch social media's contents: to use this feature, you need type a supported url in the inline input and add prefix or suffix get
(like @morny get <url>
or @morny <url> get
). But, due to technic limits, while using inline method, the Twitter tweet will only output the combined image but not multiple full images, and the Weibo status' pics will not be output.
Twitter tweet URL inline re-format changes
Due to some changes from upstream BetterFixTweet(vxtwitter), the Share with VxTwitter (combined) option is removed. And, a Share with FixTweet option is added
also, the URL parser is now supported x.com
series URLs.
Code block syntax highlight support
Recently, Telegram have released a new version with code block language highlight support.
Morny in this version have updated the message template for supporting language highlight.
Currently supported functions:
/event_hack
returns JSON- Morny Report exceptions report with the JSON formatted Telegram bot API raw response
New Task System
Morny imported a Scheduler
toolset to manager all daemon tasks instead of each daemon manager its own daemon thread.
Currently, there's one problem is it is not supported multi-threading. We will fix it in later version (if needed).
related /info
subcommand
Add /info tasks
subcommand (to /info
) to show current Morny's task scheduler status.
Currently it shows only simple status includes scheduler's current running status and task count in this scheduler.
Statistics might appear in following updates.
Event/Update processor statistics
Added statistics for EventListenerManager
, it will collect the process duration of each event/update and make a simple statistic.
Statistic data will be cleared when every end of one day. The clearing will use time-zone same with the following Morny Daily Report.
Statistics data can be shown by new (sub-command of /info
) command /info event
Related technic changes.
Morny's
EventListener
interface have added two methodsatEventPost
andexecuteFilter
.
Those two events provide a very different managing and processing logic along events.Also, due to some unknown reason, sometime there's one event seems not be processed at all but
its final statis is OK and its execution duration is 0ms. It is a known issue and we are looking into it.
Morny Daily Report
Added new Morny Daily Report to report today statistics.
There's Event processor statistic in this version.
A coeur startup parameter --report-zone
is added to control which time-zone the report should use. It accepts a TimeZone accepted string and the default is system's default time-zone.
Minor changes
Feature randomly repeat question marks now will recognize ⸘
as a question mark.
Bug fixes
fix internal error while Morny received message which have only /
character.
fixed InputCommand throws OOB while input is empty
fix get user CDN failed with result <no-cdn-information>
.
Due to the base hostname have been changed to
.cdn-telegram.org
from.telegram-cdn.org
.New CDN base hostname have been added to detect keyword.
fix wrong time parse in get last dinner in OnCallMe
Morny 1.2.1*xiongan
fix featured-image error. Now the commands /info
and /start
which uses the featured-image can be used normally.
fix morny startup report is missing @
in username field.
Morny v1.2.0*XIONGAN
url-encode in new /encrypt
added algorithms urlencoder
/ urldecoder
(with some aliases) to command /encrypt
.
urlencoder
and urldecoder
allows only text input, will not process files. They use UTF-8
as the default encoding.
And also add new alias /enc
for /encrypt
.
b23.tv links support
Now, Share Tool Bilibili supports share the b23.tv share link and b23.tv video link.
Tracking information in b23.tv will not be sent or stored or cached for protect your privacy. We only use the video id in it to let you can share the video to others.
The video p
(part) param parser is also optimized that can parse the p
param inside the useless (tracking) params for support getting video part information from b23.tv links or others.
Changes for self-hosted or developers
EventListener
have been changed from receiving Update
to receiving EventEnv
contains Update
and other information. There's also a new thing you can do using EventEnv
is use provide
and consume
to reuse some custom data from earlier listener to later listeners.
Add two new log level, and add a new log formatter.
The new log formatter now can echo the human-readable time using system time zone.
And the new log level is:
NOTICE
notice, is slightly higher level thanINFO
, means there's some information on morny (but not the coeur), mostly, nothing to be worried.ATTION
attention, is higher than levelNOTICE
but lower than levelWARN
, usually means there's some unusual things happened in the morny, not much important than the coeur level WARN things which might break something, but still worthy to take attention.