Commit graph

86 commits

Author SHA1 Message Date
Noi
c4c13b733f Add timeout setting to CF 2022-09-16 20:42:55 -07:00
Noi
d5728ad0a1 Implement mod logging commands 2022-09-13 20:16:25 -07:00
Noi
809197984a Add note and warn response type 2022-09-13 14:58:15 -07:00
Noi
5f00e8b4b2 Fix incorrect foreign key reference
Replaces previously committed migration with a new one.
If updating the database, run these first before the migration:
```
drop table modlogs;
drop type mod_log_type;
delete from "__EFMigrationsHistory" where "migration_id" = '20220824023321_AddModLogs';
```
2022-09-13 14:58:15 -07:00
Noi
dfec87672f Misc style and other minor changes 2022-08-25 18:40:57 -07:00
Noi
b03905afda Add SharedEventService
Forgot to put in b4db1fc
2022-08-25 18:40:06 -07:00
Noi
6544d4844b Add log item reporting to ModLogs module 2022-08-23 20:40:19 -07:00
Noi
785e69773e Fix exception thrown when given valid role 2022-08-23 20:12:39 -07:00
Noi
64bea79ef7 ModLogEntry: Add composite foreign key reference 2022-08-23 19:57:04 -07:00
Noi
7b29753290 Update entity classes
EntityList's `enforceTypes` setting was removed, as EntityName
enforced entries being unambiguous anyway.
Added a way to enforce specific types on instantiation or else
throw an exception, and updated all existing uses requiring that
check accordingly.
2022-08-22 21:14:09 -07:00
Noi
b4db1fcff8 Implement SharedEventService; remove cache update event 2022-08-17 16:59:30 -07:00
Noi
4f896e8311 Implement moderation logging to database
Further commits will implement a system to propagate these logs,
allowing modules and services to act on them regardless of their origin.
Additionally, further commits shall implement these changes within
built-in modules to allow for their immediate use.
2022-08-16 12:37:06 -07:00
Noi
a419dd2554 Separate code files between feature sets 2022-08-15 20:18:14 -07:00
Noi
e9178bc149 Improved logging and minor fixes 2022-07-28 19:33:49 -07:00
Noi
0ef78a53dc Rewrite VoiceRoleSync
Implement a slightly more sane configuration
2022-07-28 19:05:24 -07:00
Noi
2d4ae0b4a8 Switch logging to local time 2022-07-28 14:31:36 -07:00
Noi
ffded1b45c Add initial migration 2022-07-28 14:10:35 -07:00
Noi
0f15666810 Add attachment information to message logs 2022-07-28 14:10:07 -07:00
Noi
724f35fea6 Remove extraneous comments and reminders 2022-07-28 14:09:52 -07:00
Noi
52d3b1b9d4 Update default example configuration file 2022-07-28 14:08:23 -07:00
Noi
8317f09b04 Fix issues when handling 'bad' message update data
See comment in MessageCachingSubservice.
2022-07-27 22:02:17 -07:00
Noi
bbe0a84532 Add logging for long-running task 2022-07-27 22:00:10 -07:00
Noi
ebdaa6482c Remove 'report' option in logging
The feature was previously meant for monitoring errors in a large public
bot instance, but is massively redundant and even annoying when using
as a self-hosted instance.
Besides, the information it did report was excessive and of little use.
2022-07-27 19:23:49 -07:00
Noi
c77e4bd579 Update DB model: message content may be null
Additionally, removed existing migration data for now. Will re-add
when the project is nearly ready for a proper release.
2022-07-27 18:05:52 -07:00
Noi
8e05a00136 Fix list filtering and matching issues 2022-07-27 18:03:12 -07:00
Noi
584a55cd60 Always load database config at start
Ensures that the database settings used by ef tools are those in config.
2022-07-22 23:41:49 -07:00
Noi
c3ecf2a877 Update initial database model and migration 2022-07-20 20:37:31 -07:00
Noi
fc88ab5cf9 Update modules and module loading
Changed accessibility of included modules to 'internal'
to suppress documentation warnings.
Additionally, increase logging feedback as configuration is loaded.
2022-07-20 20:35:26 -07:00
Noi
1149f2800d Reorganized project
Moved modules into the assembly itself to simplify development of
further features and reduce complexity in building this project.

Additionally, many small adjustments were made, including:
- Add documentation to most public methods that had it missing
- Minor style updates
- Updated readme to reflect near-completion of this rewrite
- Remove any last remaining references to old project name Kerobot
- Update dependencies
2022-07-20 18:55:08 -07:00
Noi
53e0301edd Add ModCommands module 2022-07-18 16:44:31 -07:00
Noi
681bb1c345 Capitalize default FilterList keys 2022-07-18 16:18:05 -07:00
Noi
dc61e93a7f Fix ping-like query failing; other small changes 2022-07-12 23:45:18 -07:00
Noi
9e09800bff Remove unused, confusing property 2022-07-09 13:25:52 -07:00
Noi
a16354e425 Change exception handling to null checking 2022-07-09 13:25:52 -07:00
Noi
2f823a3730 Reorganize commonly used code 2022-07-09 13:25:52 -07:00
Noi
f8fe48766b Add ModLogs module
Very similar in function to legacy's ModLogs, but with far cleaner code.
Additionally fixes some EC issues regarding the message update delegate.
2022-07-08 12:03:15 -07:00
Noi
08afc224ed Port VoiceRoleSync from legacy
Since it was recently rewritten, the code was copied over nearly as-is from
the legacy branch without any other major changes considered.
2022-07-05 21:53:00 -07:00
Noi
2dafdf07db Replace redundant code with new common function 2022-07-05 21:01:30 -07:00
Noi
ffaae04bc6 Rewrite RegexModerator 2022-07-05 20:59:19 -07:00
Noi
13324999cc Updates and changes to project files
- Set up vscode tasks
- Update Readme and License
- Minor style and documentation changes
2022-06-18 00:05:12 -07:00
Noi
2160b0fa4e Have AutoResponder use similar config format to RegexModerator 2022-06-18 00:05:12 -07:00
Noi
6032e4d37b Shorter message in notification if no reason given 2022-06-18 00:05:12 -07:00
Noi
6afa6dc2c6 Fix several database issues
- Specify default value
- Cache all guild users on initial download
- Fix foreign key constraint issues
2022-06-18 00:05:12 -07:00
Noi
da31ce3e0d Add common incoming message check, fix auto role entry 2022-06-18 00:04:11 -07:00
Noi
94d4a27e85 Change build settings, fix minor problems 2022-06-18 00:01:42 -07:00
Noi
e1a39f964f Simplified logging, added logging to file 2022-06-18 00:01:42 -07:00
Noi
8d081ed637 Fix database issues; create initial EF migration 2022-06-18 00:01:42 -07:00
Noi
5671b7b48c Add message caching subservice
Partially implements legacy's ModLogs module on the bot side, with the remainder to be implemented as a proper module.
2022-06-18 00:01:42 -07:00
Noi
4f773e2573 Begin module rewrites and ports 2022-06-18 00:01:13 -07:00
Noikoio
02f91947f3 Add Entity Framework, update services
Add EF; port EventLoggingService to it

Update CommonFunctions: new style, some tweaks

Update user caching subservice

Update GuildStateService

- File-based only. Removed incomplete database support.
- Removed hooks within client; ModuleBase has direct access now
- Removed checks based on time-based staleness
- Code and style updates on all affected files

Style and nullable updates

And some minor structural changes here and there

Rewrite LoggingService

- Remove database-backed instance log
- Make logging methods synchronous
- Change instance reporting to webhook-based

Update ModuleStateService and related code
2022-06-18 00:00:43 -07:00