Commit Graph

980 Commits

Author SHA1 Message Date
Ske
e2d76fe809 Fix reply formatting on mobile 2020-12-20 12:16:14 +01:00
Ske
96ba511026 Secret soulscreams, because I'm bored 2020-12-20 11:52:35 +01:00
Ske
df243d4220 Add info embed to proxied replies 2020-12-20 11:38:26 +01:00
Ske
8a04ace5c7 Target .NET 5 2020-12-19 12:01:09 +01:00
Ske
a328867e76 Ask for slash command permission in the invite links 2020-12-18 13:47:18 +01:00
Ske
db4e41a232 Convert autoproxy timeout to use seconds 2020-12-08 12:57:17 +01:00
Astrid
77d63c2838
Merge branch 'main' into feat/ap 2020-12-08 12:25:01 +01:00
Astrid
eb9c31778f
Merge pull request #262 from dev-kittens/fix/single-character-name
Allow single character proxy names
2020-12-08 12:21:31 +01:00
Astrid
07cd753247
Merge pull request #255 from dev-kittens/feat/group-random
Add random command for groups
2020-12-08 12:20:45 +01:00
Astrid
6e39eb7a96
Merge pull request #258 from dev-kittens/feat/member-group
Group improvements
2020-12-08 12:19:56 +01:00
Ske
e1f68197e5 Fix MatchChannel for announcement channels 2020-12-04 02:12:09 +01:00
spiral
277b001050
Clean up name length check method 2020-11-26 00:04:40 -05:00
spiral
ea4d93208e
Allow single character proxy name by adding invisible character 2020-11-26 00:01:19 -05:00
Astrid
a61e2a9815
Merge pull request #260 from dev-kittens/feat/logclean-gisellebot
Add support for GiselleBot log cleanup
2020-11-25 23:21:30 +01:00
spiral
61793f5fe2
Actually fix deduplicating arguments (#249) 2020-11-25 17:18:56 -05:00
spiral
3ef1496383
Fix proxying in announcement channels 2020-11-25 17:13:31 -05:00
spiral
51278532d1
Add support for GiselleBot log cleanup 2020-11-24 00:02:36 -05:00
spiral
fde7e4d3cc
Move group add/remove response text logic into MiscUtils 2020-11-22 23:11:34 -05:00
spiral
115017980e
Add pk;member group 2020-11-22 19:57:01 -05:00
spiral
837b0a457d
Remove duplicates of CheckSystem/CheckOwnMember 2020-11-22 16:15:26 -05:00
spiral
05f1ee92ea
DRY-ify checking URL length for avatars 2020-11-22 15:43:38 -05:00
spiral
e3274d5d26
Move member random to Random.cs, add group random and group member random 2020-11-22 11:58:23 -05:00
spiral
45b87bd132
Move group card embed to EmbedService 2020-11-22 11:57:54 -05:00
spiral
db80b10ec5
Add autoproxy commands in pk;commands 2020-11-22 09:47:19 -05:00
spiral
edb92168ea Add documentation on the website as well 2020-11-22 09:44:07 -05:00
spiral
29d9b91299 Move AutoproxyRoot to CommandTree, add documentation 2020-11-22 09:44:04 -05:00
spiral
68b439257d Tweak documentation 2020-11-22 09:42:40 -05:00
spiral
8e5fb6520b Add configurable autoproxy latch timeout 2020-11-22 09:42:40 -05:00
spiral
37294b68da Add disabling autoproxy per-account 2020-11-22 09:42:40 -05:00
spiral
41247c68a6 Add disabling front/latch autoproxy per-member 2020-11-22 09:42:40 -05:00
Astrid
7f82a3e63a
Merge pull request #251 from dev-kittens/tweak/commands
Command handling tweaks/fixes
2020-11-22 13:58:46 +01:00
Ske
f96f970198 Upgrade D#+ version to latest nightly 2020-11-21 00:02:05 +01:00
spiral
4991d06821
Add aliases for pk;commands 2020-11-19 18:06:50 -05:00
spiral
01cedaab53
Tweak description for switch delete all command 2020-11-19 18:05:53 -05:00
spiral
9babde3c82
Add basic command help functionality to pk;commands 2020-11-19 17:58:57 -05:00
spiral
2858c68a7d
Clean up member list commands and log commands, as well as related docs 2020-11-19 17:10:59 -05:00
Ske
c60e6b21a4 Fix API traces for weird endpoints 2020-11-19 11:43:05 +01:00
Ske
feebbf657d Add a short delay when deleting DB messages 2020-11-18 15:01:32 +01:00
Ske
aee91987c2 Lower log level for gateway event spam 2020-11-16 21:59:28 +01:00
Ske
e24b5e3529 Add logging/metrics for error *messages* 2020-11-16 10:07:57 +01:00
Ske
6fb979e74d Add metrics for error/event rates 2020-11-16 09:57:16 +01:00
Ske
0ac180c4e6 Filter Discord 500s out 2020-11-16 09:05:00 +01:00
Ske
ece03ff85e Escape Markdown on the system group list 2020-11-15 15:42:27 +01:00
Ske
a5aa4923b7 Remove auto-conversion of attached avatars to JPEG 2020-11-15 15:22:22 +01:00
Ske
c0c4871f0b Fix cache error using log channel 2020-11-15 15:07:20 +01:00
Ske
fdcce05da1 Fix privacy handling in -with-avatar 2020-11-15 14:45:08 +01:00
Ske
27c9e54f17 Delete proxied message if the trigger message gets deleted by other means 2020-11-15 14:34:49 +01:00
Ske
8c12b3f037 Update library versions (still on .NET 3.1 though) 2020-11-15 14:15:30 +01:00
Ske
634173e205 Update to D#+ 4.0.0-rc1 2020-11-15 13:53:31 +01:00
Astrid
90b2fcfdd4
Merge pull request #247 from dev-kittens/tweak/group-dn
Add looking up group by display name
2020-11-15 13:15:29 +01:00
Astrid
80bdb9795d
Merge pull request #250 from dev-kittens/tweak/avatar-url-flag
Tweak/avatar url flag
2020-11-15 13:15:02 +01:00
Astrid
bf1af84186
Merge pull request #248 from dev-kittens/tweak/group-add-remove
Handle different quantities of members better…
2020-11-15 13:14:45 +01:00
Astrid
1147603520
Merge pull request #245 from dev-kittens/fix/clear-serveravatar
Fix "clear server avatar" confirmation message
2020-11-15 13:13:33 +01:00
Astrid
d844f41059
Merge pull request #244 from dev-kittens/patch-2
[accessibility] add newline between linked accounts in system card
2020-11-15 13:13:23 +01:00
Astrid
e452b32dec
Merge pull request #242 from dev-kittens/fix/dm-delete-command-message
Fix deleting command messages by reaction in DMs
2020-11-15 13:13:15 +01:00
Ske
ce25a56d7a Support multiple 'Clyde's in a webhook name 2020-11-15 13:12:30 +01:00
spiral
71d989f948
Add member list flag to show avatar URL 2020-11-14 12:35:22 -05:00
spiral
4586575e88
Handle different quantities of members better 2020-11-14 12:05:30 -05:00
spiral
b522a4c175
Remove duplicated code 2020-11-14 10:51:13 -05:00
spiral
71461b3163
Add looking up group by displayname; document this 2020-11-14 10:42:51 -05:00
spiral
8956777c9a
Fix "clear server avatar" confirmation message 2020-11-08 14:37:38 -05:00
Ske
537783dd96 Fix permission check for log channels 2020-11-08 18:52:50 +01:00
spiral
ac679271f2
add newline between linked accounts in system card 2020-11-08 02:00:06 +01:00
spiral
4aeda86d66
Fix deleting command messages by reaction in DMs 2020-11-04 11:30:00 -05:00
Emily
740d9c6fbe
Add time switch was moved to to success message 2020-10-23 14:44:43 +02:00
Ske
108dbb9cc6 Actually set the proper command message retention >.> 2020-10-23 12:20:53 +02:00
Ske
b6dbc82abe Clean up imports 2020-10-23 12:20:44 +02:00
Ske
c69bea86df Fix log channel clear confirm 2020-10-23 12:18:40 +02:00
Ske
81cd5496d5 Refactor command message deletion 2020-10-23 12:18:28 +02:00
Ske
134829b263 Fix build error 2020-10-23 11:17:35 +02:00
Astrid
17c3640fd3
Merge branch 'main' into confirm-clear 2020-10-23 11:14:36 +02:00
Astrid
9976789467
Merge branch 'main' into feature/public-reminder 2020-10-23 11:13:50 +02:00
Astrid
39155af2b8
Merge pull request #225 from dev-kittens/docs-fixes
Improve documentation
2020-10-23 11:11:35 +02:00
Astrid
025fbfe120
Merge pull request #228 from dev-kittens/fix/memberlimits
Fix per-system member limits not being considered in certain conditionals
2020-10-23 11:11:11 +02:00
Astrid
8f56a1cc32
Merge pull request #233 from dev-kittens/feature/delete-bot-responses
Allow deleting bot responses with  reaction
2020-10-23 11:09:41 +02:00
Astrid
f9db2558dd
Merge pull request #230 from dev-kittens/fix/log-channel-clear
Fix log channel clear matching
2020-10-23 11:07:38 +02:00
Astrid
d1c22b66df
Merge pull request #231 from dev-kittens/tweak/send-export-attachment-url
Send raw attachment URL after sending export file for easier copying on mobile
2020-10-23 11:07:22 +02:00
dev-kittens
86ed2b1add
Fix -yes flag matching on linking other accounts 2020-10-20 06:33:35 -05:00
spiral
96f363f1b1
Tweak warning message 2020-10-19 04:05:54 -05:00
dev-kittens
a5f7bacb3e
Add member is public reminder message on member creation (if system has private members) 2020-10-19 03:50:51 -05:00
dev-kittens
56bb5e975f
Add handling command reactions
and, uhh, rename invoker_id to author_id
2020-10-18 00:59:36 -05:00
dev-kittens
05cc30279a
- Add storing bot response messages in postgres
- Add scheduled task to clean up said store
2020-10-18 00:18:52 -05:00
dev-kittens
80e9e4f14b
Send raw attachment URL after sending export file 2020-10-17 16:56:48 -05:00
dev-kittens
f50df670d7
Fix log channel clear matching 2020-10-17 16:43:59 -05:00
Ske
9282d5e9fb Add some more resiliency to DB errors 2020-10-14 23:35:10 +02:00
dev-kittens
d80d3c5f04 Fix limit message on creating new members 2020-10-09 14:23:31 +00:00
Ske
1fda6ec919 Add per-system member/group limit override 2020-10-09 12:18:29 +02:00
dev-kittens
dfacbc51ab Confirm before clearing (most) entity properties 2020-10-04 08:53:07 +00:00
dev-kittens
429cc9e747 Fix member creation docs link 2020-10-04 07:44:21 +00:00
dev-kittens
d6f7aafd2a command tree tweaks 2020-10-04 07:26:42 +00:00
Ske
1e8470e77f Potential quick fix for... something 2020-09-25 23:28:06 +02:00
Ske
969065724d Fix Tupperbox importing (again) 2020-09-20 23:32:57 +02:00
Ske
4f6c98db48 (Add the actual service file, shh) 2020-09-20 22:36:04 +02:00
Ske
5269f994cf Add new internal error message + send rate limiting 2020-09-20 22:35:05 +02:00
Ske
eab1cb1645 Ignore self-messages 2020-09-20 21:49:52 +02:00
Ske
6f8e15178f Fix image proxy URL extensions
Media proxy doesn't support format conversion by changing extension, needs a separate query parameter instead
2020-09-16 22:47:40 +02:00
Ske
509c0bf73f Fix Tupperbox importing by ignoring extra fields 2020-09-16 20:47:01 +02:00
Astrid
ea4edfc5f2
Merge pull request #218 from dev-kittens/patch-2
Fix webp avatar errors
2020-09-13 00:11:42 +02:00
kittens
42b70cde9a
Add -all flag on system and group cards (#216)
* Show group count on stats card

* Add -all flag on system and group cards
Shows full count, including private members.

* fix stuff broken by merging conflicts
2020-09-13 00:10:37 +02:00
Ske
5ba89d32fc Fix avatar URLs with encoded spaces 2020-09-12 19:43:54 +02:00
Ske
7b59040da2 Truncate roles list if it gets too long 2020-09-12 19:30:03 +02:00
Ske
47bdc34142 Optimize DB access for LogClean 2020-09-09 22:20:52 +02:00
dev-kittens
e79e7278ab Fix webp image errors 2020-09-03 06:46:23 -04:00
Ske
a1da3e1386 Sort groups on the member card alphabetically 2020-08-30 17:03:28 +02:00
Ske
20addea986 Ignore reactions on channels we don't have cached 2020-08-30 15:53:03 +02:00
Ske
c7612df37e Major database refactor (again) 2020-08-29 13:46:27 +02:00
Ske
3996cd48c7 Ignore deleted channels when printing blacklist 2020-08-28 23:37:27 +02:00
Ske
8477cfaf0e Actually include the Sentry ID in the logs 2020-08-28 18:48:57 +02:00
Ske
2005ce3296 Log response headers 2020-08-27 22:33:50 +02:00
Ske
35f0c342b6 Also log response bodies for error 500s 2020-08-27 21:54:33 +02:00
Ske
98afbb5ea8 Change example for group rename to use rename alias 2020-08-27 21:28:54 +02:00
Ske
9955dc29f9 Add Elastic-bound logging of (almost) all database update events 2020-08-27 21:28:36 +02:00
Ske
8d27148bdf More updates to event infrastructure 2020-08-27 18:20:20 +02:00
Ske
e27826955e Properly tag request logs in metrics 2020-08-27 16:26:37 +02:00
Ske
e556cc71fa Add persistent event ID to log context 2020-08-27 14:40:49 +02:00
Ske
ca4ffdb803 Slightly change HTTP log format 2020-08-27 14:38:11 +02:00
Ske
f2c18dff41 Add preliminary support for logging outgoing HTTP requests 2020-08-27 00:07:00 +02:00
Ske
2e6b1826fc Add experimental Elasticsearch logging output 2020-08-26 22:29:24 +02:00
Ske
84a91b3f75 Add "groups" to system privacy parse error 2020-08-26 22:01:52 +02:00
Ske
929b34e555 Add 'g' as alias for system groups 2020-08-26 22:01:42 +02:00
Ske
de010fde76 Add DM permission "check" when sending system token 2020-08-26 00:17:05 +02:00
Ske
147e1fdc1a Potentially fix NRE in ProxyService 2020-08-25 23:26:41 +02:00
Ske
203dbc65a1 Replace most "code-escaped" literals with properly-escaping helpers 2020-08-25 22:44:52 +02:00
Ske
2794919728 Use "smart references" for member commands 2020-08-25 22:33:04 +02:00
Ske
d21eb7b477 Add 'nick' to group display name alias 2020-08-25 22:25:20 +02:00
Ske
302c32372e Update version of DSharpPlus 2020-08-25 20:36:55 +02:00
Ske
0d04725a19 Include full debug symbols when building in Release mode 2020-08-25 20:36:38 +02:00
Ske
2206185d55 Add command prefix configuration 2020-08-25 19:32:19 +02:00
Ske
1e0ce31ffe Order groups alphabetically by name 2020-08-25 18:43:52 +02:00
Ske
10d6968734 Add metrics for group count 2020-08-25 18:26:52 +02:00
kittens
437808afce
Add flags to switch delete all 2020-08-21 15:50:34 -04:00
Ske
8688f4d0bf Merge branch 'main' into feature/groups 2020-08-21 18:31:49 +02:00
Ske
10c01da39b Couple more slight tweaks :) 2020-08-21 17:08:49 +02:00
Ske
1bb5d203df Various additional tweaks/additions to groups 2020-08-20 21:43:17 +02:00
Ske
9e251352c7 Various fixes and improvements 2020-08-16 12:10:54 +02:00
acw0
dd3b87cb23 use guild ID instead of channel ID in GetChannel 2020-08-13 04:27:44 -04:00
Ske
bed43379cf Add additional (debug) logging to (proxy) logger 2020-08-12 21:52:42 +02:00
Astrid
801db3c274
Merge pull request #211 from dev-kittens/random-stuff
Add -all flag to pk;random
2020-08-12 17:15:55 +02:00
kittens
2d9111727d
Use unicode escape sequence for less confusion 2020-08-12 11:05:11 -04:00
kittens
26418871ad
Fix doubleBacktick replacing 2020-08-12 10:51:59 -04:00
Ske
0de284cd36 Bounds check system name in new system command 2020-08-11 22:06:02 +02:00
Ske
d702d8c9b6 Add group icon command 2020-08-08 15:09:42 +02:00
Ske
cedb050b8a Add group delete command 2020-08-08 14:56:34 +02:00
acw0
5bc31cbf3e Fix error message 2020-08-05 19:56:40 -04:00
Ske
7ab5e66d7b Show new color in the member color change embed 2020-08-05 20:20:27 +02:00
acw0
df7fdce144 Add sorting member list randomly 2020-08-04 19:28:29 -04:00
acw0
f6d2f4b620 Add -all flag in random command 2020-08-04 18:43:17 -04:00
ent3r
687eaaa928 Fix formatting
Removed bold on a colon
2020-08-03 19:00:27 +02:00
acw0
d9c644ec0e Change "channel not found" error messages to be more ambiguous; also, put them in Errors instead of inline 2020-08-03 19:00:17 +02:00
acw0
2f8f819e22 Add "n" as an alias to "new" for creating a system 2020-07-29 11:30:46 +02:00
acw0
3c5aec1df8 Show bot status as "Idle" when restarting 2020-07-29 11:30:46 +02:00
Ske
fb236726aa Consolidate conditional 2020-07-28 19:52:57 +02:00
Ske
62cdb8a9b8 Check for avatar whitespace instead of null.
This may be relevant for #206, although unsure if this is actually a fix.
2020-07-28 19:35:34 +02:00
acw0
47fcfeca0f Consolidate conditionals 2020-07-28 19:30:03 +02:00
acw0
1138c1a2a9 Clean up getting guild/member 2020-07-28 19:30:03 +02:00
acw0
bf07294f5f Change error to be more ambiguous 2020-07-28 19:30:03 +02:00
acw0
687dd23234 Fix missing ID error 2020-07-28 19:30:03 +02:00
acw0
c20c4dab42 use Shard.GetGuild instead of Rest.GetGuild 2020-07-28 19:30:03 +02:00
Ske
f504e16543 Restructure group created info 2020-07-28 19:17:01 +02:00
Ske
5e28e0aba1 Add group privacy command/structures 2020-07-28 19:17:01 +02:00
Ske
47d5ad0004 Enforce group count limit on creation 2020-07-28 19:17:01 +02:00
Ske
f47d366c8d Show member groups on member card 2020-07-28 19:17:01 +02:00
Ske
ec9ee5c794 Show member count on group card 2020-07-28 19:17:01 +02:00
Ske
0d04be6540 Fix error showing group card with no description 2020-07-28 19:17:01 +02:00
Ske
18cb6785e9 Extract member list parsing to a separate method 2020-07-28 19:17:01 +02:00
Ske
8a28d836c7 Add group member list command 2020-07-28 19:17:00 +02:00
Ske
0f4c40b344 Add group add/remove commands 2020-07-28 19:17:00 +02:00
Ske
6c5cb8cea7 Add group name/description/list commands 2020-07-28 19:17:00 +02:00
Ske
253ae43c7f Add super basic group model/command 2020-07-28 19:17:00 +02:00
Astrid
a0d4ab5809
Merge pull request #202 from acw0/bugfix/dsharpcache
Fix pk;msg errors across shards
2020-07-22 16:33:27 +02:00
kittens
e24c5d095b
Check if we got the same member before asking for confirmation (#201) 2020-07-22 16:27:53 +02:00
kittens
467d058565
Remove "remove" keyword from MatchClear (#199) 2020-07-22 16:26:43 +02:00
acw0
88c28c18c7 Fix pk;msg erroring between shards 2020-07-22 04:07:35 -04:00
acw0
56e4f1c00c Create methods to find guilds and channels in cache 2020-07-22 04:07:18 -04:00
Ske
5d3e159f54 Properly block pinging normally unmentionable roles 2020-07-22 01:06:25 +02:00
kittens
fd0e46f40d
Add -yes flag to CheckYesNo (#198) 2020-07-21 02:10:26 +02:00
Ske
6054080dc7 Upgrade Sentry SDK version (2.0.0-beta7 -> 2.1.4) 2020-07-18 13:08:54 +02:00
Ske
d749876796 Workaround for permission errors when removing reactions 2020-07-18 13:07:16 +02:00
Ske
99d6942ff4 Truncate the echoed command in the not found error 2020-07-18 13:07:16 +02:00
Ske
66f7a664c8 Add special check for pronouns being an empty string
I'm unsure when this happens in practice, but thought I'd guard against it just in case (since it's caused a couple errors already).
2020-07-18 13:07:16 +02:00
kittens
80e6d5b18e
Fix URL handling when the filename contains multiple known extensions (#196) 2020-07-18 12:51:31 +02:00
Ske
e7f95c9ba6 Potential fix for concurrent list modification error 2020-07-14 22:24:13 +02:00
Ske
17826246f2 Fix fuzzy log cleaning matching all messages. Closes #195.
I got the bitshift the wrong way 'round.
2020-07-10 16:47:30 +02:00
Ske
ba48f22ad2 Break proxied links if the sender doesn't have embed permission 2020-07-10 16:35:52 +02:00
Ske
a2930acbad Add more aliases to autoproxy off 2020-07-09 15:11:04 +02:00
Ske
9f523b3c5f Refactor system/member privacy commands 2020-07-08 00:47:16 +02:00
Ske
1449234a84 Migrate more commands to "MatchClear" 2020-07-08 00:00:23 +02:00
Ske
17fbdf553c Allow de-embedding image links with <> 2020-07-07 23:52:54 +02:00
Ske
8d01b580e2 Refactor system/member avatar code 2020-07-07 23:41:51 +02:00
Ske
467b95b1b1 Refactor and simplify member list code 2020-07-07 20:57:22 +02:00
Ske
299f6b2edf Extract member list argument parsing to utility method 2020-07-07 19:51:19 +02:00
Ske
36ed356d2b (...and make sure it's the correct message) 2020-07-07 14:50:58 +02:00
Ske
b1ede87df2 (Re-)add confirmation when changing avatar by URL 2020-07-07 14:47:34 +02:00
Ske
59bbbab621 Handle cases where the channel webhook limit is already hit 2020-07-05 13:38:18 +02:00
Ske
bb7ee130a6 Fix error when proxying all-whitespace message 2020-07-05 13:26:49 +02:00
Ske
da7befa1b7 Fix token DM error 2020-07-05 13:23:23 +02:00
Ske
f03bab303c Explicitly error if the URI schema is wrong 2020-07-05 13:19:43 +02:00
Ske
666b21a08f Add category headers to blacklist channels 2020-07-05 13:16:21 +02:00
Ske
da9bfbb46d Redo blacklist list fetching/rendering 2020-07-05 13:08:18 +02:00
Ske
01d25ca391 Fix compiler warning in ShowBlacklisted 2020-07-05 13:01:38 +02:00
BeeFox-sys
55ea314b42
Fix: Escape Backticks (#192) 2020-07-05 12:55:21 +02:00
ariel w
224b653ee0
Add command to show current proxy blacklist (#189) 2020-07-05 12:54:27 +02:00
Ske
42b9b4f08e Restrict proxy conflict checking to the same system 2020-07-03 12:00:59 +02:00
Ske
98d4ee8664 Add -sd as alias for -search-description 2020-07-03 11:03:20 +02:00
Ske
c88ccea0b2 Remove June avatar (it's July now) 2020-07-02 19:11:46 +02:00
Ske
c87e67245d Create GetXXX utils wrapping try blocks 2020-07-02 18:29:04 +02:00
Ske
7fef8c1dde Split up Context class into more extension methods 2020-07-01 18:27:26 +02:00
Ske
53036da6a5 Move checks in Context to extension methods 2020-07-01 18:18:38 +02:00
Ske
0598c53f62 Migrate guild objects to the patch system 2020-06-29 15:20:28 +02:00
Ske
467ce78522 Retire more IDataStore methods 2020-06-29 14:54:11 +02:00
Ske
9c1efc7886 Move system updates to the same patch system as members 2020-06-29 14:39:19 +02:00
Ske
c5697b33e2 Finally retire the PKMember setters! 2020-06-29 14:15:30 +02:00
Ske
281b669391 Refactor member updates to use a patch object 2020-06-29 13:57:48 +02:00
Ske
472e556ef0 Pass proper allowed_mentions when sending webhook messages 2020-06-28 20:26:14 +02:00
Ske
9420cb56f8 Show sorted field on the long list by default 2020-06-28 18:14:59 +02:00
Ske
3207fcff1b Fix guild ID row name in query 2020-06-26 15:07:51 +02:00
Ske
e4d51b5198 Explicitly check for bot/WH users before running command handler 2020-06-26 01:49:51 +02:00
Ske
4f6a4c000d Fix setting server name/avatar with no row in the member_guild table 2020-06-25 22:23:15 +02:00
Ske
bb75519f6b Properly handle unauthorized log channel access 2020-06-25 09:14:05 +02:00
Ske
50b5a8fbee Fix changing autoproxy settings with no system_guild row 2020-06-24 17:50:12 +02:00
Ske
0ee22813fa Don't trim inner string when matching proxy tags 2020-06-24 17:19:01 +02:00
Ske
a83e9306bb Reimplement autoproxy escape character 2020-06-24 16:48:55 +02:00
Ske
3e297178c7 Hopefully fix user cache error in ReactionAdd 2020-06-24 16:47:34 +02:00
Ske
447b986706 Add dispname -> displayname alias 2020-06-23 09:59:39 +02:00
Fiona
5ba0dd0273 allow for matching by member display name 2020-06-22 21:06:25 +10:00
Ske
d3cf382e3b Migrate to date/time format extension methods 2020-06-21 16:05:04 +02:00
Ske
dcffbef805 Migrate to more privacy helper extensions 2020-06-21 15:51:08 +02:00
Ske
84d5adf907 Fix build errors from DSP update 2020-06-21 15:34:32 +02:00
Ske
34f4ff4e1b Upgrade DSharpPlus version to 4.0.0-nightly-00707
This fixes passing an empty mention array to SendMessageAsync, making our workaround obsolete
2020-06-21 15:11:18 +02:00
Ske
378c49cb20 Remove 60+ (whew) SanitizeMentions() calls 2020-06-20 17:36:03 +02:00
Ske
2c35649ef0 Use AllowedMentions to disable mentions everywhere by default 2020-06-20 17:33:10 +02:00
Ske
ff7b728762 Merge branch 'feature/granular-privacy' 2020-06-20 16:25:08 +02:00
Ske
368320abf4 Add warning when setting avatar privacy with no server avatar 2020-06-20 16:10:36 +02:00
Ske
c428d95479 Fix auth checking when looking up member avatar 2020-06-20 16:10:22 +02:00
Ske
ae4e8f97d0 Add member avatar privacy 2020-06-20 16:00:50 +02:00
acw0
11848bc19f Add support for Auttaja webhook message logs 2020-06-19 13:00:04 -04:00
Ske
8df42f7d92 Ignore bot reactions 2020-06-18 17:49:43 +02:00
Astrid
68eeb858ec
Merge pull request #184 from acw0/feature/gearbot
Add GearBot to log cleanup
2020-06-18 17:43:24 +02:00
Ske
5075565d2f Default to UTC given no system in member lists 2020-06-18 17:41:14 +02:00
Ske
7e8e1f1b8c Don't try paginating with empty results 2020-06-18 17:40:51 +02:00
Ske
27c8100cac Get rid of switch exhaustiveness compiler warning 2020-06-18 17:34:03 +02:00
Ske
dd9cc3ef0c Respect description privacy when searching members 2020-06-18 17:33:37 +02:00
Ske
56eae82b0a Move most references to PKMember.Name to go through helper extepsions for privacy 2020-06-18 17:08:36 +02:00
acw0
8559f1f532 Add GearBot to log cleanup 2020-06-17 20:46:03 -04:00
Ske
761270f0c3 Clean up member privacy command 2020-06-17 23:06:49 +02:00
Ske
e92700f339 Comment out color privacy stuff for now (revisit later?) 2020-06-17 21:51:40 +02:00
BeeFox-sys
721a4502bb
Feature/granular member privacy (#174)
* Some reasons this needs to exist for it to run on my machine? I don't think it would hurt to have it in other machines so

* Add options to member model

* Add Privacy to member embed

* Added member privacy display list

* Update database settings

* apparetnly this is nolonger needed?

* Fix sql call

* Fix more sql errors

* Added in settings control

* Add all subject to system privacy

* Basic API Privacy

* Name privacy in logs

* update todo

* remove CheckReadMemberPermission

* Added name privacy to log embed

* update todo

* Update todo

* Update api to handle privacy

* update todo

* Update systemlist full to respect privacy (as well as system list)

* include colour as option for member privacy subject

* move todo file (why was it there?)

* Update TODO.md

* Update TODO.md

* Update TODO.md

* Deleted to create pr

* Update command usage and add to the command tree

* Make api respect created privacy

* Add editing privacy through the api

* Fix pronoun privacy field in api

* Fix info leak of display name in api

* deprecate privacy field in api

* Deprecate privacy diffrently

* Update API

* Update documentation

* Update documentation

* Remove comment in yml

* Update userguide

* Update migration (fix typo in 5.sql too)

* Sanatize names

* some full stops

* Fix after merge

* update migration

* update schema version

* update edit command

* update privacy filter

* fix a dumb mistake

* clarify on what name privacy does

* make it easier on someone else

* Update docs

* Comment out unused code

* Add aliases for `member privacy all public` and `member privacy all private`
2020-06-17 21:31:39 +02:00
Ske
627f544ee8 Migrate API to ASP.NET Core Auth services + refactor 2020-06-16 01:15:59 +02:00
Ske
7fde54050a Avoid a blank overflow page when showing paginated cards (closes #171) 2020-06-15 13:00:28 +02:00
Ske
5280e48b09 Properly check ShowProxyTags when printing proxy tags 2020-06-15 12:55:02 +02:00
Ske
088bc15e5e Upgrade Autofac dependency 2020-06-15 00:52:20 +02:00
Ske
ca882dba73 Add more performance metrics 2020-06-14 22:19:12 +02:00
Ske
b9cbd241de Migrate to type-safe model ID structs 2020-06-14 21:37:04 +02:00
Ske
e5ac5edc35 Refactor and categorize tests 2020-06-14 20:22:29 +02:00
Ske
0f041c2e3c Add unit test project and some early tests 2020-06-14 18:56:53 +02:00
Ske
2d43c17f9e Add pk;member list as alias for pk;system list 2020-06-14 18:56:35 +02:00
Ske
c780781184 Remove unused imports 2020-06-13 23:12:44 +02:00
Ske
2702c45b4f General bits of cleanup 2020-06-13 22:20:24 +02:00
Ske
4b69ef806a Properly support KeepProxy after refactor 2020-06-13 22:16:04 +02:00
Ske
6d06474d26 Refactor sort/filter code once again
Now we handle sorting on the bot side, but still filter in the database
2020-06-13 21:49:31 +02:00
Ske
0bb8d2b917 Add own member checks back to the avatar mutators 2020-06-13 20:23:06 +02:00
Ske
f1b28b7fb6 Move schema migration stuff to Database 2020-06-13 19:54:16 +02:00
Ske
c927967c3b Migrate GetSystemById 2020-06-13 19:42:04 +02:00
Ske
90ac186183 Extract Database to interface 2020-06-13 19:36:43 +02:00
Ske
1c2ebdc658 Fix proxy blacklist command 2020-06-13 19:19:13 +02:00
Ske
c875c8af9f Various small fixes, setting guild config now works 2020-06-13 19:15:50 +02:00
Ske
2038f023a0 Move count stat collecting to raw SQL 2020-06-13 19:15:29 +02:00
Ske
e176ccbab5 Several more database-y refactors
- DbConnectionFactory renamed to "Database", will now be the primary entry point for DB stuff
- Created IPKConnection interface mostly containing async extensions to IDbConnection, use this going forward
- Reworked the Connection/Command wrappers (that have performance/logging extensions)
- Probably more stuff that I forgot???
2020-06-13 18:31:20 +02:00
Ske
a915ddb41c Extract system/member guild settings and refactor DB access
(also refactor MemberAvatar now that I'm here)
2020-06-13 16:03:57 +02:00
Ske
ed511a6236 Refactor server config models/commands 2020-06-13 13:58:27 +02:00
Ske
729930a562 Move system tag/icon from ProxyMember to MessageContent 2020-06-12 23:30:10 +02:00
Ske
3d62a0d33c Split message/proxy data up in MessageContext and ProxyMember 2020-06-12 23:13:21 +02:00
Ske
ba441a15cc Too many refactors in one:
- Allowed adding ephemeral(ish) views and functions
- Moved message_count to a concrete database field
- Moved most proxy logic to a stored procedure
- Moved database files around and refactored schema manager
2020-06-12 20:29:50 +02:00
Ske
49acc4d9e2 Refactor proxy handling code
- Move reaction handlers to the ReactionAdded event instead of
  ProxyService
- Split tag matching off into ProxyTagParser
- Split autoproxy matching off into Autoproxier
- General cleanup and simplification
2020-06-11 23:22:53 +02:00
Astrid
4a4d980349
Merge pull request #177 from acw0/bugfix/tag-markdown
Properly show tags containing markdown in system embed
2020-06-11 21:35:28 +02:00
Ske
67e55736f0 Still remove the reaction even if pings are disabled 2020-06-11 21:33:44 +02:00
Ske
ccb6ba5d30 Minor renames and rewordings 2020-06-11 21:32:04 +02:00
Lillian Berry
59af6f02e8 Add disabling reaction pings 2020-06-11 21:19:40 +02:00
Astrid
216dfffe58
Merge pull request #181 from acw0/fix-emojis
Fix emoji variation selector issue
2020-06-11 21:13:07 +02:00
ariel w
82886fe9e2
Move discord links to new domain (#180) 2020-06-11 21:12:43 +02:00
Ske
3d69a00716 Fixed exceptions when fetching webhook list "sticking" in the cache
This happened because we cache Task instances, not the values, and a failed task is still a *valid* task that can repeatedly be awaited. This lead to the Task being saved even if it failed, and the same exception constantly being re-thrown.

This fix invalidates the cache if it finds a failed Task, and lets it retry fetching as normal (hopefully successfully this time).
2020-06-11 16:13:18 +02:00
Ske
e7191def02 Split long short-list results up into embed fields 2020-06-07 19:52:05 +02:00
Ske
c537dc7de3 Fix quotes in collate clause 2020-06-07 19:49:43 +02:00
Ske
1db46accce Potentially fix sort order with emojis 2020-06-07 19:31:41 +02:00
Ske
e347928c02 Merge branch 'feature/sort-filter' 2020-06-07 16:36:42 +02:00
Ske
1ac5f9518e Mostly finished, needs to be double-checked/documented 2020-06-07 01:30:19 +02:00
acw0
5714c18668 Fix emoji variation selector issue 2020-06-05 18:34:24 -04:00
Ske
e8068cc1a9 Add avatar credit for June 2020-06-04 16:24:30 +02:00
Ske
7c85dc360b Barebones, untested sort/filtering 2020-06-04 13:21:47 +02:00
Ske
d5c6e2baac Don't post an error after clearing avatar 2020-06-02 02:02:07 +02:00
Ske
ae74dce2ce Make sure we only attach shard listeners once 2020-05-31 03:19:42 +02:00
Ske
fbbbb51998 Upgrade DSharpPlus version 2020-05-23 01:59:27 +02:00
Ske
d657e9813d Properly handle executing missing webhooks 2020-05-23 01:51:02 +02:00
acw0
f55c638f41 Properly show tags containing markdown in system embed 2020-05-15 07:32:28 -04:00
Ske
792acad50a Don't try to parse webhook error if error isn't JSON 2020-05-12 22:19:49 +02:00
Ske
dee229b08c Ignore weird Nginx errors from Discord 2020-05-12 22:19:33 +02:00
Ske
b9a89a1037 Fix handling lack of DM permissions when react-querying 2020-05-12 21:31:59 +02:00
Ske
8ea02dae81 Add more error reporting for Discord errors 2020-05-12 21:26:37 +02:00
Ske
60018bf69d Don't send ping message if bot doesn't have permissions 2020-05-12 21:26:37 +02:00
Ske
65bac86ac1 Only update status if we've received a Ready 2020-05-12 21:26:37 +02:00
Ske
a3517f8663 Refactor order of shard initialization 2020-05-12 21:26:37 +02:00
Fennel
8467f4f681 Add workaround for DSP internal member cache error 2020-05-10 18:44:59 -04:00
Ske
9a761ed7e4 Add display name to long member list 2020-05-08 02:03:31 +02:00
Ske
fd65846867 Extract the explanation from the help message into a separate command 2020-05-08 02:01:57 +02:00
Ske
cb8234b272 Restructure message info embed queries
This fixes several long-standing issues wrt. handling of senders that are no longer on the server and deleted accounts, as well as an error handling issue caused by the DSharpPlus migration.
2020-05-08 00:57:17 +02:00
Ske
53582997f0 Ignore CloudFlare error response parsing errors 2020-05-07 23:59:05 +02:00
Ske
e9a271ef60 Skip leading spaces when command parsing 2020-05-07 23:43:17 +02:00
Ske
668d249872 Add support for more smart quote types 2020-05-07 23:43:07 +02:00
Ske
356fb76cb2 Drop consecutive duplicate messages from the gateway 2020-05-06 23:48:45 +02:00
Ske
cde495cd3a Add another delay to double-super-ensure the log buffers are flushed 2020-05-06 23:43:37 +02:00
Ske
892601110f Temporary workaround for https://github.com/DSharpPlus/DSharpPlus/issues/565 2020-05-05 19:10:33 +02:00
Ske
c1d17c2944 Fix member avatar in log channel message 2020-05-05 19:05:52 +02:00
Ske
ffa6faddd2 Clean up some log levels in CpuStatService 2020-05-05 18:12:45 +02:00
Ske
0b41b4f6b8 Add graceful shutdown on SIGKILL/SIGINT 2020-05-05 18:12:34 +02:00
Ske
a052c8331c Properly pass exceptions to Sentry 2020-05-05 16:42:14 +02:00
Ske
f803b9a392 Add a character limit to avatar URLs (256 for now) 2020-05-05 16:04:17 +02:00
Ske
2579683da9 Refactor interactive event handlers 2020-05-05 16:03:46 +02:00
Ske
e298f6f652 Add support for SafetyAtLast bot 2020-05-02 20:42:42 +02:00
Ske
ee9c87a29f Refactor permission utils to properly account for lack of channel access 2020-05-02 16:25:17 +02:00
Ske
f97ceac1fb Refactor Sentry scope enrichment 2020-05-02 16:00:43 +02:00
Ske
f927450352 Report bot permissions to Sentry 2020-05-02 15:45:45 +02:00
Ske
3fd89c1a45 Refactor TryParseMention function to use regexes 2020-05-02 15:43:07 +02:00
Ske
cad5b71f14 Fix system lookup errors where user ID doesn't exist 2020-05-02 15:33:05 +02:00
Ske
720755844f Rename BotHasPermission to a more descriptive name 2020-05-02 15:29:36 +02:00
Ske
ca57d10f7c Change formatting of shard number in status 2020-05-02 14:25:28 +02:00
Astrid
c551533313
Merge pull request #167 from acw0/master
Add current shard ID in status message
2020-05-02 14:22:03 +02:00
Ske
999ea5f0b5 Refactor and simplify the main bot classes 2020-05-02 01:52:52 +02:00
Ske
7488ca459b Hopefully fix shard info tracking (again) 2020-05-01 20:27:51 +02:00
acw0
08077f6426 Add current shard ID in status message 2020-05-01 14:17:30 -04:00
Ske
91b60367f0 Hopefully fix error in LogClean module 2020-05-01 19:41:15 +02:00
Ske
e7b28261b2 "Properly" handle CloudFlare errors in webhook execution 2020-05-01 19:21:02 +02:00
Ske
b927d0c2b7 Remove a few unnecessary extensions 2020-05-01 17:38:16 +02:00
Ske
48833639e2 Update shard status tracker for new library 2020-05-01 17:30:12 +02:00
Ske
d0f1aeb548 Fix member lookup in SanitizeEveryoneMaybe 2020-05-01 17:03:43 +02:00
Ske
e133bd657d Remove log channels if they don't exist 2020-05-01 16:36:21 +02:00
Ske
7e43b75f97 Fix errors on eg. incoming link embed update events 2020-05-01 15:41:37 +02:00
Ske
e4ebd2a5fe Merge branch 'refactor/dsharpplus'
It's heeeeeeeere~
2020-05-01 15:21:55 +02:00
Ske
546cb7f97a Remove webhook rate limit cache
The move to DSharpPlus makes it unnecessary, as D#+ can actually do webhook invocations on its own.
2020-05-01 00:00:33 +02:00
Ske
042327d4aa Add online user counting back (ish) 2020-04-30 23:55:12 +02:00
Ske
697a24c4fa Remove unused assignment 2020-04-29 02:35:46 +02:00
Ske
12aef1f61d Refactor periodic event loop 2020-04-29 01:14:49 +02:00
Ske
9fa36b78ff Fix the garish default D#+ colors 2020-04-29 00:25:01 +02:00
Ske
86b6a90b1c Add proper credit to MentionUtils 2020-04-29 00:06:40 +02:00
Ske
9b6f79a508 Factor DiscordConfiguration out into DI 2020-04-29 00:05:26 +02:00
Ske
35e30f481b Fix error in stats collection task 2020-04-29 00:04:53 +02:00
Ske
607a518cb8 Fix permchecking other guilds than the one you're in 2020-04-28 22:56:43 +02:00
Fennel
66dd850504 Fix SocketErrored and Ready events 2020-04-28 22:30:11 +02:00
Fennel
adb4262237 Remove Extraneous Using Alias 2020-04-28 22:30:11 +02:00
Fennel
25ce2539bc Remove Extraneous Comment 2020-04-28 22:30:11 +02:00
Fennel
2fd07c9ec9 Fix Periodic Methods 2020-04-28 22:30:11 +02:00