unset the following defaults value:
- master
- trusted chat
- dinner chat id
- report to chat
- medication notify to chat
and make the related function can be shutdown by the new -1 defaults:
- MedicationTimer daemon will not run when medication-notify-to-chat or notify-at-hour is not set
- MornyReport will do not report when report-to is not set
- OnCallMe will send ID_501 when there's no master
- OnCallMe.requestLastDinner will send ID_501 when there's no dinner-chat
fix when using universal command parse may throw exception
- refactor ExtraAction to TelegramExtensions
- make exec a TelegramBot extension
- refactor isUserInGroup to Chat extension hasMember and memberHasPermission
- added LimBoUser and LimboChat for capability
- deleted TelegramUpdatesListener, and make EventListenerManager implemented UpdatesListener
- change some value definition, change startup and exit process in MornyCoeur
- removed updatesListener, extract its manager to eventManager in Coeur
- added account.shutdown before other's
- moved Morny's startup/exit report to Coeur
- change exitCleanup thread name from "morny-exiting" to "system-exit"
- add /info (without subcommand)
- add about pic
- add morny about links
- add MornyAssets to manager & use assets
- add TelegramImages to manager images that in use
- with a AssetsFileImage
- with IMG_ABOUT
- add MornyAbout
- changed MornyHello to MornyAbout
- add about links (used in /info)
- remove HelloOnStart
- added `--dinner-chat`/`-chd` startup param for setup dinner chat id
- fixed some unclosed resource
- TrackerDataManager changed method to get FileChannel (I don't know if it works)
- MornyCLI scanner uses try-with-resources
- declared directly used dependencies
- okhttp: 4.11.0
- gson: 2.10.1
- some minor refactors
- MornyCoeur.main rename to .init
- added package `internal` and move @BuildConfigField to it
- added new util class OkHttpPublic with MediaTypes in use
- added javadoc for TrackerDataManager
- and so on...
- add configs for medication timer
- medicationNotifyToChat
- default is -1001729016815L(Annie medication notify chat)
- add param --medication-notify-chat / -medc to set it, accept a long number.
- medicationTimerUseTimezone
- default is ZoneOffset.UTC(means +00:00)
- add param --medication-notify-timezone / -medtz to set it, accept a number that means timezone hours
- medicationNotifyAt
- default is a empty Set
- add param --medication-notify-times / -medt to set it, accept a hour(0~23) list seperated by ","
- now medication timer will exit if the notify-times is empty
- changed the Test data-source for MedicationTimer#calcNextRoutineTimestamp