Skip to content

Releases: Eyre-S/Coeur-Morny-Cono

Morny 2.0.0-alpha20*(XINZHENG)

08 Aug 15:16
7cf06a5
Compare
Choose a tag to compare
Pre-release
  • Separated project to subprojects

    • morny-system-lib that includes Telegram related bot framework classes
    • morny-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.
  • Cha /on command now can triggered by just o in private chat. (not command /o, just plain text o)

  • Del old ServerModuleLoader implementation

    • Add a new module loader that will read file morny-modules.list to load modules
  • 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)

15 Jun 04:23
254ec2a
Compare
Choose a tag to compare
Pre-release

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.

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.

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

03 Jun 14:34
080ec1a
Compare
Choose a tag to compare

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

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).