fixed join template
added join listener to check if a joined user should be muted
changed cached message to be an intant instead
fixed wrong id in mute table
moved the timestamps for mute notifications to the footer
fixed a case for message embeds, when the embed does not have a description
restructured channel service calls a little bit
moved dm sending to message service
fixed log level configuration
added full user dto, to be used as a combination of a AUserInServer and Member, for operations which need both, to avoid converting and reloading the user
added mute command and mute role command
added mute table
added mute role table
added job to automatically unmute people at the given time period
restructured warn service
removed simple message log for warnings
added method to templating to support formatting instants
added feature flags for commands/listeners
added enable/disable command
added feature flag handling to command received handler
added boolean parameter support
fixed 1 parameter commands
fixed posttargets not working on multiple servers, removed unique constraint on posttarget names
added setup validation to suggestions
added quartz property loader
moved join/leave logger to moderation
reworked the way the message listener are handled (separate listener around)
reworked message cache to not be jda messages, but own objects: cachedMessages, jda messages should not be kept around
added listener to listen for message links, to represent them in an embed (or embeds)
added offsetDateTime handling for gson
introduced a way on how to handle async transaction handling for suggestions and message loading (self reference with another method with transactional)
added timestamp support to embeds
added ability to create/accept/reject suggestions them
made commands async, because a lot of operations behave like that
in case the database is needed in an async operation, this needs to be in a separate transactional service
fixed ordering of Long parameters (server > channel > message)
added initial emote handling (no adding of emotes yet)
fixed creation of AUserInAServer, in case the user did not exist yet, when loading
changed PostTargetService to return Futures instead of being a void, in order to be able to act on the message posted
set logging level to debug
fixed help for different commands (templates had wrong naming)
added gson dependency
added logging the exception in the exception post executor
added configuration exception in case the configuration for posttargets is not correct
added support to send embeds to posttargets
changed interface to be a warnlog instead of a server context for warning users, because the template
changed freemarker Incompatible Improvements to support default methods in interfaces
added ability to define embed configurations to be used, in order for a template to only be configurable as a template
changed template content size to 4000 characters
added method to convert the user initiated context to a concrete command model
added method to find if a template exists
added method to render a context aware model
added banid command
added an exception, in case the command was missing the correct types of parameters (channel is required, no channel was found)
added fix text to exception handler, in case the message of an exception is null
fixed off-by-one error when searching the missing parameter
changed supported chanel from guildChannel to textChannel for posttarget
added slowmode command
changed command context to be a member instead of user, commands are only supported within guilds
added custom exception templating for the error message
added error message in case the parameters for a command were too little
added support for templates on command help descriptions
added post execution to be executed to print exception messages
refactored command handling to be able to support exceptions
added user and userInServer management