Commit Graph

39 Commits

Author SHA1 Message Date
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
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
4d07886ec8 Add server-specific display names 2019-12-26 20:39: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
6aa72f68b3 Add syntax error if pk;m proxy is missing arguments 2019-11-02 02:57:55 +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
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
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
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
Ske
fb7f31d42d Invalidate proxy caches on more editing commands 2019-08-12 17:49:07 +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
a9444fa8c6 Update member creation message with website link 2019-07-26 11:20:30 +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
003f64abbd Allow setting member avatar by mention 2019-07-16 20:17:04 +02:00
Ske
55aa90b971 Fix member info usage string 2019-07-15 15:28:32 +02:00
Ske
1d35838fa4 Hint at 5-char member ID when registering multi-name member 2019-07-14 21:19:48 +02:00
Ske
31173af87d Add more command aliases 2019-07-10 13:55:48 +02:00
Ske
352940abbd Sanitize user input in response messages 2019-07-10 13:44:03 +02:00
Ske
372a618cbe Bounds check color parameter validation 2019-07-10 10:02:46 +02:00
Ske
8dea58437d Add short-hand group aliases 2019-07-10 09:35:37 +02:00
Ske
9a5152a74c Add member routes to API 2019-07-10 00:19:18 +02:00
Ske
08afa2543b Add member avatar edit command
This also refactors a large portion of the DI toolchain, since
I discovered that you shouldn't be reusing IDbConnection objects.

Instead, most services and stores are now declared transient, and
the webhook cache has been moved to a database-independent storage
singleton by itself.
2019-05-17 01:23:09 +02:00
Ske
72a2fadff8 bot: add member deletion command 2019-05-13 23:08:44 +02:00
Ske
5fc91d895c bot: add proxy tag edit command 2019-05-13 22:56:22 +02:00
Ske
62dc2ce78e bot: add birthday command 2019-05-13 22:44:49 +02:00
Ske
b42e052fee bot: add member lookup command 2019-05-12 00:44:02 +02:00
Ske
cf2598baa5 bot: add color change command 2019-05-11 23:56:56 +02:00
Ske
c5d2b7c251 refactor project structure 2019-05-08 00:06:27 +02:00