Skip to content

Releases: Eyre-S/Coeur-Morny-Cono

Morny 1.3.3*guanggu

07 Mar 14:39
a07c0b1
Compare
Choose a tag to compare

add support for https://m.weibo.cn/status/123456 link type in weibo share.

Morny 1.3.2*guanggu

14 Feb 12:21
2ae1777
Compare
Choose a tag to compare

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

13 Feb 06:31
9814b3c
Compare
Choose a tag to compare

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

06 Dec 15:24
961edd9
Compare
Choose a tag to compare

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.

Twitter tweet with multiple images Twitter tweet with no images Tweet is unavailable
Weibo status with multiple pics Weibo status with retweet (retweet source contains pics) Weibo status contains weibo-only emoji

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.

inline output of Tweet with multiple pics
Multiple images is outputted as a single combined image due to technic limits
inline output of Weibo with pics
The pics is replaced with `🖼️` due to technic limits

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 methods atEventPost and executeFilter.
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

20 Oct 14:12
adb91a0
Compare
Choose a tag to compare

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

18 Oct 09:54
69e9459
Compare
Choose a tag to compare

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 than INFO, means there's some information on morny (but not the coeur), mostly, nothing to be worried.
  • ATTION attention, is higher than level NOTICE but lower than level WARN, 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.

Morny v1.1.1 *nanchang

11 Oct 10:43
b305f52
Compare
Choose a tag to compare

for 尊嘟假嘟, now it will check if the text is ends with "尊嘟假嘟", instead of pervious checking if text is fully equals to "尊嘟假嘟". same for 3 keywords (尊嘟假嘟, O.o, o.O)

for Medication Timer, fix it is unavailable due to the inner thread control failure.

for coeur params, added --outdated-ignore to replace old --outdated-block. It should be more clear to understand what the param is for. old --outdated-block have been tagged outdated, using it in the newer version will recieve a runtime warn. It may be removed on next minor version or major version (It will lives at lease 1 month for you update it).

Morny v1.1.0 *NANCHANG

09 Oct 14:21
30c5ae7
Compare
Choose a tag to compare

尊嘟假嘟

Morny now will reply "尊嘟"/"假嘟" for "尊嘟假嘟" or "O.o".

As a new function of User Randoms, it doesn't need to use the / slash prefix!

Thanks for @hasuchan's idea.

/chuang

Add command /chuang xxx, it will reply you a dump truck(泥头车) with xxx.

The idea is from @autoziyaobot. As a entertainment-oriented content, it will not show up in command list.

It support custom texts and multiline texts in the dump truck, but it does not have default text currently.(if there's no param, Morny will take no action.)

Bug Fixes

fix OnQuestionMarkReply false-checked message due to a huge amount of repeating normal message

Morny v1.0.0 *BEIPING

09 Oct 07:51
49bbc03
Compare
Choose a tag to compare

Full Changelog: 0.8.0.11...1.0.0

Brand new /info command

The new /info command can send a user-friendly introduction. And the /start command (normally be used in a use is first use the telegram bot) have been redesigned to similar to the new /info command.

New /info command Redesigned /start command
the new info message image

Commands /version and /runtime now merged to the /info command as a sub-command.

Old /version and /runtime is still supported though they won't be listed on command list.

It also have some some formatting changes in version and runtime, and now supported to show a git commit link.

image
image

New in Random Tools

In the older version, it already supported to use / this or that to random this or that.

Now, the new / do it? grammar has been added, it will return do it or 不do it.

Currently, it is only support to return with Chinese words .

*And, note that prefix slash / is required, this is for avoid false trigger.

New interesting function: Reply ? for a ?

If you send a ?, then Morny have change to reply you a ?.

Multiple ? and strange (or or ¿ but not only those) is all supported. It should support all unicode characters can describe a question, if some character is missing, please report to me.

Currently the probability of trigger this function is fixed 1/8.

Changes for administrator / trusted users

*msg now supported a send test have only the header without text body.

image

It will not report error while there's no message body in a send and will normally check the header -- completely skipped the message body check. It is useful to just test a chat id is available without meant to send something.

Trying to send this body-less send will still be a error.

Morny Report

The new MornyReport morny daemon will proactively send some runtime information or exception to a telegram chat, it will be useful to monitor Morny's runtime status without access to host terminal.

Currently when Morny startup, exit, some exception occurred, or some administrator execution is forbidden will send a report.

On exited or startup On some exception occurred
image image

Changes for self-hosted or developers

Official docker / docker-compose basic support have been added

Morny's repository have added the Dockerfile and a example docker-compose.yml. You can easily start Morny Coeur with docker using these two file now.

Add params for controlling Medication Timer

  • add param --medication-notify-chat / -medc for controlling where notify should send to.
    • It accept a long value means the notify chat id, accept only one value.
    • default is -1, which will shutdown Medication Timer.
  • add param --medication-notify-timezone / -medtz for controlling what timezone should use to calculate the time.
    • It accept a hour number that means the timezone offset hour. for example +09:00(Japan) is 9, -11:00 is -11
    • default is UTC timezone (+00:00)
  • add param --medication-notify-times / -medt for controlling when to notify.
    • it accept a list of hour number, separated by , . for example, set 0,7,21 means you want to notify at 00:00 and 7:00 and 21:00.
    • default is empty, which will shutdown Medication Timer.

If there's no enough params: if notify-chat or notify-times is not set, the Medication Timer will not run. (Note that the default timezone is UTC 0 time)

Unset all params default value of Morny

Before, all of the function related params have a default value -- this is how the original master of Morny uses Morny.

Now, all of those default values have been removed, means you do not need to manually explictly set them to -1 or something else to disable them.

This affects those params: --master(-mm) | --trsuted-chat(-trs) | --dinner-chat(-chd); And those 1.0.0 new function and params follows the no-default behavor too: --medication-notify-chat(-medc) | --report-to

This also means these function is now can be disabled by not set the related param:

  • On Call Me will send ID_501 when there's no master
  • Request Last Dinner will send ID_501 when there's no dinner-chat
  • and Morny Report and Medication Timer

Programming Language and build script

Morny Coeur have been ported to Scala3 as the main programming language.

imported buildconfig and grgit to make automation compile information better.

fixed the exec permission issue in /gradlew and /gradlew.bat

Bug fixes

fix unclosed quote will cause exceptions while parsing command.

fix some hidden command cannot execute due to no support to non-ascii command name. (also changed its behavor while I won't tell too much here)

fix error while converting millisecond to nanosecond in Medication Timer

inline query ShareBilibiliVideo now will not receive illegal av/BV id which can cause exceptions.

/nbnhhsh will now send 404 when there's no input text.

fix --trusted-chat -1 will caused MornyTrusted throws exception, now it will judge(ignore) the value as design.

fixed --report-to -1 not process normally

added missing --dinner-chat startup param.

Some minor fixes while porting coeur to scala is not listed.

1.0.0-RC6

07 Oct 14:22
45a85e1
Compare
Choose a tag to compare
1.0.0-RC6 Pre-release
Pre-release

Full Changelog: 1.0.0-RC5...1.0.0-RC6

Changes for self-hosted & developers

Now, all of the params have no default value, means you have no need to explictly set them to -1 to disable them.

This changes affected those params: --master(-mm) | --trsuted-chat(-trs) | --report-to | --dinner-chat(-chd) | --medication-notify-chat(-medc)

This is also related to the following functions -- the new defaults behavor is shut them down(you will also seen them have been disabled in log):

  • Medication Timer daemon will not run when medication-notify-to-chat or notify-at-hour is not set
  • Morny Report will do not report when report-to is not set
  • On Call Me will send ID_501 when there's no master
  • Request Last Dinner will send ID_501 when there's no dinner-chat

there also imported one new sticker reply: ID_501:
ID_501

Bug fix

fix unclosed quote will cause exceptions while parsing command. again.