Commit Graph

1167 Commits

Author SHA1 Message Date
spiral
f9aba1f129
feat: move a couple of commands to MatchToggle 2022-01-21 00:00:54 -05:00
spiral
e42002b754
fix: add missing return in pk;debug proxy 2022-01-21 00:00:26 -05:00
spiral
aad9f04b6f
feat: add 'enabled' phrasing and MatchFlag to MatchToggle, clean up 2022-01-20 23:59:04 -05:00
spiral
84529f6f32
fix: put Serilog event ID / shard ID in same scope as Sentry error ID 2022-01-20 23:38:58 -05:00
spiral
7aae41c080
feat: clean up log cleanup
- fix Carl-bot's user ID
- remove Logger#6278 (has been offline since 2020)
- remove webhook name checks, and rely on application ID instead
- add premium version of some bots
2022-01-20 23:37:32 -05:00
spiral
c6e4c862b8
feat: update Discord status only on identify
See <https://github.com/discord/discord-api-docs/issues/4073#issuecomment-1016762755>

We still update status when restarting cluster, because it doesn't really matter if the session dies in that case (we're already restarting / going to reidentify)
2022-01-20 05:52:40 -05:00
spiral
b586ef5d0a
feat: add true/false to MatchToggle 2022-01-20 05:24:28 -05:00
spiral
1626e0f548
feat: better command parsing for pk;config 2022-01-19 18:59:44 -05:00
spiral
c7851f6f5a
fix: merge system/group frontpercent code, fix flags 2022-01-19 17:59:01 -05:00
spiral
bf122f1046
feat: update command help for pk;autoproxy 2022-01-19 17:40:27 -05:00
spiral
d19242b89d
feat: add 'sa' alias to serveravatar command 2022-01-19 17:23:10 -05:00
rladenson
c62b9c2d40
feat: add -with-displayname flag to lists 2022-01-19 17:21:37 -05:00
spiral
2e17522de6
refactor: reorganize a few lines in Misc.cs 2022-01-19 17:18:31 -05:00
spiral
a16903037f
fix: don't try to re-send stickers and activity invites 2022-01-14 23:22:12 -05:00
spiral
2639989183
fix git merge from #412 2022-01-14 23:16:10 -05:00
rladenson
f3869dbcbe
feat: rework group list into member list 2022-01-14 22:30:02 -05:00
spiral
0afe031284
fix build error in Misc.cs 2022-01-14 21:51:43 -05:00
spiral
f08524ee19
fix: don't leak the existence of private info in lists (#412) 2022-01-14 19:44:44 -05:00
spiral
50a24f03a7
refactor: only pass shard ID to event handlers instead of full shard object 2022-01-14 18:39:03 -05:00
spiral
bf80dd0988
refactor: don't get user from cache in ReactionAdded 2022-01-14 15:29:15 -05:00
spiral
8e119d0d42
refactor: don't pass through channel ID to LogMessage 2022-01-14 15:12:10 -05:00
spiral
df9e7c3eb9
fix: correctly check log blacklist for messages edited outside the target guild 2022-01-14 15:11:42 -05:00
spiral
7cc2aab1f0
feat: remove 2000-character limit for proxied messages 2022-01-14 15:08:39 -05:00
spiral
d58cc216c0
fix: unbreak error reporting for @mention prefix 2022-01-14 15:05:46 -05:00
spiral
dfc9f8fcfb
feat: add cluster ID to Serilog enricher 2022-01-13 12:28:08 -05:00
spiral
a507883dda
fix: add CheckOwnGroup in Random.GroupMember 2022-01-13 12:27:00 -05:00
spiral
2aead40449
feat: add Redis identify ratelimiter 2022-01-13 12:26:25 -05:00
spiral
34df19c551
fix: don't delete rows from messages table when the associated member is deleted 2022-01-11 09:43:55 -05:00
spiral
54830fd264
feat: add ProBot log cleanup 2022-01-11 08:13:01 -05:00
Spectralitree
93f1158d33 fix: display correct color when looking up other systems' groups 2022-01-09 13:21:22 +01:00
spiral
6eda5c4229
feat: only run migrations in single-process mode 2022-01-07 14:26:41 -05:00
spiral
39c8590bce
refactor: move ExtractNodeIndex to BotConfig.Cluster class 2022-01-07 14:25:08 -05:00
spiral
0d42328694
fix: check for ReadMessageHistory in pk;debug permissions 2022-01-07 14:22:44 -05:00
spiral
d3682b94b2
feat: add attachment icon to reply card if referenced message has embeds 2022-01-07 14:21:52 -05:00
spiral
91213faa50
fix: correctly throw missing content error in pk;edit 2022-01-07 14:06:37 -05:00
spiral
50f9465826
fix: missing checkownsystem in pk;s icon 2021-12-24 19:28:46 -05:00
spiral
2c4fbf249f
fix: check own system in pk;s description, pk;s icon 2021-12-24 19:19:50 -05:00
spiral
4d04f859e6
feat: revert system/group card member count privacy 2021-12-23 23:23:16 -05:00
spiral
67ed03067a
fix: missing return in pk;system colour 2021-12-23 23:17:25 -05:00
spiral
391d6de6e4
fix: show group member count in group card, rather than system member count 2021-12-23 23:16:29 -05:00
spiral
cc0779e0e8
fix: use direct lookup context for pk;member <name> groups 2021-12-23 23:11:55 -05:00
spiral
546cdc93c4
fix: change use target everywhere in SystemConfig instead of ctx.System 2021-12-23 23:02:21 -05:00
spiral
816dfaafb6
fix: re-add privacy checks to SystemConfig
... oops
2021-12-23 22:50:16 -05:00
spiral
ec027f0366
fix: check for attachments in pk;system banner 2021-12-23 22:49:15 -05:00
spiral
91256368f5
fix: throw error when pk;edit message is too long 2021-12-07 02:02:22 -05:00
spiral
cb1d4c98c7
fix: incorrect pk;config private <target> command parsing 2021-12-07 01:58:05 -05:00
spiral
ad6addc2fd
refactor: move command parse errors to own file 2021-12-07 01:36:54 -05:00
spiral
9926bbbd8b
feat: don't hide information from own system when directly requested
in lists, pk;m <ref> <prop>, etc
2021-12-07 01:32:29 -05:00
spiral
56e266190f
fix: create guild config in log cleanup command 2021-12-06 04:02:25 -05:00
spiral
32bea51e18
feat: config setting to default show/hide private info 2021-12-06 04:01:42 -05:00
spiral
455830a2b5
feat: public/private lookup flags, consistency 2021-12-06 00:32:54 -05:00
spiral
aacf5909a9
feat: clean up command parsing for pk;system 2021-12-05 17:21:31 -05:00
spiral
0110a0b53f
fix MatchMultiple parsing 2021-12-04 18:15:26 -05:00
spiral
59f0a5ec3e
fix: parse default privacy config commands correctly 2021-12-01 17:18:38 -05:00
spiral
4064078309
fix: document member/group default privacy correctly 2021-12-01 17:09:32 -05:00
spiral
1ff6bb76cd
feat: config setting to automatically set members/groups to private when creating 2021-12-01 11:48:49 -05:00
spiral
7c37726afb
fix: replace broken private IP checker with IPNetwork library 2021-12-01 11:48:14 -05:00
spiral
cc4e659cec
feat: import/export system config 2021-11-30 17:04:42 -05:00
spiral
9097142718
fix: wrong command help in Config 2021-11-30 15:40:00 -05:00
spiral
56d07e0f2d
feat: pk;config 2021-11-29 21:35:21 -05:00
spiral
d195c80d92
feat: set shard status to offline when starting up 2021-11-28 20:50:13 -05:00
spiral
99a9ec7928
feat: beta bot patches 2021-11-27 11:09:08 -05:00
spiral
997458c9dc
feat: show custom prefix in bot status 2021-11-27 11:08:28 -05:00
spiral
3b14d0b0d8
fix: use correct prop for ctx.Parameters 2021-11-27 10:50:01 -05:00
spiral
979ab714c3
refactor: move ContextExts to own folder, CommandTree / command defs to CommandMeta folder 2021-11-26 22:04:04 -05:00
spiral
4450ae4214
feat: go through some TODOs 2021-11-26 22:02:58 -05:00
spiral
04d78e3348
refactor: remove some unused code 2021-11-26 21:14:09 -05:00
spiral
1918c56937
feat: upgrade to .NET 6, refactor everything 2021-11-26 21:10:56 -05:00
spiral
b8e2ebd470
Merge branch 'feat/webhooks' into main 2021-11-25 17:15:42 -05:00
spiral
ece17f7470
feat(webhooks): verify that url is accessible before saving it 2021-11-25 16:45:00 -05:00
spiral
bc7e0df872
feat(webhooks): SUCCESSFUL_IMPORT event, better behaviour when creating entities 2021-11-25 15:33:02 -05:00
spiral
269646a455
fix(webhook): don't try escaping backslashes in a raw string 2021-11-22 17:05:13 -05:00
spiral
7a5ba8246e
refactor: cache own user ID in IDiscordCache
- remove Cluster.User
- remove Cluster.Application (it was only being used as an alternative to Cluster.User for some reason)
- move Bot.PermissionsIn to DiscordCacheExtensions
2021-11-21 19:42:35 -05:00
spiral
24ac0725af
refactor: move guildMember caching to IDiscordCache 2021-11-21 12:06:08 -05:00
spiral
99b81085ed
fix: fix 'members' string in group limit warning 2021-11-21 09:05:16 -05:00
spiral
9c95ca2ed9
fix: temporarily disable last message query in member_list 2021-11-21 09:03:47 -05:00
spiral
40dbf7dad6
fix(webhooks): don't allow Discord webhook URLs 2021-11-19 15:54:39 -05:00
spiral
75c35b7f85
fix(webhooks): CheckSystem before trying to set a webhook URL 2021-11-19 15:53:48 -05:00
spiral
1822788e4d
feat(webhooks): add message create event 2021-11-19 11:14:40 -05:00
spiral
e8beb245da
fix(webhooks): fix error when DNS entry has non-ipv4 addresses 2021-11-19 10:58:12 -05:00
spiral
b1f4253efb
fix: show correct file size in 'file too large' error message 2021-11-19 10:22:11 -05:00
spiral
0ca356eec3
feat: add support for attachment descriptions 2021-11-19 09:34:52 -05:00
spiral
36acb5bae6
feat: add correct error about guild boost file size limit 2021-11-19 08:11:23 -05:00
spiral
923ad100e5
lint 2021-11-19 07:57:01 -05:00
spiral
0efaab6d95
refactor: don't use 'out' in IDiscordCache methods
this change is required for async cache (.NET doesn't support async ref/out params)
2021-11-18 13:11:02 -05:00
spiral
e7f36eb31f
feat: async cache
this breaks logging bot permissions to Sentry.

we haven't had a need to check those recently (permissions issues were because of broken cache), so this is fine for now
this should be re-added in the future though
2021-11-17 20:41:02 -05:00
spiral
45258d519e
feat: allow proxying in guild voice channels 2021-11-17 15:55:54 -05:00
spiral
8df259a40d
feat: change member/group lookup order, add -id flag 2021-11-17 09:30:19 -05:00
spiral
19628ec400
feat: add showing avatar URL in short list 2021-11-14 11:10:19 -05:00
spiral
cb38b6809d
fix: don't spam Sentry with caught exceptions 2021-11-11 06:31:12 -05:00
spiral
f7b48ab30d
fix: FromDateTimeUtc needs, as mentioned, an UTC datetime 2021-11-10 23:50:44 -05:00
spiral
343fafe9f0
feat: respect Discord permissions in pk;message and pk;edit 2021-11-10 23:46:16 -05:00
spiral
48d4009c69
fix: fix reporting Discord response metrics to influxdb 2021-11-09 02:19:31 -05:00
spiral
24a549341e
feat: don't call GetCurrentProcess twice 2021-11-09 01:51:02 -05:00
spiral
35bbf199f6
feat: add config setting to disable sending errors
we've disabled/re-enabled these a few times in code now...
2021-11-09 01:50:09 -05:00
spiral
ec3795f9d0
feat: globally rate-limit sending errors, rather than per-channel 2021-11-09 01:48:47 -05:00
spiral
e5c74edd85
feat: ignore database timing out 2021-11-09 01:31:42 -05:00
spiral
b4e8dda9dd
fix: update sentry, correctly configure sentry dsn 2021-11-09 01:31:06 -05:00
spiral
6da1bbd267
feat: sort by display name in short list 2021-11-08 10:49:50 -05:00
spiral
c9e2425a67
fix: disable error reporting... again 2021-11-07 12:25:20 -05:00
spiral
be443caccf
fix: off-by-one error in switching list pages 2021-11-07 12:24:06 -05:00
spiral
d19f6456a7
feat: show full commit version hash in sentry logs 2021-11-07 03:09:45 -05:00
spiral
38cbca1b34
feat: respect guild boost file size limit when re-sending attachments 2021-11-04 14:13:43 -04:00
rladenson
b1bd563dad
feat: jump to page (#401) 2021-11-04 05:52:49 -04:00
spiral
a81ffc3399
feat(webhooks): add basic commands 2021-11-03 02:01:35 -04:00
spiral
c1f05eecf8
feat: rename Commands/Token to Commands/Api 2021-11-03 01:36:03 -04:00
spiral
29b28ba742
lint >:( 2021-11-02 22:47:14 -04:00
spiral
21e3e61db0
fix: correctly handle missing role cache in message embed 2021-11-02 22:36:14 -04:00
spiral
b430446171
feat: specify custom Discord base URL
for use with twilight_http_proxy or similar
2021-11-02 05:36:53 -04:00
spiral
14b0e98791
feat: remove DiscordRequestObserver 2021-11-02 05:34:17 -04:00
spiral
f78d4844e2
feat: add 'full' argument to pk;s frontpercent command 2021-11-01 02:35:29 -04:00
spiral
8d02af7b94
refactor: move GroupAddRemoveResponseService into GroupMemberUtils
(it's not a service)
2021-10-31 01:11:10 -04:00
spiral
1f2043c8ac
fix: 'pk;member commands' is too long and throws an error 2021-10-30 20:45:36 -04:00
spiral
3e2441cf3a
feat: add 'pk;s <id> avatar' command 2021-10-30 19:02:21 -04:00
spiral
d9da50c189
feat: throw exception 2021-10-30 18:49:36 -04:00
Spectralitree
e0c43a9af7
feat: add "today" argument to pk;m birthday (#398) 2021-10-29 17:44:51 -04:00
spiral
f897ce5a45
fix: re-enable error messages for explicit commands 2021-10-29 17:34:28 -04:00
Katrix
b998636cbe
feat: add -raw flag to pk;msg (#399) 2021-10-29 16:42:10 -04:00
spiral
be5bf0cfb7
feat: misc pk;log channel changes
- show currently set log channel if no arguments are present
- throw error if someone tries to set the log channel to an invalid channel type
- throw error if bot is missing permissions to log in the new channel
2021-10-29 13:28:27 -04:00
spiral
13fa78987c
fix: accept channel ID in MatchChannel 2021-10-29 13:04:41 -04:00
spiral
3bc451eb4b
feat: move scheduled tasks to separate project 2021-10-15 06:27:38 -04:00
Ske
071e8b0791 Disable sending internal error messages for now 2021-10-13 23:30:47 +02:00
spiral
655d0d6c44
fix: add missing await 2021-10-06 19:49:11 -04:00
spiral
92c1b4de56
feat: add reaction checkmark on command message delete in DMs 2021-10-06 19:46:49 -04:00
spiral
ecce906c99
fix: add missing await 2021-10-05 03:17:51 -04:00
spiral
0dd20c64ce
feat: update lock files 2021-10-03 05:34:33 -04:00
spiral
a546ebc888
fix: check correct length for fronthistory embed 2021-10-03 04:34:26 -04:00
spiral
c31ea56bc9
fix Discord per-guild avatars in replies
because Discord changed the URL format, for some reason
2021-09-30 15:36:01 -04:00
spiral
f785fa1204
feat: add HttpRequestException to IsOurProblem 2021-09-29 21:51:54 -04:00
spiral
92e45a07ff
refactor: add SqlKata for SQL generation, move connection handling into ModelRepository 2021-09-29 21:51:38 -04:00
spiral
fb4aaad19f
lint 2021-09-26 22:50:08 -04:00
spiral
0517c76abf
feat: delete command messages with pk;msg -delete 2021-09-26 22:49:43 -04:00
spiral
fa66fbe247
move admin check to ContextChecksExt, allow pk;debug proxy for staff in support server 2021-09-26 20:42:08 -04:00
Fiona
94f4f970ea
Fix <text> brackets also matching markdown 2021-09-26 20:23:59 -04:00
BeautifulPixel
7d60b3e7cf
Add switch editing functionality 2021-09-26 20:08:38 -04:00
spiral
e3fa0f3b32
fix(MatchRaw commands): don't skip matching flags when setting new value 2021-09-26 17:30:30 -04:00
spiral
d49b9f9bb7
ignore reactions added by the bot itself 2021-09-25 15:04:06 -04:00
Ske
8aa448c475 Fix executing some commands without defs 2021-09-25 20:24:16 +02:00
Ske
b6fc86d427 Collect command runtime metrics 2021-09-25 20:15:24 +02:00
spiral
db5fae0fb4
feat: edit messages in threads 2021-09-24 19:03:40 -04:00
spiral
c472a7f6df
lint/fixes, add group patch validation 2021-09-22 13:48:34 -04:00
spiral
bc2c198a82
group import/export 2021-09-21 21:42:41 -04:00
spiral
a09f819924
re-enable FixSameName (with database fix) 2021-09-18 19:14:08 -04:00
spiral
07b12f39b0
aaaaaaa 2021-09-13 08:42:51 -04:00
spiral
78ab3f8bcd
feat: don't show an error when running raw pk;commands 2021-09-13 04:39:06 -04:00
spiral
d005358acc
feat: add channel-specific permcheck 2021-09-13 04:21:03 -04:00
spiral
9914dd719c
feat: add -raw flag to servertag 2021-09-13 03:26:24 -04:00
spiral
a2bf70b395
feat: don't try to match other systems' members in switch / group add commands 2021-09-13 03:14:59 -04:00
spiral
dec228d5bd
feat: add limit reach warning to pk;group new 2021-09-13 02:46:40 -04:00
spiral
b390c8ab62
fix MatchRaw commands one more time :/ 2021-09-13 02:33:34 -04:00
spiral
2973325e12
fix: don't try deleting pk;msg -delete message in DMs 2021-09-13 02:21:39 -04:00
spiral
42422f475b
feat: allow deleting *any* message in DMs 2021-09-13 02:13:36 -04:00
spiral
fc11a7b8ee
feat: raise command message retention time to 24 hours 2021-09-13 02:13:19 -04:00
spiral
13f5b63c59
feat: add last global restart time to pk;stats card 2021-09-13 01:57:51 -04:00
spiral
b3a8432039
fix: add NormalizeLineEndSpacing to pk;edit 2021-09-13 01:57:39 -04:00
spiral
a165a42046
fix MatchRaw commands *again* 2021-09-13 01:57:31 -04:00
spiral
bae883c11f
refactor: consolidate [x]TooLongErrors into StringTooLongError 2021-09-13 01:57:15 -04:00
spiral
95e0fcc36d
fix: missing returns for pk;s tag command 2021-09-06 20:07:46 -04:00
spiral
b71e97a5e9
fix: actually pass group actioned/not actioned count properly to GenerateResponse
I hope this works. This code is all a mess. Refactor when?
2021-09-06 19:26:47 -04:00
spiral
023d2577e5
fix: don't skip flags before MatchClear/MatchRaw 2021-09-06 19:09:43 -04:00
spiral
ae5451d901
fix: description embeds missing format $ 2021-09-06 18:56:06 -04:00
Ske
84fb49e57c Also normalize interaction tokens in URLs 2021-09-07 00:11:57 +02:00
Ske
9bbe9df16d Clean up a few database pool uses 2021-09-03 22:20:07 +02:00
Ske
13260a4b0e Disable FixSameName for the time being 2021-08-31 01:31:12 +02:00
spiral
7aaa89c65c
fix: don't automatically prompt user to unlink the current account if no arguments are passed 2021-08-27 22:27:40 -04:00
Spectralitree
0553e42eca
refactor: tweak -raw usage (#341)
Co-authored-by: spiral <spiral@spiral.sh>
2021-08-27 19:20:14 -04:00
spiral
2ddef25177
refactor: don't use a class for GroupAddRemoveResponse; fix tests 2021-08-27 19:18:59 -04:00
spiral
ac2671452d
run dotnet format 2021-08-27 11:03:47 -04:00
spiral
9e4f5d8e40
fix strings for group rename 2021-08-26 11:54:28 -04:00
spiral
4b944e2b20
feat: refactor external input handling code
- refactor import/export code
- make import/export use the same JSON parsing as API
- make Patch.AssertIsValid actually useful
2021-08-25 21:43:31 -04:00
spiral
f912805ecc
feat: make group member add/remove response code less confusing; add tests 2021-08-25 19:51:33 -04:00
spiral
82544cf9ce
tweak: don't expose hidden channel count in pk;permcheck 2021-08-25 15:58:55 -04:00
Alyx
c7fcf60fbf
feat: add checking for Use External Emoji permissions in pk;permcheck 2021-08-25 15:04:08 -04:00
spiral
b46561cb0a
refactor: move some commands out of Misc 2021-08-25 14:36:13 -04:00
spiral
603123777d
add limits to switch members and proxy tag length 2021-08-25 13:42:08 -04:00
spiral
52efb3c70a
fix: don't check for useless permission when deleting command messages
this allows for deleting command messages in DMs, where the bot does not have manage messages permissions
and just in general in channels where it doesn't have those permissions as well
2021-08-25 12:43:33 -04:00
spiral
87676c2045
fix: show correct command suggestion to edit server tag 2021-08-25 12:33:24 -04:00
spiral
0d583a2a6b
fix: fetch guild settings for server tag in system card 2021-08-25 12:30:42 -04:00
Ske
41427db178 Use a proper user agent when fetching images 2021-08-23 22:53:58 +02:00
spiral
4c97a9daf6
hopefully a fix for #384 2021-08-15 00:50:31 -04:00
Ske
b5ce541440 Avoid spamming failed proxy checks in edit handler logs 2021-08-12 02:52:42 +02:00
spiral
8f15065507
fix: don't check file size for banners 2021-08-08 17:44:30 -04:00
spiral
e058d05224
fix: catch the correct exception in Paginate 2021-08-08 16:10:55 -04:00
Ske
4c17ee3d89 Fix proxying in channels without message history + reduce proxy latency 2021-08-08 21:56:24 +02:00
Ske
1720a28af2 Fix system card lookup in DMs 2021-08-08 15:31:03 +02:00
spiral
a5a39cba0a
fix: correctly check banner image size (don't) 2021-08-06 21:41:27 -04:00
spiral
b8bd53f3c0
fix: correctly check avatar size 2021-08-06 21:41:18 -04:00
spiral
65cb937e07
feat: show relevant display option for chosen sort property in full list 2021-08-05 17:49:55 -04:00
spiral
2807906d79
feat: show display options in short member list 2021-08-05 17:48:31 -04:00
spiral
c27cbeed01
remove some unused/legacy code 2021-08-04 01:39:41 -04:00
spiral
9fd4f327e0
refactor: clean up message logging 2021-08-04 00:41:51 -04:00
spiral
b9f73cadb7
feat: proxy debug command
Co-authored-by: Spectralitree <72747870+Spectralitree@users.noreply.github.com>
2021-08-03 21:06:14 -04:00
spiral
25f96dd920
Fix Discord merging webhook messages with same username
Closes #33.
2021-08-03 13:44:22 -04:00
spiral
9d4006b056
Add server-specific system tag 2021-08-02 17:22:06 -04:00
spiral
28bcb35bb2
fix cache error on system messages 2021-08-02 16:18:39 -04:00
spiral
e144571904
Add banner (large) image 2021-08-02 13:46:12 -04:00
Ske
eb142a81fa Handle null avatar URLs 2021-08-02 12:20:53 +02:00
rladenson
1290594211 Removed a duplicate line of code 2021-08-02 00:05:10 -04:00
spiral
1cb4bc9287
Expose git version in 'pk;stats' and '/v1/meta' 2021-08-01 15:22:23 -04:00
spiral
dcc15dc847
Move mediaproxy URL rewriting to ProxyService
This shows full size avatars in API / cards.

Also, rewrite URLs currently stored with media.discordapp.net "back" to
cdn.discordapp.com before sending them to users.
2021-08-01 12:51:54 -04:00