Commit Graph

487 Commits

Author SHA1 Message Date
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
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