Commit graph

40 commits

Author SHA1 Message Date
Noikoio
3780a34b0d Reorganized files
MessageCache disabled. It will become part of a new feature.
2017-11-06 18:15:52 -08:00
Noikoio
b67716ec94 Finished implementing database caches 2017-11-05 20:55:57 -08:00
Noikoio
2958d14b08 Finished implementing DatabaseConfig
No longer using separate schemas for each guild. Values for multiple
guilds will be stored within the same table.
2017-11-05 14:58:50 -08:00
Noikoio
97b3bddf20 Split DBCache class into two separate classes 2017-11-05 12:01:32 -08:00
Noikoio
244debadf2 Partial progress on DBCache 2017-11-01 16:24:22 -07:00
Noikoio
5c972997c0 Added DBCache
Currently incomplete. This feature will maintain a cache of
entities in a database to be used by upcoming features and
possible external utilities to be created in the future.
2017-10-29 20:04:57 -07:00
Noikoio
1e2e615a23 Require Guild ID in server definition
Due to how guild configuration is retrieved by features, it's easier
to have the ID be defined explicitly in server configuration instead
of having to look it up each time it's necessary.
2017-10-21 13:19:41 -07:00
Noikoio
e30b6be5fe Replaced important comments with noticeable warnings 2017-10-21 12:05:46 -07:00
Noikoio
0cbe074151 Added 'say' command type 2017-10-15 17:22:21 -07:00
Noikoio
3f376605f2 ModTools configuration redone
Defining config for ModTools now is similar to that of other features.

Additionally, merged the Ban and Kick commands into a single file,
and it no longer scans itself for attribute data on load.
2017-10-09 11:54:12 -07:00
Noikoio
c344db0c92 Merge branch 'dev' 2017-09-05 11:21:57 -07:00
Noikoio
14a811062e Renamed 'trigger' to 'regex', arrays now allowed
To have regex config be consistent with AutoMod.
2017-09-05 10:55:47 -07:00
Noikoio
a40c115d87 Organized AutoRespond code 2017-09-05 10:26:13 -07:00
Noikoio
3ff2ef28f0 Organized class files, names 2017-09-05 10:18:07 -07:00
Noikoio
120f31a88b Display a count of total rules added on load 2017-09-05 09:11:07 -07:00
Noikoio
16ee0ad54c Fix compilation error 2017-09-05 09:03:27 -07:00
Noikoio
01b2ef1f1b Log guild name along with channel on rule match 2017-09-04 18:55:03 -07:00
Noikoio
a8b4dfd4c3 Fix AutoRespond rate limit being applied incorrectly
And renamed RateLimitCache method to something that makes more sense.
2017-09-01 00:54:02 -07:00
Noikoio
042e98a022 Fix AutoRespond configuration not able to be retrieved 2017-08-30 00:28:51 -07:00
Noikoio
d560ca5c94 Fix exception when rate limit not defined 2017-08-30 00:28:34 -07:00
Noikoio
2e9036b26a Log autoresponse configuration load 2017-08-29 22:40:26 -07:00
Noikoio
019a5bdd96 AutoMod and AutoRespond items no longer need label
All configuration items for AutoMod and AutoRespond are now defined
as JSON properties. The name of the property is used as its label.
2017-08-29 22:25:47 -07:00
Noikoio
85f694ba7d AutoMod rule processing to the thread pool
It was originally like that, but was changed to be synchronous during
debugging. I may have forgotten to revert it before committing.

Also, removed note for future asynchronous response processing.
Synchronous response execution is expected behavior at this point.
2017-08-27 18:34:22 -07:00
Noikoio
3c88bce94a Fully implemented AutoMod 2017-08-26 10:24:37 -07:00
Noikoio
0f3fd350fa Removed RegexResponder 2017-08-26 10:23:02 -07:00
Noikoio
18e1748c4f Fixed all autoresponses triggering on every message 2017-08-26 10:05:29 -07:00
Noikoio
7dbab38728 Fully implemented AutoRespond 2017-08-11 23:45:27 -07:00
Noikoio
2358a8eec4 Fixed BanCommand not accepting IDs of non-guild users
Also slightly improved the equivalent code for KickCommand
2017-08-11 09:29:52 -07:00
Noikoio
f19ef5a662 Implement MessageReceived delegate 2017-08-11 08:23:20 -07:00
Noikoio
262f77d82d Added AutoRespond rate limiting 2017-08-10 15:19:42 -07:00
Noikoio
8d228a4d7c Added FilterList
Several upcoming features will be making use of the same whitelist
and blacklist filtering concept that RegexResponder currently uses.
2017-08-10 12:53:46 -07:00
Noikoio
bd46c53a02 Added AutoRespond/ResponseConfigItem 2017-08-09 20:16:08 -07:00
Noikoio
e020b328c6 Added new (unfinished) classes
Will begin development of AutoRespond first. A (planned) feature list
was added in the Feature class's documentation.
2017-08-09 19:32:28 -07:00
Noikoio
1351777e0a Fixed incorrect kick/ban reasons 2017-08-09 16:07:42 -07:00
Noikoio
7f8d6465ef Added EntityList.ExistsInList
Replaces redundant code in both features.
2017-08-08 12:48:30 -07:00
Noikoio
9818d4af89 Removed EntityItem.UpdateId
Will no longer determine and store snowflake IDs for each entity
defined in configuration. Instead, it will be strongly
recommended in future documentation that users make use of IDs to
define such things.
2017-08-08 12:36:49 -07:00
Noikoio
e3d40a5f60 Added ModTools feature
Implements moderation commands that are fully configurable.
Commands are defined in configuration per-server under "modtools",
and allows for custom command triggers as well as individual options.

For now, only commands with "kick" and "ban" capabilities are
available, but more will be added in the near future.
2017-08-06 13:05:44 -07:00
Noikoio
27a25d90fc Added BotFeature base class, implemented in RegexResponder
BotFeature is a new base class that all new individual bot features
will derive from. At least one new feature is planned for this bot,
and in time it may be opened up so external assemblies can be loaded.

Full list of changes:
-Added BotFeature and ConfigSectionAttribute classes
-Renamed ConfigLoader to Configuration
-Removed RegexResponder specific configuration data
-Added per-feature configuration data storage
-LoadInitialConfig() no longer loads all configuration
-ReloadServerConfig() now loads remaining configuration, and allows
 for actual configuration reloading. Live configuration reloading
 is not an exposed feature yet.
-Can now delegate feature-specific configuration loading to feature
 classes that make use of ConfigSectionAttribute

-RegexResponder fully implements BotFeature
-Rule configuration loading moved to RegexResponder
-Logging output has changed slightly in regards to rule triggering
 and execution

-Changed configuration load behavior on startup
-Version pushed up to 1.0.0
2017-07-26 15:36:59 -07:00
Noikoio
0b70dca915 Fixed compilation errors introduced in previous commit 2017-07-23 14:45:09 -07:00
Noikoio
376e44f941 Reorganized files to separate features
With the addition of moderation commands coming up, it will be good
having a clear separation of separate features both in code as well
as in the way the files themselves are organized.
This code change will be coming soon.
2017-07-21 20:51:00 -07:00