This was the product of having worked on it on and off with no clear
schedule or plan. It is structurally... pretty bad. And prone to bugs.
Its core features are known to work. Other features may be added later
as necessary. Don't consider this to be a largely finished module.
This may even be rewritten in the near future, now that I know better
what I want to get out of this.
Modules will now be named based on their existing class name.
Their respective configuration sections are now also defined by the
same value. Documentation has been updated to reflect this.
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.
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.
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.
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
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.
Previous commits had quite a bit of personal information in them.
More than I would have liked to share. Unfortunately, making this
public means losing all that prior commit history.