Releases: Eyre-S/Coeur-Morny-Cono
Morny v1.1.1 *nanchang
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
尊嘟假嘟
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
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 |
---|---|
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.
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.
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 |
---|---|
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) is9
,-11:00
is-11
- default is UTC timezone (+00:00)
- It accept a hour number that means the timezone offset hour. for example
- add param
--medication-notify-times
/-medt
for controlling when to notify.- it accept a list of hour number, separated by
,
. for example, set0,7,21
means you want to notify at 00:00 and 7:00 and 21:00. - default is empty, which will shutdown Medication Timer.
- it accept a list of hour number, separated by
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
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:
Bug fix
fix unclosed quote will cause exceptions while parsing command. again.
1.0.0-RC5
Change project language to Scala
Morny Coeur now use Scala as programming language.
This is a huge update and changed much many internal interfaces.
The updated interfaces cannot be listed, but the public function of bot is almost the same.
Minor changes
OnUserRandom "/do this?" function now support more keywords.
old keywords
吗?
?
new keywords吗?
?
?
吗?
Bug fixes
Fixed OnUserRandom "/do this?" function conflict with QuestionMarkReply
Fixed other old bugs while doing scala port
1.0.0-RC4
Full Changes: 1.0.0-RC3...1.0.0-RC4
This changelog is based on previous pre-release 1.0.0-RC3
.
Also read the previous pre-release changelog to see what' going on between the previous stable and this.
Brand new /info
and /start
The /info
and /start
command have a fully new designed easy-to-read introduction with Morny's feature image page now!
New in random tools: today do it?
As the normal random tools, use /
as the prefix, then, use 吗?
or just ?
as suffix.
New entertainment function: ???
When you send ?
, Morny will have chance reply you a ?
.
Some others special question marks and multiple question marks is also supported!
For Developers:
Now support log level setting!
Since update messiva to v0.1.1, Morny now finally can set logging level.
Now, logging only log level not lower than INFO is the default behavor. We added coeur startup param --debug
/--dbg
/-d
to let coeur's minimal logging level to ALL.
Added dockerfile to project
We added one default dockerfile which can build Morny Coeur from source and generate one available to use docker image. The accompanying docker-compose.yml is also added in the project file.
Althought we have no plan to publish to docker hub, this default dockerfile might be a good start, and you can also clone this repo and use docker compose up
to start easily now.
Some Patches
/nbnhhsh
will now send 404 when there's no input text.
added missing --dinner-chat
startup param.
Bug fix
inline query ShareBilibiliVideo now will not recieve illegal av/BV id which can cause excptions.
fix unclosed quote will cause exceptions while parsing command.
1.0.0-RC3
Full Changelog: 1.0.0-RC2...1.0.0-RC3
Medication Timer
fix error while converting millisecond to nanosecond in Timer
Added parameters to control timer and notify
- add param
--medication-notify-chat
/-medc
for controlling where notify should send to.- It accept a long value means the motify chat id, accept only one value.
- default is Annie's notify chat.
- 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) is9
,-11:00
is-11
- default is UTC timezone (+00:00)
- It accept a hour number that means the timezone offset hour. for example
- add param
--medication-notify-times
/-medt
for controlling when to notify.- it accept a list of hour number, separated by
,
. for example, set0,7,21
means you want to notify at 00:00 and 7:00 and 21:00. - default is empty, which will shutdown Medication Timer.
- it accept a list of hour number, separated by
1.0.0-RC2
Full Changelog: 1.0.0-RC1...1.0.0-RC2
This publish changelog is based on previous pre-release 1.0.0-RC1
.
Also read the previous pre-release changelog to see what' going on between the previous stable and this.
-
fixed
--report-to -1
not process normally -
changed Medication Timer trigger time from
0:00[+8]
and12:00[+8]
to only12:00[+8]
with changed the function inplementation and added a test for it and
1.0.0-RC1
Full Changelog: 0.8.0.11...1.0.0-RC1
Morny Coeur major update 1.0*BEIPING
is almost a kernel update, it has only few functional updates while has much code changes.
as a end user, there's no much changes to know, but for the developer, you may have a huge need to read full diff.
MornyReport
Added a feature that can execute a report to a Telegram channel while bot Login or Exit or an Exception occurred.
using start param --report-to
to set an channel id (there is a default value exists, using -1
to disable this feature).
Telegram Commands
/info
: Merged the /version
and /runtime
those two now exists as the subcommand of /info
, like /info version
.
old /version
and /runtime
command are still available while they have been removed from command list.
and the /runtime
now is the default behavor while using /info
command without subcommand/param.
command version
/runtime
format and support changes:
with Build Config updates, version and runtime now support commit git info (will also have a link if available)
the compile time have also been changed to code time : it shows if there's no code changes between build environment with the commit, it will use the commit time whether than current time as code time
besides changes on version
, there's more format changes on runtime
.
*msg
: now support *msg
with send id without send body.
Bugs Fix
-
fixed
--trusted-chat -1
will caused MornyTrusted throws exception, now it will judge(ignore) the value as design. -
fixed one easter-egg command cannot execute dut to no support to non-ascii command name. (also changed its behavor while I won't tell too much here)
Build Tool (Gradle)
fixed the permission problem which caused ./gradlew
and ./gradlew.bat
cannot execute.
import the buildconfig plugin which can make version variable process better
import the grgit plugin, make build variable support to git-commit/working-tree-clean/commit-time.
it will also check and report current git/working-tree status while gradle initializing.