Commit Graph

491 Commits

Author SHA1 Message Date
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
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
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
969065724d Fix Tupperbox importing (again) 2020-09-20 23:32:57 +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
dev-kittens
e79e7278ab Fix webp image errors 2020-09-03 06:46:23 -04: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
98afbb5ea8 Change example for group rename to use rename alias 2020-08-27 21:28:54 +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
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
1e0ce31ffe Order groups alphabetically by name 2020-08-25 18:43: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
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
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
Ske
fb236726aa Consolidate conditional 2020-07-28 19:52:57 +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
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
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
kittens
e24c5d095b
Check if we got the same member before asking for confirmation (#201) 2020-07-22 16:27:53 +02:00
kittens
fd0e46f40d
Add -yes flag to CheckYesNo (#198) 2020-07-21 02:10:26 +02:00
Ske
99d6942ff4 Truncate the echoed command in the not found error 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
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
da7befa1b7 Fix token DM error 2020-07-05 13:23:23 +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
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
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
9420cb56f8 Show sorted field on the long list by default 2020-06-28 18:14:59 +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
50b5a8fbee Fix changing autoproxy settings with no system_guild row 2020-06-24 17:50:12 +02:00
Ske
447b986706 Add dispname -> displayname alias 2020-06-23 09:59:39 +02: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
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
Ske
5075565d2f Default to UTC given no system in member lists 2020-06-18 17:41:14 +02:00
Ske
27c8100cac Get rid of switch exhaustiveness compiler warning 2020-06-18 17:34:03 +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
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
b9cbd241de Migrate to type-safe model ID structs 2020-06-14 21:37:04 +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
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
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
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
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
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
ariel w
82886fe9e2
Move discord links to new domain (#180) 2020-06-11 21:12:43 +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
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
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
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
ee9c87a29f Refactor permission utils to properly account for lack of channel access 2020-05-02 16:25:17 +02:00
Ske
cad5b71f14 Fix system lookup errors where user ID doesn't exist 2020-05-02 15:33:05 +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
e4ebd2a5fe Merge branch 'refactor/dsharpplus'
It's heeeeeeeere~
2020-05-01 15:21:55 +02:00
Ske
697a24c4fa Remove unused assignment 2020-04-29 02:35:46 +02:00
Ske
9fa36b78ff Fix the garish default D#+ colors 2020-04-29 00:25:01 +02:00
Ske
607a518cb8 Fix permchecking other guilds than the one you're in 2020-04-28 22:56:43 +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
4e988867fe Refactor Unnecessary Enum Checks 2020-04-28 22:30:11 +02:00
Fennel
949dae6561 Add Extension Methods 2020-04-28 22:30:11 +02:00
Fennel
c99784b9dc Fix Build Errors 2020-04-28 22:30:11 +02:00
Ske
8cfb1b01ab Hide channels from pk;permcheck if user does not have view permissions 2020-04-28 22:06:48 +02:00
Ske
12d29eba44 Fix wrong message in privacy lookup 2020-03-09 11:00:28 +01:00
Ske
8b55e1364d Properly sanitize raw member description output 2020-03-08 10:34:47 +01:00
Ske
c6e813853a Remove "a" keyword for pk;find 2020-03-05 19:08:32 +01:00
Ske
ab8b5e3786 Fix setting proxies starting with text 2020-03-05 00:07:42 +01:00
Ske
628ae6beb7 Update command list documentation 2020-03-04 18:28:13 +01:00
Ske
373423e6c5 Restructure the rest of the commands 2020-03-04 18:13:36 +01:00
Ske
1169669cf1 Restructure member description command 2020-02-28 00:23:54 +01:00
Ske
bcc9659117 Add "clear" subcommand in addition to flags 2020-02-27 18:07:05 +01:00
Ske
f03b4683f7 Restructure system proxy command 2020-02-27 18:06:13 +01:00
Ske
f291714cff Restructure system description command 2020-02-27 17:50:52 +01:00
Ske
823b101b63 Restructure system timezone command 2020-02-27 17:50:52 +01:00
Ske
4df3be8c3a Restructure system tag command 2020-02-27 17:50:52 +01:00
Ske
45c5e5ed42 Normalize colors to lowercase hex 2020-02-25 16:37:52 +01:00
Ske
f97c18aed0 Ignore flags when parsing system tags 2020-02-23 00:15:53 +01:00
Ske
75947301f1 Properly skip flag parsing when handling proxy tags 2020-02-22 15:21:48 +01:00
Ske
8d3be79d33 Don't attempt to send log messages if the bot doesn't have permissions 2020-02-22 01:54:10 +01:00
Ske
493f7b12e5 Skip flag parsing when handling proxy tags 2020-02-20 23:53:05 +01:00
Ske
de141d629b Fix newline rendering in embeds on iOS 2020-02-20 22:57:37 +01:00
Ske
e9cc8ed424 Add logger bot cleanup support 2020-02-15 14:17:25 +01:00
Ske
2268a33600 Correct word in member find title 2020-02-15 14:14:27 +01:00
Ske
268eabb047 Properly target system find 2020-02-13 20:25:00 +01:00
Ske
a76d7a6777 Add member find/search command 2020-02-13 16:49:45 +01:00
Ske
883796de16 Refactor system list command 2020-02-13 16:35:50 +01:00
Ske
d0d3579b17 Add server-specific member avatars 2020-02-12 17:42:12 +01:00
Ske
6d5004bf54 Large refactor and project restructuring 2020-02-12 15:16:19 +01:00
Ske
9394b14a38 Fix link in system created message 2020-02-09 22:35:16 +01:00
Ske
466aea439e Add getting started steps back 2020-02-09 15:30:19 +01:00
Ske
e6ba9ffb51 Add space to short list footer 2020-02-09 14:26:09 +01:00
BeeFox-sys
9e47f98a23
Improve Docs (#151)
* Added configurable command prefix

* Added getting started, renamed files

* Add nav order, add assests, add system example

* Added a lot

* Update Emojis

* Add guide links to bot

* Added Images
2020-02-09 14:17:26 +01:00
Ske
f618bc2403 Fix pk;msg with message link 2020-02-07 22:24:03 +01:00
Ske
4c1a03bb00 Special case "private" and "public" as setters rather than togglers 2020-02-07 22:20:40 +01:00
Ske
594bcc5b7b Replace error with warning on legacy proxy command 2020-02-05 23:44:03 +01:00
Ske
565d166c68 Add more aliases to proxy add/remove 2020-02-04 18:16:45 +01:00
Ske
5334975ab7 PROPERLY handle example proxy "text" 2020-02-03 15:11:35 +01:00
Ske
f172123190 Fix setting proxy tags starting with "text" 2020-02-01 23:08:33 +01:00
Ske
6863da9462 Disable Discord member caching entirely 2020-02-01 15:00:36 +01:00
Ske
82dfe43d5a Rework caching
This does a *lot* of things. Essentially, it replaces the existing
individual proxy- and autoproxy caches on the bot end with a
global cache (in Core) that handles all the caching at once, and
automatically invalidates the cache once something changes in the
datastore.

This allows us to do proxying and autoproxying with *zero database
queries* (best-case).
2020-02-01 14:40:57 +01:00
Ske
125ea81ec3 Move command functions around 2020-02-01 13:03:44 +01:00
Ske
a5f0d7ac13 Handle proxy tag length overflow in short member list 2020-01-31 11:43:53 +01:00
Ske
5caf040bbc Properly handle setting empty proxy tags 2020-01-30 10:20:47 +01:00
Ske
4311cb3ad1 Fix unlinking deleted accounts 2020-01-25 18:08:35 +01:00
Astrid
eb44c8fda2
Merge pull request #150 from xSke/feature/autoproxy
Implement autoproxy. Closes #149.
2020-01-25 16:35:31 +01:00
Ske
0abd64b354 Fix punctuation error 2020-01-25 00:58:25 +01:00
Ske
83cfb3eb46 Add autoproxy functionality 2020-01-24 20:28:48 +01:00
Ske
b4439ba872 Add another alias to member privacy 2020-01-23 21:21:52 +01:00
Ske
57bc576de6 Add autoproxy management commands 2020-01-23 21:20:22 +01:00
Ske
b347d2d557 Add front history pagination; upgrade more store methods 2020-01-18 00:58:35 +01:00
Ske
8a689ac0f2 Upgrade various store methods to IAsyncEnumerable 2020-01-18 00:02:17 +01:00
Ske
335f6203cc Restrict pk;random to public members 2020-01-14 12:41:28 +01:00
Ske
f10685acd4 Fix system privacy command usage 2020-01-14 12:22:33 +01:00
Ske
98613c4287 Add system and member privacy support 2020-01-11 16:51:13 +01:00
BerryCode
f0cc5c5961 Add pk;random command (#146) 2020-01-08 21:33:14 +01:00
Ske
54aa9fb7d7 Change handling of Tupperbox per-member tags 2019-12-28 15:53:11 +01:00
Ske
c80965394d Add system avatar preview as well 2019-12-28 12:47:31 +01:00
Ske
468241c92f Add avatar preview with no arguments 2019-12-28 12:23:52 +01:00
Ske
9ad16a98ed Throw syntax error when no argument is given to member rename 2019-12-28 12:16:08 +01:00
Ske
f610f88351 Add more aliases for enabling/disabling proxying 2019-12-28 12:12:22 +01:00
Ske
18dc1664db Add another alias for servername 2019-12-27 11:43:06 +01:00
Ske
4d07886ec8 Add server-specific display names 2019-12-26 20:39:47 +01:00
Ske
441867f1cb Use culture-invariant comparisons when sorting member list 2019-12-24 01:09:48 +01:00
Ske
7bccaab20d Fix stat number displays 2019-12-22 14:37:55 +01:00
Ske
3b5ca3d62e Properly reset stat message content 2019-12-22 14:35:18 +01:00
Ske
d2205ea7e6 Update documentation with new features 2019-12-22 14:26:53 +01:00
Ske
639c813ce7 Add per-server per-system proxy enable toggle 2019-12-22 14:15:56 +01:00
Ske
b81eda47aa Expand pk;stats functionality 2019-12-22 12:50:47 +01:00
Ske
3b72fa720b Add warning when setting proxy tags conflicting with another member's 2019-12-21 21:42:06 +01:00
Ske
378cba09e5 Add channel blacklists for logging and proxying
Necessary database migrations for this commit:
    alter table servers add column log_blacklist bigint[] not null default array[]::bigint[];
    alter table servers add column blacklist bigint[] not null default array[]::bigint[];
2019-11-03 19:15:50 +01:00
Ske
03dd91ee9e Update tag change message with more information 2019-11-03 13:37:36 +01:00
Ske
0226e73d88 Improve in-bot command documentation
Adds command descriptions, changes formatting on
command listings, and adds more direct command
listing commands.
2019-11-03 00:29:11 +01:00
Ske
7c3b4b9af9 Add command to delete all switches 2019-11-02 22:46:51 +01:00
Ske
6aa72f68b3 Add syntax error if pk;m proxy is missing arguments 2019-11-02 02:57:55 +01:00
Ske
1a79d52bfb Add importing of Tupperbox multibrackets 2019-10-30 14:11:24 +01:00
Ske
49dc25ee02 Allow keeping proxy tags when proxying messages.
Required database migration:

Closes #75.
2019-10-30 09:26:50 +01:00
Ske
acadad2a43 Add forgotten conditional to proxy tag clear disclaimer 2019-10-30 08:44:17 +01:00
Ske
393ee16c1b Add support for multiple proxy tags
Tangentially closes #103.
2019-10-30 08:18:59 +01:00
Ske
bfafdbe2bf Invalidate proxy cache when clearing proxy tags 2019-10-28 00:38:06 +01:00
Noko
eb5fe7d6a4 Allow frontpercent to accept time patterns in system timezone (#135)
The frontpercent command already accepted time patterns (e.g. 9pm), but these were always being interpreted as UTC regardless of the system's configured zone. Furthermore, the time wasn't being nudged to the previous day, so if you tried to do pk;s fp 6pm at 5pm UTC, it would complain about the date being in the future instead of just showing you since 6pm yesterday.

The system zone is now respected and nudging enabled in the same manner as pk;sw move.
2019-10-28 00:21:55 +01:00
Ske
823688e63d Add pk;flash command 2019-10-27 23:03:20 +01:00
Ske
46672d264c Refactor log channel storage 2019-10-27 23:01:20 +01:00
Ske
4e98a51363 Fix PermCheck permissions and no-guild invocation syntax 2019-10-27 21:58:04 +01:00
Ske
523469e5e6 Remove preemptive warning messages for unproxyable members
The member length limit is now long enough that it's unlikely to
hit the cap by accident. An error will still be displayed if you
attempt to perform a message proxy.
2019-10-27 21:57:31 +01:00
Ske
6a73b3bdd6 Refactor data stores, merging the Store classes 2019-10-26 19:45:44 +02:00
Noko
3d21adeec9 Fix reversal of import response messages
Some of the command rewrite changes resulted in the response messages for importing a system being swapped. When importing without an existing system (ctx.System == null), we want to display the "new system" message. Otherwise, show the count added/modified.
2019-10-20 02:22:22 -05:00
Noko
397da2e1fa Added max member count to limits
A given system can now have up to 1000 members. Within 50 members of that limit, a warning will display whenever a new member is created via the bot. Once the limit is reached, a final warning will appear indicating that no additional members can be created unless members are first deleted. Attempting to create a new member at that point by any method will result in an error message indicating that the limit has been reached.

Respecting this in pk;import required some restructuring to tease apart which members already exist and which ones need to be created prior to creating any members as it seems preferable to fail early and give the user the ability to intervene rather than pushing the system to the member cap and requiring manual deletion of "lower priority" members before others can be created. One consequence of the restructure is that existing members are being read in bulk which is a performance improvement of 25-70% depending on how many switches need to be imported (the more members you have, the more noticeable this is).
2019-10-20 02:16:57 -05:00
Astrid
af4da8fd72
Merge branch 'master' into patch-2 2019-10-18 13:37:09 +02:00
Ske
83c709b69d Sanitize more inputs 2019-10-18 13:14:36 +02:00
Ske
1988b29fbc Refactor command system 2019-10-05 07:41:00 +02:00
Grey Himmel
ad6624ce02
Order members regardless of name case
Add `toLower()` method to the sorting used in system lists, so members are ordered regardless of if the first letter of their name is upper or lowercase
2019-08-25 20:25:37 -04:00
Ske
74e0508065 Increase webhook name limit to 80 2019-08-14 07:16:48 +02:00
Ske
fb7f31d42d Invalidate proxy caches on more editing commands 2019-08-12 17:49:07 +02:00
Ske
d8503001eb Show an error when a bad import URL is given 2019-08-12 17:47:35 +02:00
Ske
5728f94e00 Fix stats command 2019-08-12 06:24:37 +02:00
Ske
423d23faf7 Cache account lookup in memory when proxying 2019-08-12 03:48:08 +02:00
Ske
200ba6d84c Add member proxy display names 2019-08-09 10:12:38 +02:00
Ske
fe22ba4f32 Truncate member profile in long system list 2019-08-04 13:52:41 +02:00
Ske
4eb9ee601d Add command to check channel permissions for proxying 2019-07-26 12:05:09 +02:00
Ske
a9444fa8c6 Update member creation message with website link 2019-07-26 11:20:30 +02:00
Ske
967b4f9ae0 Add redirect message for member help command 2019-07-26 11:17:42 +02:00
Ske
a4f2735c64 Make color set command case-insensitive 2019-07-19 14:54:40 +02:00
Ske
3d073df359 Fix avatar setting by mention 2019-07-19 14:21:16 +02:00
Ske
a188c64a0e Clean up unused imports 2019-07-17 13:38:23 +02:00
Ske
f53344cd89 Fix front percent returning negative percentages and ranges 2019-07-17 13:37:43 +02:00
Ske
2d58705e85 Add basic WIP metrics system 2019-07-16 21:59:06 +02:00
Ske
003f64abbd Allow setting member avatar by mention 2019-07-16 20:17:04 +02:00
Ske
5599f0a4a8 Add system avatar command (which I totally forgot) 2019-07-15 23:50:32 +02:00