Add support for multiple proxy tags

Tangentially closes #103.
This commit is contained in:
Ske
2019-10-28 20:15:27 +01:00
committed by Astrid
parent 96b03495a4
commit 393ee16c1b
16 changed files with 190 additions and 69 deletions

View File

@@ -255,6 +255,19 @@ You can now type a message enclosed in your proxy tags, and it'll be deleted by
**NB:** If you want `<angle brackets>` as proxy tags, there is currently a bug where custom server emojis will (wrongly)
be interpreted as proxying with that member (see [issue #37](https://github.com/xSke/PluralKit/issues/37)). The current workaround is to use different proxy tags.
### Using multiple distinct proxy tag pairs
If you'd like to proxy a member in multiple ways (for example, a name or a nickname, uppercase and lowercase variants, etc), you can add multiple tag pairs.
When proxying, you may then use any of the tags to proxy for that specific member.
To add a proxy tag to a member, use the `pk;member proxy add` command:
pk;member John proxy add {text}
pk;member Craig proxy add C:text
To remove a proxy tag from a member, use the `pk;member proxy remove` command:
pk;member John proxy remove {text}
pk;member Craig proxy remove C:text
### Querying message information
If you want information about a proxied message (eg. for moderation reasons), you can query the message for its sender account, system, member, etc.

View File

@@ -32,7 +32,9 @@ Words in \<angle brackets> are *required parameters*. Words in [square brackets]
- `pk;member <name> displayname <new display name>` - Changes the display name of a member.
- `pk;member <name> description [description]` - Changes the description of a member.
- `pk;member <name> avatar [avatar url]` - Changes the avatar of a member.
- `pk;member <name> proxy [tags]` - Changes the proxy tags of a member.
- `pk;member <name> proxy [tags]` - Changes the proxy tags of a member. use below add/remove commands for members with multiple tag pairs.
- `pk;member <name> proxy add [tags]` - Adds a proxy tag pair to a member.
- `pk;member <name> proxy remove [tags]` - Removes a proxy tag from a member.
- `pk;member <name> pronouns [pronouns]` - Changes the pronouns of a member.
- `pk;member <name> color [color]` - Changes the color of a member.
- `pk;member <name> birthdate [birthdate]` - Changes the birthday of a member.

View File

@@ -44,10 +44,16 @@ The following three models (usually represented in JSON format) represent the va
|color|color?|Yes|6-char hex (eg. `ff7000`), sans `#`.|
|avatar_url|url?|Yes|Not validated server-side.|
|birthday|date?|Yes|ISO-8601 (`YYYY-MM-DD`) format, year of `0001` means hidden year.|
|prefix|string?|Yes||
|suffix|string?|Yes||
|prefix|string?|Yes|Deprecated. Use `proxy_tags` instead.|
|suffix|string?|Yes|Deprecated. Use `proxy_tags` instead.|
|proxy_tags|ProxyTag[]|Yes (entire array)|An array of ProxyTag (see below) objects, each representing a single prefix/suffix pair.|
|created|datetime|No||
#### ProxyTag object
|Key|Type|
|prefix|string?|
|suffix|string?|
### Switch model
|Key|Type|Notes|