Commit Graph

92 Commits

Author SHA1 Message Date
Sheldan
986b65a1e4 [AB-347] adding support for multiple and generic attachments to modmail
fixing editing messages with multiple embeds
fixing message limit also bein imposed on pure embed count
2021-12-25 16:29:23 +01:00
Sheldan
0514d355c7 [AB-167] adding warning created events and infraction counter
adding disabling of post targets
adding some logging for message sending failure consumer
2021-10-25 00:04:08 +02:00
Sheldan
8909e8ebe5 [AB-333] providing some dates as separate instants instead of relying on the member attributes
truncating date to day when displaying the date for export emote stats
fixing wrong message when confirming a command and adding missing exception handling
2021-10-14 01:31:52 +02:00
Sheldan
16e6caa1f0 [AB-196] adding confirmation requirement to various commands
refactoring command received handler in order to re-use when confirmation has been given
removing reaction from showSuggestion and remind command
adding log message for message deleted message, in case the member left
all commands from now on must work without the member field from the message, as this is not available when retrieving the message
2021-09-27 00:22:37 +02:00
Sheldan
19a4858da1 [AB-323] improving logging when using whenComplete 2021-08-14 12:15:18 +02:00
Sheldan
d01e46a9a6 [AB-xxx] fixing modmail sometimes failing to log messages 2021-08-14 08:02:04 +02:00
Sheldan
168b4a52c8 [AB-xxx] changing some exception logging
fixing moderator member not re-used for reply command
2021-08-09 00:11:49 +02:00
Sheldan
1486a0e9c3 [AB-314] forcing modmail messages being logged in certain order 2021-07-25 20:17:32 +02:00
Sheldan
86b9ccb164 [AB-300] adding ability to determine the channel names for modmail 2021-07-21 01:38:04 +02:00
Sheldan
7e7591a4b3 [AB-302] refactoring assignable roles to use buttons instead of reactions
moved button related services to component service instead of message service
adding component type to component payload
renamed async role service methods
ignoring bot reactions in starboard
fixing rank not showing correct experience to next level for other members
2021-07-11 19:05:53 +02:00
Sheldan
18929c9a01 [AB-298] fixing various issues related to modmail:
fixing editing a message without messages but only embeds not possible in channel service
refactoring closing parameters to use an object instead of parameters always
adding a progress indicator to closing a modmail thread
adding a notification to contact in order to show where the thread was created
fixing configuration for category (this caused the setup to fail, because there was no default value) and threadMessage feature modes not being correct
refactored model for closing header and added additional information
refactored modmail message logging to use the message history instead of individually loading the messages
adding nicer exception in case the mod mail message update failed
adding creation of AUserInAServer in case the user did not interact on the server yet
changed ID of modmail thread to be identical to the channel it was created in, this is so we can load the channel easier
2021-07-04 12:14:04 +02:00
Sheldan
5a35137132 [AB-271] limiting certain arguments for commands to require the same server 2021-06-27 17:07:01 +02:00
Sheldan
13a6e1fdca [AB-263] adding stricter not null checks to database, disabling updates/inserts for created and updated columns to only rely on triggers 2021-05-23 14:17:03 +02:00
Sheldan
e31d257e6f [AB-240] changing invite filter to actively filter the server instead of only being based on the code
moving invite filter to separate module
updating to newer liquibase version
changing concept of immune roles which are directly associated to commands to immune roles which are immune against certain effects. these effects can be configured directly by the command (and a condition checks this effect), but they can be used in services as well, unrelated to commands
adding checks to not execute message received listeners for the wrong message types
adding metric support for 502 status
fixing duplicating help entries when two module definitions with the same key are present
2021-05-10 20:45:34 +02:00
Sheldan
020cc58c4a [AB-242] refactoring suggestions
adding veto and unsuggest command
adding support for configuration whether or not a reply mentions the message
adding support to reply to a message via template
changed default mention config to exclude role mentions
2021-04-29 01:00:27 +02:00
Sheldan
27763e985d [AB-232] moving logging to separate module
refactoring leave and join listener
2021-04-24 16:00:58 +02:00
Sheldan
8258197bfc [AB-xx] replacing trace log with debug 2021-04-04 18:23:18 +02:00
Sheldan
6375dbf463 [AB-218] adding ability to split the normal message as well according to custom configuration
adding ability to define the max amount of messages resulting from a template on a server and template base
fixing not always considering the server when rendering templates in various places
2021-03-30 20:29:13 +02:00
Sheldan
9541f907b8 [AB-215] adding create alias and delete alias commands to create service specific aliases for commands
renaming package in commands package
defaulting to latest in docker compose build for deployment container
fixing jacoco configuration
changing that if there are no parameters required, parameters are accepted
2021-03-28 16:46:21 +02:00
Sheldan
f53f0cb66c [AB-205] making exception message for command not found configurable
making feature config classes more unified in the naming
2021-03-21 22:59:01 +01:00
Sheldan
b4e36efafb [AB-203] restructuring listeners to use more common code and common interfaces for listeners and models
restructuring entity listener to be async and added models
fixing usage of repository save method
adding interface dependencies to bundle dependency management
2021-03-21 16:26:06 +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
5f6746d742 [AB-149] adding command to reset configuration to default values
removing listener to create system config instances
adding default value retrieval to appropriate places
making config key handling case insensitive
changing exp multiplier to double value
refactoring experience service bean test
2021-02-27 23:56:38 +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
876fbc01d9 [AB-120] adding jump link to modmail notification 2021-02-14 19:56:05 +01:00
Sheldan
94532be54d [AB-112] adding star levels to setup feature wizard
moving star level configuration to only be instantiated when needed
2021-02-14 17:04:37 +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
047c574319 [AB-190] migrating default config (featureMode, system config, post targets, feature flags) from tables to property files
not longer immediately instantiating the feature flag instance when a new server is found, but only when its config is changed or when a feature mod has its config changed
2021-02-11 00:19:17 +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
448d555dba [AB-166] refactored conditions to not use exceptions for their regular case, split up feature mode exception into condition and exception, if the conditions need to be checked somewhere else, a separate exception is required, fixed command not being disabled properly in channels 2020-11-21 22:28:24 +01:00
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
389b38f4f0 [AB-151] adding ability to define a priority in order to define which listener is executed before another 2020-10-20 21:58:04 +02: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
0aa7d3f036 [AB-78] adding new concept of feature modes, with splitting it up to new commands and default mode concept
refactoring command received handler to only load the entities in the same thread as the actual executed commands, so that user initiated context contains valid references from the same thread
updating documentation
fixing issue when the result of role calculation result in no experience role id
2020-10-16 20:42:29 +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
a391381ff6 [AB-136] replacing some rare occurrences where fake objects where used for actual database operations
replacing a few sync commands with async commands
refactoring parameters in assignable role place service bean
fixing emote parameter handler to also consider default emojis
removing unused description in command
replacing some ARole parameters with Role parameters, so we can be sure they exists
added a few TODOs marking exception changes required
2020-10-03 15:32:23 +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
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
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
19a7d09576 updated javadoc for experience tracking
added/changed some javadoc for mod mail
some small interface changes
changed a few methods to actually use the exists mechanic, instead of checking for null values
added some templates instead of hard coded strings
fixed some bugs related to mod mail
2020-06-18 23:30:39 +02:00