Commit Graph

1200 Commits

Author SHA1 Message Date
spiral
38a3683fca
refactor: run InfluxDB reporter through AppMetrics instead of per-minute task 2022-03-23 14:41:55 -04:00
Jake Fulmine
7efe6f1f97
feat: system pronouns (#429) 2022-03-23 14:20:16 -04:00
spiral
982812333b
feat: rewrite database schema for localized autoproxy 2022-03-21 23:43:33 -04:00
spiral
ca108813b7
fix: don't spam errors when postgres is restarting 2022-03-19 21:57:58 -04:00
spiral
1a38635a12
fix: don't crash when autoproxy member is deleted 2022-03-19 21:55:59 -04:00
spiral
8909330db2
feat: aggregate cluster statistics and send to influx with scheduled tasks worker 2022-03-14 23:33:22 -04:00
spiral
857e20b601
feat: show total shards from cluster configuration if present 2022-03-11 17:51:04 -05:00
spiral
ae543b9c18
feat: fetch from REST instead of cache for cross-cluster lookups 2022-03-09 20:06:53 -05:00
spiral
d0ad7abb03
feat: add the rest of the Dynos to logclean 2022-03-03 06:01:23 -05:00
spiral
034258f050
feat: add 'prns' alias to pronouns command 2022-02-26 16:32:53 -05:00
spiral
32a73eef09
feat: update to Discord API v10 2022-02-26 16:28:20 -05:00
spiral
6a4033b2a9
feat: add blue diamond documentation and 'clear' command to pk;config 2022-02-11 12:25:56 -05:00
spiral
d0e9ad7193
fix: PKMessage.Member can be null 2022-02-11 12:09:58 -05:00
spiral
c958307698
refactor: rename discord.proto to state.proto 2022-02-07 11:07:45 -05:00
spiral
1ec3663f63
feat: add cluster ID to shard state 2022-02-07 11:05:55 -05:00
spiral
375758206e
fix: show correct name in entityReference when base name is private 2022-02-05 09:26:14 -05:00
spiral
8a9148cd32
fix: remove LastConnection check in shardUpTotal 2022-02-04 14:54:29 -05:00
spiral
fc8f1b7cd3
fix: don't require Redis for startup 2022-02-04 14:53:56 -05:00
spiral
8964d7f623
chore: lint 2022-02-04 14:52:06 -05:00
Ske
0977088753 feat: when the myriad is sys-- er, sus 2022-02-04 03:12:14 +01:00
Ske
ce546bd2d4 feat: dem of crassy (don't mind me) 2022-01-31 09:00:40 -05:00
Autumn Meadow
7dd88effb3
fix: emojis not showing up correctly in help embed 2022-01-27 18:45:44 -08:00
spiral
efaf814e12
fix: check if system exists in HandleSystemCommandsTargeted 2022-01-26 06:20:26 -05:00
spiral
c38ca2e7fa
feat: add git commit hash to Serilog context 2022-01-24 08:13:59 -05:00
spiral
8ce7465177
fix: don't crash in lists when searching for a string longer than 256 characters 2022-01-23 01:47:55 -05:00
spiral
84e7e71f88
fix(logclean): use application ID rather than bot user ID when needed 2022-01-23 01:47:04 -05:00
spiral
0419ced0d2
feat: store shard status in Redis 2022-01-22 03:52:52 -05:00
spiral
22faa47d00
refactor: make Help.cs content static 2022-01-22 03:22:15 -05:00
spiral
df6a6fcf12
refactor: don't DI IDatabase and ModelRepository into bot command classes 2022-01-22 03:05:01 -05:00
spiral
89c44a3482
feat: cache Discord DM channels in database 2022-01-22 02:47:47 -05:00
spiral
ddbf0e8691
Revert "feat: remove 2000-character limit for proxied messages"
This reverts commit 7cc2aab1f0.
2022-01-21 18:24:55 -05:00
spiral
31a129dabf
fix: check HasNext after matching message in EditMessage, use PKSyntaxError instead of PKError 2022-01-21 17:10:00 -05:00
spiral
4a739c2d61
feat: better error reporting settings 2022-01-21 00:10:51 -05:00
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