Dragory
da114c0e60
Switch from ajv to io-ts for config validation; validate configs on save in the API/dashboard; start work on creating io-ts schemas for all plugins
2019-07-11 12:23:57 +03:00
Dragory
8467e9703a
Make plugin schema & validation static
2019-05-25 14:39:26 +03:00
Dragory
ac7f6e728b
User resolving optimizations + debug logging
2019-05-02 18:14:36 +03:00
Dragory
ab83e83d42
Add custom argument types for deep-resolved users/members, use these in some places. Deprecate unknownUser (constant) and replace with instances of UnknownUser (class).
2019-04-20 19:03:30 +03:00
Dragory
608f17c532
Deprecate GuildActions. Fix double case posting when muting a user for message spam. Update to new mute/case style when muting a user for "other" spam.
...
GuildActions turned out to be a fairly pointless abstraction in the end.
It didn't really solve the problems it was meant to solve (that is,
reduce code spaghetti by having all inter-plugin calls go through a
single service, and allow easier ways to replace core plugins with
alternatives that share the same interface) any better than simply
using `this.getPlugin()` when needed, and introduced extra complexity
and made static analysis messier.
2019-04-20 17:36:28 +03:00
Dragory
9785e9fb89
Add !help
2019-04-13 03:54:36 +03:00
Dragory
50f5792bc5
Update to Knub 19.1.1 and update plugins accordingly
2019-04-13 01:44:18 +03:00
Dragory
b7b42705f9
Add types for all plugin configs and permissions. Update code to work with Knub 18.
2019-03-04 21:44:04 +02:00
Dragory
77694ca951
ZeppelinPlugin: add utility function to check if we can use an emoji
2019-02-09 14:34:42 +02:00
Dragory
0f0ca1dc57
Fix ZeppelinPlugins not loading properly
2019-02-06 20:06:03 +02:00
Dragory
5c912df34e
Add support for plugin option schema validation
2019-01-19 15:39:04 +02:00
Dragory
5b800bb443
Fix error introduced in the update to Knub 14.0.0 in ZeppelinPlugin
2019-01-03 06:17:39 +02:00
Dragory
52c2bfa0b2
Move canActOn to ZeppelinPlugin base class
2018-12-15 17:24:09 +02:00
Dragory
2e30a3b9e7
Use actions/events for plugin interoperability. Move base case and mute functionality to their own plugins.
2018-11-25 17:04:26 +02:00