Commit Graph

248 Commits

Author SHA1 Message Date
Sheldan
5639ca20b5 added check to not allow two channel groups with the same name 2020-05-12 00:55:45 +02:00
Sheldan
59c449f4d3 added evaluation of the allowed commands when executing help
added a note that a few commands are only available within a mod mail thread
2020-05-12 00:45:13 +02:00
Sheldan
c234266b7b restructured the duration formatting templates for easier translation 2020-05-11 21:14:55 +02:00
Sheldan
70428e6e03 added a first version of java doc for the templating module 2020-05-11 20:46:14 +02:00
Sheldan
e89c3b8796 added html output for documentation
restructured documentation
added more levels to table of contents
2020-05-11 19:05:59 +02:00
Sheldan
b13309a026 Split the logging of mod mail threads to a separate feature
fixed the default values of features in properties files
2020-05-11 16:15:02 +02:00
Sheldan
af15becf84 fixed the type of initial values for configuration 2020-05-11 15:42:54 +02:00
Sheldan
6b37b9e8b7 merged the config commands into one command for setting the appropriate value 2020-05-11 15:39:11 +02:00
Sheldan
e314ec178d added explanation about immune roles 2020-05-11 15:14:13 +02:00
Sheldan
9197fe0268 removed decay feature boolean from myWarnings, because only automatic decay is an additional feature
fixed post target for kicking
fixed casing for mod mail post targets
added initial version of the ascii doctor documentation
2020-05-11 15:00:00 +02:00
Sheldan
ba032194ce added bean configuration for event waiter to be used for paginator
fixed initial setup for server
fixed command in a server configuration
2020-05-10 20:29:32 +02:00
Sheldan
82186c8757 added command to delete a warning by id 2020-05-10 19:34:35 +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
1e203c19e0 added command to check your own commands 2020-05-09 17:19:09 +02:00
Sheldan
aba98ef0c6 fixed jpa annotations for one to many 2020-05-09 16:21:48 +02:00
Sheldan
da8fea34da replaced a bunch of places where the database loaded objects were referenced across threads, this might have lead to problems when lazy loading them
fixed starboard post template
fixed starboard post deletion
2020-05-09 16:15:07 +02:00
Sheldan
8db1cead57 fixed some catch blocks to include all exceptions
fixed message sending undo action
2020-05-09 01:32:09 +02:00
Sheldan
0e7add826b added undo logic to mod mail logging
added some more logging when closing the mod mail thread
2020-05-09 01:10:46 +02:00
Sheldan
379db1ff73 added concept of undo actions
used undo actions to delete the mod mail thread channel, if it already reached a certain state when initially setting up the mod mail thread
2020-05-09 00:19:19 +02:00
Sheldan
271ea7364a fixed initial setup for mod mail category
fixed setup for locking
added exception message in case the modmail post target is not defined
2020-05-08 23:22:23 +02:00
Sheldan
d1f307837d added initial setting for the mod mail category in a listener, so it can be configured via command 2020-05-08 18:27:04 +02:00
Sheldan
1c67d96887 added subscribe and unsubscribe command 2020-05-08 17:02:22 +02:00
Sheldan
5ace3e2abb restructured templates for mod mail a bit 2020-05-08 12:27:08 +02:00
Sheldan
9fdca52005 added command to remove the role from mod mail configuration again
added convenience method to disallow a whole feature for a role
2020-05-08 12:11:35 +02:00
Sheldan
4236db7a5b updated mod mail help command texts 2020-05-08 11:23:02 +02:00
Sheldan
7699075b33 added mod mail thread notification, if a user initiates a mod mail thread
added the concept of a mod mail role, these are roles being pinged when a thread is opened, and they also are able to execute mod mail related commands
fixed past thread count in mod mail header
added convenience method to allow a role to execute a whole feature
2020-05-08 10:49:06 +02:00
Sheldan
ea6fe240f4 added anonymous message handling to modmail 2020-05-08 00:58:05 +02:00
Sheldan
c03788a065 added closesilently command for modmail
largely refactored modmail future handling and error handling in case:
no permission, unable to contact user
fixed help command template
2020-05-08 00:20:20 +02:00
Sheldan
95733c9b98 moved default close note to template, added notification if there are no servers available which have mod mail enabled, added check to only present the servers which have the feature mod mail enabled. 2020-05-07 20:20:40 +02:00
Sheldan
6cf69af438 added header message containing information about the user the mod mail thread has been opened for 2020-05-07 00:26:19 +02:00
Sheldan
cb1a14e46b added user facing message in case the initial modmail creation fails 2020-05-06 23:41:35 +02:00
Sheldan
feb9ce07ee fixed using the correct parameter for reply and anon reply (not the whole message, so we dont need to parse out the actual reply again)
added optional note parameter for close
fixed state not being saved in database for mod mail thread
changed logging of mod mail to be templated, instead of replaying the messages
added reaction to indicate the user, that the message was processes by modmail
fixed future handling for user message replies (we blocked)
added header for initial information about the user when he opens a thread
fixed duration formater resulting in new lines
2020-05-06 23:22:43 +02:00
Sheldan
ad1cbb54fd refactored the naming in channel service
added initial version of closing and logging the thread
2020-05-06 18:32:08 +02:00
Sheldan
54327c3e58 implemented contact command and added check if the thread already exists
added anon reply command
2020-05-06 15:36:13 +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
cf713cc561 added unremind command 2020-05-01 23:24:05 +02:00
Sheldan
70365ca556 added logging to several places concerning futures 2020-05-01 22:56:21 +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
59dc8c602a refactored command responses to use a central place for configuration in an extra module
fixed makeAffected role parameter
made command check name case insensitive
added name to parameter for decayAllWarnings
removed simple log from message edited listener
2020-04-30 22:29:49 +02:00
Sheldan
d5482fabd4 renamed feature display to feature config
added concept of feature dependencies, if one feature depends on another feature, and it gets enabled, the other feature is enabled as well
changed some feature related apis
added ability to automatically decay warnings (separate feature)
added command to trigger the warn decay manually
added command to decay all active warnings
added method to scheduler service to directly start a cron job
2020-04-29 21:25:26 +02:00
Sheldan
85c47db5ed allowed the Arole parameter type to be either an id or the role mention
fixed adding/removing allowed roles, the compare did not work
changed a few commands to use the Arole parameter
2020-04-28 22:12:29 +02:00
Sheldan
6ed3a133e2 added allowed roles, immune roles and restriction status to help command 2020-04-28 21:32:20 +02:00
Sheldan
65b693be7b added alias support to help command 2020-04-28 20:22:27 +02:00
Sheldan
1fc459f65e added description/long help and usage to all the current commands and updated a few of existing ones
added help info objects to the commands who missed them
changed all commands to be templated and removed the hard coded strings to only rely on templates (other commands might only want to use the direct string)
fixed handling of null parameters/submodules in help command
fixed experience module not showing up in help command
2020-04-28 20:02:03 +02:00
Sheldan
93f587bf26 refactored help command 2020-04-28 15:39:47 +02:00
Sheldan
8e7bc7d98f fixed some code smells 2020-04-27 20:23:02 +02:00
Sheldan
e08086b6a9 added the concept of commands in server, to have a separate config for commands within a server
added server config listener, to create such commands
moved the command and feature creation to separate spring listener (they are dependant, a mechanism for dependencies is needed)
added a feature flag to the command table, so we know what the feature of a command is
added ability to restrict commands to certain roles/remove the restriction
added ability to make some roles not affected by a command/remove the immunity, this works by retrieving the first member from the command parameters, and checking if the member has the said role
commands in a server now have a restricted flag to indicate, if the role checks should be in effect (only affects role-to-execute restriction)
fixed initial prefix config
added the immune user check only to commands most likely needing it
2020-04-27 17:32:33 +02:00
Sheldan
05aa0815d6 added feature to dynamically adapt the prefix while the bot is running, multiple characters are supported 2020-04-26 12:11:28 +02:00
Sheldan
4800470f86 refactored features to be components instead, so we have more runtime config (for example template config etc), this can be done, because features depend on the code anyway and do not need to be done via property files, the property files only define the default values when starting up
fixed feature disabled message not being templated and refactored the way condition checks are handled by the command received handler, so we do not use exceptions for this, this handled by a specified state in the result and a separate post execution handler
added separate config module to the commands
added command to see which features are available, and their current state
fixed scheduler test
2020-04-26 11:38:27 +02:00
Sheldan
bd554537cc removed some unused autowired services
changed place to use the starboard post source channel instead of the message channel
2020-04-25 14:41:31 +02:00