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
This commit is contained in:
BeeFox-sys 2020-02-10 00:17:26 +11:00 committed by GitHub
parent f618bc2403
commit 9e47f98a23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 153 additions and 3 deletions

View File

@ -14,7 +14,7 @@ namespace PluralKit.Bot.Commands
.WithDescription("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.")
.AddField("What is this for? What are systems?", "This bot detects messages with certain tags associated with a profile, then replaces that message under a \"pseudo-account\" of that profile using webhooks. This is useful for multiple people sharing one body (aka \"systems\"), people who wish to roleplay as different characters without having several accounts, or anyone else who may want to post messages as a different person from the same account.")
.AddField("Why are people's names saying [BOT] next to them?", "These people are not actually bots, this is just a Discord limitation. See [the documentation](https://pluralkit.me/guide#proxying) for an in-depth explanation.")
.AddField("How do I get started?", "To get started using PluralKit, try running the following commands (of course replacing the relevant names with your own):\n**1**. `pk;system new` - Create a system (if you haven't already)\n**2**. `pk;member add John` - Add a new member to your system\n**3**. `pk;member John proxy [text]` - Set up [square brackets] as proxy tags\n**4**. You're done! You can now type [a message in brackets] and it'll be proxied appropriately.\n**5**. Optionally, you may set an avatar from the URL of an image with `pk;member John avatar [link to image]`, or from a file by typing `pk;member John avatar` and sending the message with an attached image.\n\nSee [the documentation](https://pluralkit.me/guide#member-management) for more information.")
.AddField("How do I get started?", "To get started with PluralKit, check out the [getting started page on the pluralkit website](https://pluralkit.me/start)!")
.AddField("Useful tips", $"React with {Emojis.Error} on a proxied message to delete it (only if you sent it!)\nReact with {Emojis.RedQuestion} on a proxied message to look up information about it (like who sent it)\nReact with {Emojis.Bell} on a proxied message to \"ping\" the sender\nType **`pk;invite`** to get a link to invite this bot to your own server!")
.AddField("More information", "For a full list of commands, see [the command list](https://pluralkit.me/commands).\nFor a more in-depth explanation of message proxying, see [the documentation](https://pluralkit.me/guide#proxying).\nIf you're an existing user of Tupperbox, type `pk;import` and attach a Tupperbox export file (from `tul!export`) to import your data from there.")
.AddField("Support server", "We also have a Discord server for support, discussion, suggestions, announcements, etc: https://discord.gg/PczBt78")

View File

@ -41,7 +41,7 @@ namespace PluralKit.Bot.Commands
memberCount++;
// Send confirmation and space hint
await ctx.Reply($"{Emojis.Success} Member \"{memberName.SanitizeMentions()}\" (`{member.Hid}`) registered! See the user guide for commands for editing this member: https://pluralkit.me/guide#member-management");
await ctx.Reply($"{Emojis.Success} Member \"{memberName.SanitizeMentions()}\" (`{member.Hid}`) registered! Check out the getting started page for how to get a member up and running: https://pluralkit.me/start#members");
if (memberName.Contains(" "))
await ctx.Reply($"{Emojis.Note} Note that this member's name contains spaces. You will need to surround it with \"double quotes\" when using commands referring to it, or just use the member's 5-character ID (which is `{member.Hid}`).");
if (memberCount >= Limits.MaxMemberCount)

View File

@ -35,7 +35,7 @@ namespace PluralKit.Bot.Commands
var system = await _data.CreateSystem(ctx.RemainderOrNull());
await _data.AddAccount(system, ctx.Author.Id);
await ctx.Reply($"{Emojis.Success} Your system has been created. Type `pk;system` to view it, and type `pk;help` for more information about commands you can use now.");
await ctx.Reply($"{Emojis.Success} Your system has been created. Type `pk;system` to view it, and type `pk;help` for more information about commands you can use now. Now that you have that set up, check out [the getting started guide on setting up members and proxies](https://pluralkit.me/start)!");
}
}
}

144
docs/1-getting-started.md Normal file
View File

@ -0,0 +1,144 @@
---
layout: default
title: Getting Started
permalink: /start
description: A basic tutorial of how to set up the bot.
nav_order: 1
---
# Getting Started
{: .no_toc }
## Table of Contents
{: .no_toc .text-delta }
1. TOC
{:toc}
## The System
The first thing you need to do to use PluralKit is to set up a system! Here is an example system, you can see this by running `pk;system exmpl` on discord!
![Example of a filled out system card]({% link /assets/ExampleSystem.png %})
### Parts to the system
These are the parts of the system, reading the card top to bottom left to right like a book
1. System Name: The system name is at the top of the system card. On the example system it is **PluralKit Example System**
2. Avatar: This is the system avatar, it is an image that you can put on the system card
3. Fronters: This is who is currently fronting in the system. [It is toggleable](% link /guide#system-privacy%)
4. Tag: This is the system tag, it will be placed after the name of members on proxied messages
5. Members: This is a member count, you can use `pk;system list` to see a list of them
6. Description: This is the system description, it is just whatever you wish to put on your system card
7. System ID: This is the ID of the system
8. Created On: This is the time and date the system was created on
### Creating a system
You need a system to start creating members, but luckily this is relatively simple! All you need to do is run `pk;system new [name]`. So if you wanted your system to be named "Boxes of Foxes" you would run the command `pk;system new Boxes of Foxes`! Super simple!
If you want to do more with the system, [click here](% link /guide#system-management %)! This page is just a simple setup guide
----
## Members
Once you have created a system, the next thing you need to get started is to create a member! Here is an example of a full member card:
![Example of a filled out member card]({% link /assets/ExampleMember.png%})
### Parts to a member
These are the parts of a member, reading the card top to bottom left to right like a book
1. Name and system: This is the name of the member, in this case Myriad, and the system they are part of in brackets, in this case the PluralKit example system
2. Avatar: This is what image is used for proxy messages from this member
3. Display name: This is shown in proxy messages on all servers in place of their name if it is set
4. Server nickname: This is like display name, but it is only for the server it is set on
5. Birthdate: This is just simply the members birthday, it can be with or without the year
6. Pronouns: This is the members pronouns
7. Message count: This is the total number of messages this member has ever sent through proxies
8. Proxy tags: This is a list of the members proxy tags. we will go more in depth into them in a bit
9. Colour: This is the member's colour, it effects the sidebar of the card on the left. **It does not effect the proxy colour**
10. Description: This is the member description, same as the system description you can put anything you'd like here
11. System ID: This is the ID of the system this member is part of, in this case it is the ID for the PluralKit Example System
12. Member ID: This is the ID for the member
13. Creation on: This is the date and time the member was created
### Creating a member
This is just as easy as creating a system, but there are a few more things you will want to do immediately after! First you run `pk;member new [name]`, so if you want to create a member named Myriad, you would run `pk;member new Myriad`.
Next, for proxying later, you will want to set an avatar for your new member! This is done simply by using `pk;member [member] avatar [link to avatar]`. For example,
```
pk;member Myriad avatar {{ site.url }}{% link /assets/myriad.png%}
```
For more info on what you can do with members check out [the member management section](/guide#member-management)
----
## Proxies
Proxies are probably the most important part of PluralKit, they are literally what the bot was made for.
![Example of a proxy message]({% link /assets/ExampleProxy.png %}w)
### Parts to a proxy message
1. The Name: This is the members name, display name, or server nickname, depending on the highest priority (Server nickname is higher then display name which is higher then name)
2. The tag: If a system tag is set, that is what will appear right after the name
3. The Bot Badge: All proxies have this due to how the proxy service works
3. The message: What you intended to send
### Parts to a proxy tag
A proxy tag is what tells PluralKit how to know to proxy a member. It looks like this:
```
pretextpost
```
and has 3 parts.
1. Prefix: In this case, `pre`. This tells PluralKit what to look for at the **start** of the message
2. Separator: This is always the word `text`. It tells PluralKit where the prefix ends and the suffix
3. Suffix: In this case, `post`. This tells PluralKit to what to look for at the **end** of a message
In this example, typing a message such as
```
pre This is an example message post
```
would result in the message being proxied
### Setting a proxy tag
To set a proxy tag you need to know 3 things. The member you wish to set the tags for, the prefix for the tag, and the suffix for the tag.
Once you know these things you can run the command:
```
pk;member [member] proxy [prefix]text[suffix]
```
For example, if you want messages starting with `{` and ending with `}` to be proxied by Myriad, you could run
```
pk;member Myriad proxy {text}
```
Now when you type a message such as `{this is an example message}` it will be proxied by Myriad
You do not need both to set it. If you do not set a prefix or a suffix, it will not care what is at the start or end of the message respectively. For more examples [click here](#more-examples)
For a more detailed guide on proxying have a look at the [proxying section](/guide#proxying)
### Reactions
When you come across a proxied message, or you have proxied a message, there are a few handy reactions you can add to the message for some more functionality!
❌: This reaction will cause the message to be deleted but only if you are using the account that sent the message
❓: This reaction will DM you a message containing details on who sent the message, the member that it proxied, and the system it was from. When you react with this you will receive a DM that looks like this:
![Example of a message query]({% link /assets/ExampleQuery.png %})
❗: This reaction will send a message to the chat the proxied message was sent in, pinging both you and the sender of the message. That message will look like this:
![Example of a message query]({% link /assets/ExamplePing.png %})
### More examples
How to read these examples: The smaller code block with "Example Message" in it is the message you would like to proxy, the larger code block immediately after it is the command you would need to set the member Myriad to respond to that proxy
`Example message - Myriad`
```
pk;member Myriad proxy text- Myriad
```
`M. Example message`
```
pk;member Myriad proxy M.text
```
`🎩Example message`
```
pk;member Myriad proxy 🎩text
```
*Note: Custom emojis do work but look a bit weird in the text form*
`-- Example message --`
```
pk;member Myriad proxy -- text --
```
*Note: Having a space between the prefix/suffix and `text` will mean that the space is required. In this example `--Example message--` will not proxy*

View File

@ -3,6 +3,7 @@ layout: default
title: User Guide
permalink: /guide
description: PluralKit's user guide contains a walkthrough of the bot's features, as well as how to use them.
nav_order: 2
---
# User Guide

View File

@ -3,6 +3,7 @@ layout: default
title: Command List
permalink: /commands
description: The full list of all commands in PluralKit, and a short description of what they do.
nav_order: 3
---
# How to read this

View File

@ -3,6 +3,7 @@ layout: default
title: API documentation
permalink: /api
description: PluralKit's API documentation.
nav_order: 4
---
# API documentation

View File

@ -3,6 +3,7 @@ layout: default
title: Privacy Policy
permalink: /privacy
description: I'm not a lawyer. I don't want to write a 50 page document no one wants to (or can) read. It's short, I promise.
nav_order: 5
---
# Privacy Policy

View File

@ -3,6 +3,7 @@ layout: default
title: FAQ
permalink: /faq
description: Frequently asked questions (and the answers to them).
nav_order: 6
---
# Frequently asked questions

View File

@ -2,6 +2,7 @@
layout: default
title: Tips and Tricks
permalink: /tips
nav_order: 7
---
# Tips and Tricks

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

BIN
docs/assets/ExamplePing.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB