Commit Graph

24 Commits

Author SHA1 Message Date
Sheldan
04f1db2408 [AB-80] added tracking of emotes used by server members and configuration
updated sonar scanner version
changed some commands to be silent instead of adding a check reaction
2020-11-19 00:21:05 +01:00
Sheldan
dca98c2953 [AB-96] adding ability to edit/delete modmail messages via editing/deleting the original message causing the message,
adding featuremode to modmail to define whether or not there is a separate message posted to the mod mail thread, to see it easier, renaming modmail related tables to singular, adding some necessary methods (caching) to all entities
2020-10-20 00:03:13 +02:00
Sheldan
fbb36ae9d5 created concept of auto load macros, these are macro files which are loaded automatically on startup and can be used in any template
changed assignable post config to be a full emote instead
2020-08-16 12:40:41 +02:00
Sheldan
fd4d784081 added assignable role place module including: setting up, configuring, deleting commands and documentation
upgraded JDA version to 4.2.0
refactored multiple interfaces to be more convenient/contain more information (reaction added/removed now gets the actual event)
added generic way to check for conditions. these conditions are provided by modules and are loosely connected via condition context and a condition name
added changeable flag to emotes to indicate that they can be updated via setEmote
refactored emote parsing in command parameters, the command parameters will now contain a fake emote
added feature to embed templates for fields to force a new message regardless of the discord limit
added some more functionality to message and channel service regarding field edit/embed sending
introduced the full emote parameter, to have both the emote (if custom) and a fake aemote at hand
refactored some methods to already throw exceptions within the retrieval methods, instead of optionals which need to be dealt outside
changed getEmotes to getEmotesBag to have duplicates of emotes
fixed setEmote to behave correctly with new parameter types
fixed creation of emotes, which previously created additional instances
fixed templating multiple fields handling
refactored command handling to allow async commands, they are the same interface, but configuration dicates whether or not it is async
added generic exception reporting for async commands
refactored a bunch of service methods to be named optional, and the non optional methods throw exceptions in case nothing is found
added a few more customized exceptions
added clearing freemarker internal template cache to clear cache
added feature to skip, not use, embeds if they look to be empty (no fields, no description, no attachment)
added virtual env to gitignore
fixed initial sync of roles un-marking roles as deleted
added some convenience methods to remove reactions from users directly
fixed post command handling in case it is not a templatable instance
fixed exceptions without cause in generic exception model
2020-08-12 20:01:15 +02:00
Sheldan
1091e66013 added purge command to delete messages via bulk delete
adapted api of status message service
added concept of self destruct command results, these will cause the command message to be deleted
2020-06-03 19:47:50 +02:00
Sheldan
f4edf7a77d added template service, template management service bean, freemarker methods and template loading tests
added templating exception
changed embed configuration to have builders
enabled mocking of final classes for mockito
2020-05-29 23:45:05 +02:00
Sheldan
b554419381 updated java doc in templating 2020-05-26 12:40:06 +02:00
Sheldan
20f8e422a2 added commands to create/delete/list usernotes 2020-05-17 23:13:01 +02:00
Sheldan
ddb540ccfe added columns for tracking created/updated 2020-05-16 00:21:53 +02:00
Sheldan
f11232de05 moved post targets to an enum, in order to have more type safety, this might be changed in the future
added validation check when a feature is enabled, in order to notify which configuration is missing for this feature to function properly
2020-05-15 17:43:39 +02:00
Sheldan
c429aa882b refactored channel exception to have a unified interface to form the exception message
replaced getOne with findById in order to get optionals and handle those
some places still have the general abstracto run time exception
2020-05-13 12:49:08 +02:00
Sheldan
70428e6e03 added a first version of java doc for the templating module 2020-05-11 20:46:14 +02:00
Sheldan
860aa0eed7 added ability to configure paginators to be used
added paginator for warnings command
2020-05-09 21:31:31 +02:00
Sheldan
a06006d763 added jda utilities dependency
added modmail with some simple features (chat between user and moderator), and initial server selection (currently allows all servers, and does not consider the modmail feature)
added the initial commands, not all of them hold logic currently
added some checks to not crash when a command has null configuration
changed systemconfig to also have a long value, because double is not fit for all cases
added locking mechanism, to effectively lock the whole table without using the ... proper locking mechanism (needs to be reviewed)
changed interface in channel service to be a message channel instead of a textChannel
changed starboard post to be a user in a server instead of only user
2020-05-06 14:17:44 +02:00
Sheldan
f2ce402256 introduced eh-cache as a caching provider instead of caffeine to be used in hibernate (only ram cache is currently possible)
added caching configuration for 2nd level caching in hibernate
added command to clear hibernate caches
changed some interfaces so the api looks a bit more consistent (return the created/updated value)
split user management and user in server management
added try catch block to message received listener execution, to make them independent
moved some feature flag methods to the feature flag service bean instead of the management service, as they used the FeatureEnum directly
fixed feature disable text always rendering
removed some non embed logging
fixed message embed template
added exception logging to message embedding
2020-05-01 22:42:12 +02:00
Sheldan
e13762fa02 renamed template method to not rely on overloading
added test for scheduler service bean
2020-04-08 13:26:37 +02:00
Sheldan
da28831ff9 restructured packages - aligned the whole project to use a similar package layout for classes with similar purpose
removed context aware template support
2020-04-07 23:27:48 +02:00
Sheldan
4b3765ee0f restructured core module 2020-04-04 18:19:24 +02:00
Sheldan
03e81a025b added scheduling support
added remind command
added support for parameters with spaces (they are contained by ")
fixed support for remainder parameters
added maxlength support for parameters
added ability to embed templates, to have a text as well
moved properties to a more appropriate position
added method do parse a duration
2020-03-28 20:12:59 +01:00
Sheldan
7d63f6b8af added some utility methods to bot service
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
2020-03-24 20:36:36 +01:00
Sheldan
9b7f0743fc upgraded spring boot starter version
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
2020-03-20 16:06:19 +01:00
Sheldan
c978c1c677 changed context handling for command models for logging
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
2020-03-20 09:34:37 +01:00
Sheldan
167bbb0f8b added template support to echo
replaced HashMaps for templates with concrete models, so the interface is easier known
added rendering method for objects directly
added default parameters available for commands
split up service beans for server/channel into management and service bean
added server reference in AChannel
refactored join/leave listener
2020-03-17 19:41:25 +01:00
Sheldan
0521a1ab44 added templating support
changed ping command to use templates
added userjoin/userleave event
added guild to command context
refactored post target service
added logging output to initial loading
added server_id to postTarget
added leave log postTarget
2020-03-16 01:28:17 +01:00