Commit Graph

159 Commits

Author SHA1 Message Date
Sheldan
94d6497995 [maven-release-plugin] prepare for next development iteration 2021-03-13 02:42:20 +01:00
Sheldan
a79479e4e2 [maven-release-plugin] prepare release abstracto-application-1.0 2021-03-13 02:39:31 +01:00
Sheldan
a36a884ae9 [AB-199] adding build of sources and javadoc
fixing javadoc as various places
adding release plugin
adding developer connection to scm
updating release pipeline to new action versions
2021-03-13 02:02:27 +01:00
Sheldan
2ed456c164 [AB-197] splitting utility maven module into separate maven modules
aligning some package names
removing some unnecessary computed values from liquibase
2021-03-12 18:48:56 +01:00
Sheldan
e780b0e75c [AB-137] fixing occurrences for templates in cases entities do not exist anymore
fixing feature mode retrieval to adapt to lowercase
fixing disable exp role creation and retrieval
removing ansible code
2021-03-09 21:39:29 +01:00
Sheldan
821971523e [AB-165] removing mocking utils and general test improvements 2021-03-01 01:57:13 +01:00
Sheldan
43eca33113 [AB-77] moving the templating module into the core module
adding a possibility to overlay specific templates for particular servers
adding commands to configure templates
adding file parameter support
2021-02-20 13:29:09 +01:00
Sheldan
a536a0c2b3 [AB-191] grouping invite links in invite link deletion notification 2021-02-14 19:09:53 +01:00
Sheldan
23bdf4e906 [AB-69] adding templating support to help modules 2021-02-14 14:20:01 +01:00
Sheldan
34b9bca7ac [AB-192] removing second level cache
changing assignable role place module name
fixing starboard retrieving the starstats incorrectly
fixing removing user assigned roles when removing a role from assignable role place
fixing not being able to remove external emote for assignable role place
2021-02-13 16:16:50 +01:00
Sheldan
ea12d67e5f [AB-62] adding server id to more tables for easier joins and fixing structure at more places 2021-02-08 02:06:43 +01:00
Sheldan
038d5c3832 [AB-103] adding triggers to update created and updating attributes on tables
fixing error handling in installer
merging change sets to larger operations
adding check constraints
fixing suggestion id handling
applying naming conventions to various columns
adding indices to tables
adding user in server and user locking
2021-02-07 22:58:06 +01:00
Sheldan
b838678c15 [AB-184] adding various metrics to the system, organizing imports, changing some transactional behaviour
adding okhttp metrics, split bot service into multiple services (guild, message), unified some places that services are used in order to interact with the api, and not directly the objects (this is to make it easier for metric to be accurate)
2021-02-03 03:16:51 +01:00
Sheldan
2a2a3aea70 [AB-68] adding invite filter with commands to allow/disallow invites, remove stored filtered invite links and show filtered invite links
removing database entities from command context
2021-01-24 22:34:01 +01:00
Sheldan
fb3ed69650 [AB-154] split up private and guild message received handler, split handlers into async and sync handlers
adapting the tests and improving tests to reduce usage of MockUtils
adding some util methods to message bean
extending cache for cached messages
enabling to build cached messages from messages in DM channels (they are not part of the message cache)
splitting multiple listeners to different beans, for better overview (emote updated)
adding convenience service for reactions specifically
split cached reaction and cached reactions, singular only contains one user, while the later contains all users
fixing liquibase configuration for assigned role user
fixing assignable role not having a transaction
moved caching update a bit earlier in various methods
fixing bug that a manual unmute caused duplicate unmute notification
fixing short scheduled unmute not checking the new mute state
limiting parameters for roll
2021-01-23 11:40:41 +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
1b98436736 [AB-73] adding different feature modes to define whether or not certain actions should be logged, changing name of setup, disable and enable command to show that they are supposed to be for features 2020-10-17 16:35:20 +02:00
Sheldan
36d11371cb [AB-139] changing the places at which there might be an uncached member object
fixing integer validator
fixing syncing roles not working if the role did not change in the database
fixing warn id being flipped
fixing star stats model
2020-10-12 01:12:11 +02:00
Sheldan
0145e7670d [AB-138] improving logging at various places fixing various issues regarding async commands and exception handling, fixing role role calculation being done twice 2020-10-07 12:57:25 +02:00
Sheldan
76adda90a3 [AB-57] [AB-61] reworked commands and services to work with completable futures and moved the database operations to the very last operation so we have transaction safety in more areas
added some cache annotations to the default repository functions
reworked how the undo cations are processed within commands, they are executed in a post command listener when the state is error
added a counter id to generate ids to be unique within servers, changed a few tables to be unique within a server
added future utils class for wrapping a list of futures into one
moved abstracto tables to separate schema in the installer
refactored experience gain to work with more futures and delayed database access
2020-09-22 00:28:09 +02:00
Sheldan
552ecc26b8 [AB-99/AB-66] changed commands to use embeds for exceptions instead of direct messages
added models instead of using HashMaps for exceptions
added a lot of exceptions for different cases
refactored a few commands to be fully async instead of fire and forget
2020-08-29 12:55:48 +02:00
Sheldan
9374dfb912 added liquibase for setup of databases and initial values
fixed some table names to be singular
migrated templates to separate repository
added seed data to initial version in liquibase migrations instead of property files (post targets, emotes etc) and created some default tables containing those default values
added separate artifacts to be used containing only the liquibase config
added shell script as a wrapper for ansible deployment, to handle an environment variable defining whether or not the deployment should be executed
added logback scan period
added licenses for ansible, liquibase, docker and docker-compose
2020-07-17 21:48:23 +02:00
Sheldan
e8767429bf update JDA and jda Utilities version
fixed typos in the code
2020-06-28 12:04:34 +02:00
Sheldan
c44eb80fc5 added message to user initiated context
fixed templates for ban and kick logging
refactored kicking service
fixed guild not found exception template
added command validator to be used for unit testing commands
added default values for command configuration
changed some interfaces to message channel instead of text channel
added separate executor service for un-mutes, which is shared
updated spring boot version to 2.3.1
removed database connection string from properties
added logback configuration
changed some future logic in purge
refactored error message for un mute, when there is no active mute
refactored listener interface and removed usage of context utils
added tests for moderation services
2020-06-28 11:13:56 +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
3fa5edf67a addressed sonar code smells 2020-05-27 19:38:43 +02:00
Sheldan
992357b2cb added setup command which includes an interactive process in order to setup features
the current supported features are post targets and system config
the wizard includes a summary step where the user can confirm the changes
removed some unnecessary validators, which were basically just validating the system config from some features
fixed post target name
2020-05-22 17:25:44 +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
b984129df6 added check for existing system config when a feature is enabled 2020-05-15 18:53:51 +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
5755d033eb fixed command and feature mapping
added a bunch of java doc to moderation interface
added check in case the text channel on the server was deleted while the mod mail thread was still open
This now returns an error to the user side and prompts to message the bot again in order to create a new mod mail thread
2020-05-12 22:44:44 +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
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
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
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
8e7bc7d98f fixed some code smells 2020-04-27 20:23:02 +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
7ac2f2ce08 added unmute command to end all mutes, and remove the current one, this also cancels all running jobs, so we need to store the triggers
enabled voice state cache, as its necessary for voice state operations
kick user out of voice chat, if they are in any
changed unmute date to the the effective date of the unmute, instead of the planned date
added possibility to stop a job via the trigger key
2020-04-25 11:10:59 +02:00
Sheldan
0f8a39a336 changed catch block in join listener for Exception, so the listener dont interrupt one another
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
2020-04-24 20:04:19 +02:00
Sheldan
b41a596acd added Arole to command received handler in order to handle it
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
2020-04-24 18:02:05 +02:00
Sheldan
cf37d4adef added javadoc to experience tracking module
changed persistence configuration for entities, so cascade is more correct
changed the way channels get their server assigned
added feature to only change the exp role of a user, if he doesn't already have the new target role
added the name of the needed feature, to the message indicating that a feature has been disabled
updated unsetExpRole to have a status update message, because there might be a lot of users which need a role update
2020-04-23 23:39:05 +02:00
Sheldan
1a74924850 changed parameter for slowmode command to be a duration string instead of just seconds
added exception to duration parsing, in case there is a unknown duration indicator
2020-04-21 22:20:39 +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
9b46f8d187 moved commands into the core, because its a core functionality 2020-04-04 18:08:55 +02:00
Sheldan
20b282584a added command to add/remove channels from channel groups
added storing the commands with their modules in the db
renamed command impl module
2020-04-04 17:09:28 +02:00