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
Ske
66690423e8
Allow calling frontpercent with arguments containing spaces
...
Closes #113 (for real this time).
2019-07-15 21:53:55 +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
d78e4c4502
Send export file in DMs
2019-07-14 21:14:16 +02:00
Ske
a41e20a0a3
Fix importing with no existing system
2019-07-11 22:46:18 +02:00
Ske
8e0e37ed54
Yes.
2019-07-10 13:57:59 +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
53b3378901
Fix importing by URL
2019-07-10 12:36:51 +02:00
Ske
305d8f220e
Add usage strings to all commands
2019-07-10 12:03:41 +02:00
Ske
1bd5e7e3ca
Clarify datetime format in switch move error
2019-07-10 11:09:08 +02:00
Ske
372a618cbe
Bounds check color parameter validation
2019-07-10 10:02:46 +02:00
Ske
9b488d1ab5
Add more lenient prefix parsing
2019-07-10 10:01:06 +02:00
Ske
8dea58437d
Add short-hand group aliases
2019-07-10 09:35:37 +02:00
Ske
de9554810a
Disallow switching to member in another system
2019-07-10 00:25:47 +02:00
Ske
9a5152a74c
Add member routes to API
2019-07-10 00:19:18 +02:00
Ske
ce999895c8
Add basic help command
2019-07-01 17:57:43 +02:00
Ske
42147fd9cc
Add front percent command
2019-06-30 23:41:01 +02:00
Ske
53037f7d52
Add message querying by ? reaction
2019-06-21 14:13:56 +02:00
Ske
2c3c46002a
Add message lookup and log channel setting commands
2019-06-21 13:49:58 +02:00
Ske
06edc9d61e
Add API token commands
2019-06-20 21:15:57 +02:00
Ske
5dafc4fbd4
Add front history command
2019-06-15 12:43:35 +02:00
Ske
f4a53ce815
Refactor date/time format constants
2019-06-15 12:33:24 +02:00
Ske
fa5a616716
Add system fronter command
2019-06-15 12:19:44 +02:00
Ske
5d15a973f1
Add customization of invite link client ID. Closes #77 .
2019-06-15 12:03:07 +02:00
Ske
e66c815295
Remove unused function
2019-06-15 11:55:40 +02:00
Ske
1e1ef4495f
Add Tupperbox importing support
2019-06-15 11:55:11 +02:00
Ske
652afffb8c
Add importing and exporting function
2019-06-14 22:48:19 +02:00
Ske
cd9a3e0abd
Expand system time selection logic
2019-06-13 23:42:39 +02:00
Ske
72cb838ad7
Add system time zone command
2019-06-13 20:33:17 +02:00
Ske
6cfa4cb2e5
Add usage strings to switch commands
2019-06-13 17:07:49 +02:00
Ske
d109ca7b57
Add switch deletion command
2019-06-13 17:05:50 +02:00
Ske
7e9b7dcc98
Add switch commands for adding and moving
2019-06-13 16:53:04 +02:00
Ske
4c6790432b
Add system linking commands
2019-05-21 23:40:26 +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