Massive refactor/update/UX improvement dump. Closes #6.
This commit is contained in:
@@ -1,177 +1,123 @@
|
||||
categories = ("Help categories", """`pk;help system` - Details on system configuration.
|
||||
`pk;help member` - Details on member configuration.
|
||||
`pk;help proxy` - Details on message proxying.
|
||||
`pk;help switch` - Details on switch logging.
|
||||
`pk;help mod` - Details on moderator operations.
|
||||
`pk;help import` - Details on data import from other services.""")
|
||||
getting_started = ("Getting started", """To get started using the bot, try running the following commands:
|
||||
all_commands = """
|
||||
**All commands**
|
||||
```
|
||||
pk;system [system]
|
||||
pk;system new [system name
|
||||
pk;system rename [new name]
|
||||
pk;system description [new description]
|
||||
pk;system avatar [new avatar url]
|
||||
pk;system tag [new system tag]
|
||||
pk;system delete
|
||||
pk;system [system] fronter
|
||||
pk;system [system] fronthistory
|
||||
pk;system [system] frontpercent
|
||||
pk;member new <member name>
|
||||
pk;member <member>
|
||||
pk;member <member> rename <new name>
|
||||
pk;member <member> description [new description]
|
||||
pk;member <member> avatar [new avatar url]
|
||||
pk;member <member> proxy [example match]
|
||||
pk;member <member> pronouns [new pronouns]
|
||||
pk;member <member> color [new color]
|
||||
pk;member <member> birthday [new birthday]
|
||||
pk;member <member> delete
|
||||
pk;switch <member> [<other member>...]
|
||||
pk;switch move <time to move>
|
||||
pk;switch out
|
||||
pk;switch delete
|
||||
pk;link <other account>
|
||||
pk;unlink
|
||||
pk;message <message id>
|
||||
pk;log <log channel>
|
||||
pk;invite
|
||||
pk;import
|
||||
pk;export
|
||||
pk;token
|
||||
pk;token refresh
|
||||
```
|
||||
|
||||
**Command notes**
|
||||
Parameters in <angle brackets> are required, [square brackets] are optional .
|
||||
System references can be a system ID, a Discord account ID or a \\@mention.
|
||||
Member references can be a member ID or, for your own system, a member name.
|
||||
Leaving an optional parameter blank will often clear the relevant value.
|
||||
"""
|
||||
|
||||
system_commands = """
|
||||
**System commands**
|
||||
|
||||
```
|
||||
pk;system [system]
|
||||
pk;system new [system name
|
||||
pk;system rename [new name]
|
||||
pk;system description [new description]
|
||||
pk;system avatar [new avatar url]
|
||||
pk;system tag [new system tag]
|
||||
pk;system delete
|
||||
pk;system [system] fronter
|
||||
pk;system [system] fronthistory
|
||||
pk;system [system] frontpercent
|
||||
pk;link <other account>
|
||||
pk;unlink
|
||||
```
|
||||
|
||||
**Command notes**
|
||||
Parameters in <angle brackets> are required, [square brackets] are optional .
|
||||
System references can be a system ID, a Discord account ID or a \\@mention.
|
||||
Leaving an optional parameter blank will often clear the relevant value.
|
||||
"""
|
||||
|
||||
member_commands = """
|
||||
**Member commands**
|
||||
```
|
||||
pk;member new <member name>
|
||||
pk;member <member>
|
||||
pk;member <member> rename <new name>
|
||||
pk;member <member> description [new description]
|
||||
pk;member <member> avatar [new avatar url]
|
||||
pk;member <member> proxy [example match]
|
||||
pk;member <member> pronouns [new pronouns]
|
||||
pk;member <member> color [new color]
|
||||
pk;member <member> birthday [new birthday]
|
||||
pk;member <member> delete
|
||||
pk;switch <member> [<other member>...]
|
||||
pk;switch move <time to move>
|
||||
pk;switch out
|
||||
pk;switch delete
|
||||
```
|
||||
|
||||
**Command notes**
|
||||
Parameters in <angle brackets> are required, [square brackets] are optional .
|
||||
Member references can be a member ID or, for your own system, a member name.
|
||||
Leaving an optional parameter blank will often clear the relevant value.
|
||||
"""
|
||||
|
||||
proxy_guide = """
|
||||
**Proxying**
|
||||
Proxying through PluralKit lets system members have their own faux-account with their name and avatar.
|
||||
You'll type a message from your account in *proxy tags*, and PluralKit will recognize those tags and repost the message with the proper details.
|
||||
|
||||
To set up a member's proxy tag, use the `pk;member <name> proxy [example match]` command.
|
||||
|
||||
You'll need to give the bot an "example match". Imagine you're proxying the word "text", and add that to the end.
|
||||
For example: `pk;member John proxy [text]`. That will set the member John up to use square brackets as proxy tags.
|
||||
Now saying something like `[hello world]` will proxy the text "hello world" with John's name and avatar.
|
||||
You can also use other symbols, letters, numbers, et cetera, as prefixes, suffixes, or both. `J:text`, `$text` and `text]` are also examples of valid example matches.
|
||||
"""
|
||||
|
||||
root = """
|
||||
**PluralKit**
|
||||
PluralKit is a bot designed for plural communities on Discord. It allows you to register systems, maintain system information, set up message proxying, log switches, and more.
|
||||
|
||||
**Getting started**
|
||||
To get started using the bot, try running the following commands.
|
||||
**1**. `pk;system new` - Create a system if you haven't already
|
||||
**2**. `pk;member add John` - Add a new member to your system
|
||||
**3**. `pk;member proxy John [text]` - Set up square brackets as proxy tags
|
||||
**4**. You're done! See the other help pages for more commands.""")
|
||||
discord_link = (
|
||||
"Discord",
|
||||
"""For feedback, bug reports, suggestions, or just chatting, join our Discord: https://discord.gg/PczBt78""")
|
||||
registering_system = ("Registering a new system",
|
||||
"""To use PluralKit, you must register a system for your account. You can use the `pk;system new` command for this. You can optionally add a system name after the command.""")
|
||||
lookup_system = ("Looking up a system", """To look up a system's details, you can use the `pk;system` command.
|
||||
|
||||
For example:
|
||||
`pk;system` - Shows details of your own system.
|
||||
`pk;system abcde` - Shows details of the system with the ID `abcde`.
|
||||
`pk;system @JohnsAccount` - Shows details of the system linked to @JohnsAccount.""")
|
||||
edit_system = ("Editing system properties", """You can use the `pk;system` commands to change your system properties. The properties you can change are name, description, and tag.
|
||||
|
||||
For example:
|
||||
`pk;system name My System` - sets your system name to "My System".
|
||||
`pk;system description A really cool system.` - sets your system description.
|
||||
`pk;system tag [MS]` - Sets the tag (which will be displayed after member names in messages) to "[MS]".
|
||||
`pk;system avatar https://placekitten.com/400/400` - Changes your system's avatar to a linked image.
|
||||
**3**. `pk;member John proxy [text]` - Set up square brackets as proxy tags
|
||||
**4**. You're done!
|
||||
|
||||
If you don't specify any value, the property will be cleared.""")
|
||||
link_account = ("Linking accounts", """If your system has multiple accounts, you can link all of them to your system, and you can use the bot from all of those accounts.
|
||||
|
||||
For example:
|
||||
`pk;system link @MyOtherAccount` - Links @MyOtherAccount to your system.
|
||||
|
||||
You'll need to confirm the link from the other account.""")
|
||||
unlink_accounts = (
|
||||
"Unlinking accounts", """If you need to unlink an account, you can do that with the `pk;system unlink` command.""")
|
||||
add_member = ("Adding a new member", """To add a new member to your system, use the `pk;member new` command. You'll need to add a member name.
|
||||
|
||||
For example:
|
||||
`pk;member new John`""")
|
||||
lookup_member = ("Looking up a member", """To look up a member's details, you can use the `pk;member` command.
|
||||
|
||||
For example:
|
||||
`pk;member John` - Shows details of the member in your system named John.
|
||||
`pk;member abcde` - Shows details of the member with the ID `abcde`.
|
||||
|
||||
You can use member IDs to look up members in other systems.""")
|
||||
edit_member = ("Editing member properties", """You can use the `pk;member` commands to change a member's properties. The properties you can change are name, description, color, pronouns, birthdate and avatar.
|
||||
|
||||
For example:
|
||||
`pk;member rename John Joe` - Changes John's name to Joe.
|
||||
`pk;member description John Pretty cool dude.` - Changes John's description.
|
||||
`pk;member color John #ff0000` - Changes John's color to red.
|
||||
`pk;member pronouns John he/him` - Changes John's pronouns.
|
||||
`pk;member birthdate John 1996-02-27` - Changes John's birthdate to Feb 27, 1996. (Must be YYYY-MM-DD format).
|
||||
`pk;member birthdate John 02-27` - Changes John's birthdate to February 27th, with no year.
|
||||
`pk;member avatar John https://placekitten.com/400/400` - Changes John's avatar to a linked image.
|
||||
`pk;member avatar John @JohnsAccount` - Changes John's avatar to the avatar of the mentioned account.
|
||||
|
||||
If you don't specify any value, the property will be cleared.""")
|
||||
remove_member = ("Removing a member", """If you want to delete a member, you can use the `pk;member delete` command.
|
||||
|
||||
For example:
|
||||
`pk;member delete John`
|
||||
|
||||
You will need to confirm the deletion.""")
|
||||
member_proxy = ("Setting up member proxying", """To register a member for proxying, use the `pk;member proxy` command.
|
||||
|
||||
You will need to pass an "example proxy" message containing "text", surrounded by the brackets or prefixes you want to select.
|
||||
|
||||
For example:
|
||||
`pk;member proxy John [text]` - Registers John to use [square brackets] as proxy brackets.
|
||||
`pk;member proxy John J:text` - Registers John to use the prefix "J:".
|
||||
|
||||
After setting proxy tags, you can use them in any message, and they'll be interpreted by the bot and proxied appropriately.""")
|
||||
system_tag = ("Setting your system tag", """To set your system tag, use the `pk;system tag` command.
|
||||
|
||||
The tag is appended to the name of all proxied messages.
|
||||
|
||||
For example:
|
||||
`pk;system tag [MS]` - Sets your system tag to "[MS]".
|
||||
`pk;system tag :heart:` - Sets your system tag to the heart emoji.
|
||||
|
||||
Note you can only use default Discord emojis, not custom server emojis.""")
|
||||
message_lookup = ("Looking up a message", """You can look up a message by its ID using the `pk;message` command.
|
||||
|
||||
For example:
|
||||
`pk;message 467638937402212352` - Shows information about the message by that ID.
|
||||
|
||||
To get a message ID, turn on Developer Mode in your client's Appearance settings, right click, and press "Copy ID".""")
|
||||
message_delete = ("Deleting messages",
|
||||
"""You can delete your own messages by reacting with the ❌ emoji on it. Note that this only works on messages sent from your account.""")
|
||||
switch_register = ("Registering a switch", """To log a switch in your system, use the `pk;switch` command.
|
||||
|
||||
For example:
|
||||
`pk;switch John` - Registers a switch with John as fronter.
|
||||
`pk;switch John Jill` - Registers a switch John and Jill as co-fronters.""")
|
||||
switch_out = ("Switching out", """You can use the `pk;switch out` command to register a switch with no one in front.""")
|
||||
switch_move = ("Moving a switch", """You can move the latest switch you have registered using the `pk;switch move` command.
|
||||
|
||||
This is useful if you log the switch a while after it happened, and you want to properly backdate it in the history.
|
||||
|
||||
For example:
|
||||
`pk;switch move 10 minutes ago` - Moves the latest switch to 10 minutes ago
|
||||
`pk;switch move 11pm EST` - Moves the latest switch to 11pm EST
|
||||
|
||||
Note that you can't move the switch further back than the second-last logged switch, and you can't move a switch to a time in the future.
|
||||
|
||||
The default time zone for absolute times is UTC, but you can specify other time zones in the command itself, as given in the example.""")
|
||||
front_history = ("Viewing fronting history", """To view front history, you can use the `pk;front` and `pk;front history` commands.
|
||||
|
||||
For example:
|
||||
`pk;front` - Shows the current fronter(s) in your own system.
|
||||
`pk;front abcde` - Shows the current fronter in the system with the ID `abcde`.
|
||||
`pk;front history` - Shows the past 10 switches in your own system.
|
||||
`pk;front history @JohnsAccount` - Shows the past 10 switches in the system linked to @JohnsAccount.""")
|
||||
front_breakdown = ("Viewing a front breakdown", """To see a per-member breakdown of your switches, use the `pk;front percent` command. You can optionally give it a time limit to only count switches after that point.
|
||||
|
||||
For example:
|
||||
`pk;front percent` - Shows a front breakdown for your system since you started logging switches
|
||||
`pk;front percent 1 day` - Shows a front breakdown for your system for the past day
|
||||
`pk;front percent Jan 1st 2018` - Shows a front breakdown for your system since January 1st, 2018
|
||||
|
||||
Note that the percentages don't necessarily add up to 100%, as multiple members can be listed as fronting at a time.""")
|
||||
logging_channel = ("Setting up a logging channel", """To designate a channel for the bot to log posted messages to, use the `pk;log` command.
|
||||
|
||||
For example:
|
||||
`pk;log #message-log` - Configures the bot to log to #message-log.""")
|
||||
tupperware_import = ("Importing from Tupperware", """If you already have a registered system on Tupperware, you can use the `pk;import tupperware` command to import it into PluralKit.
|
||||
|
||||
Note the command only works on a server and channel where the Tupperware bot is already present.""")
|
||||
help_pages = {
|
||||
None: [
|
||||
(None,
|
||||
"""PluralKit is a bot designed for plural communities on Discord. It allows you to register systems, maintain system information, set up message proxying, log switches, and more."""),
|
||||
getting_started,
|
||||
categories,
|
||||
discord_link
|
||||
],
|
||||
"system": [
|
||||
registering_system,
|
||||
lookup_system,
|
||||
edit_system,
|
||||
link_account,
|
||||
unlink_accounts
|
||||
],
|
||||
"member": [
|
||||
add_member,
|
||||
lookup_member,
|
||||
edit_member,
|
||||
remove_member
|
||||
],
|
||||
"proxy": [
|
||||
member_proxy,
|
||||
system_tag,
|
||||
message_lookup,
|
||||
message_delete
|
||||
],
|
||||
"switch": [
|
||||
switch_register,
|
||||
switch_out,
|
||||
switch_move,
|
||||
front_history,
|
||||
front_breakdown
|
||||
],
|
||||
"mod": [
|
||||
(None,
|
||||
"Note that all moderation commands require you to have administrator privileges on the server they're used on."),
|
||||
logging_channel
|
||||
],
|
||||
"import": [
|
||||
tupperware_import
|
||||
]
|
||||
}
|
||||
**More information**
|
||||
For a full list of commands, type `pk;help commands`.
|
||||
For a more in-depth explanation of proxying, type `pk;help proxy`.
|
||||
If you're an existing user of the Tupperware proxy bot, type `pk;import` to import your data from there.
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user