diff --git a/README.md b/README.md index 5a0630b..01543e6 100644 --- a/README.md +++ b/README.md @@ -1,97 +1,10 @@ # Skynet Discord Bot -This bots core purpose is to give members roles based on their status on . -It uses an api key provided by wolves to get member lists. +The Skynet bot is designed to manage users on Discord. +It allows users to link their UL Wolves account with Wolves in a GDPR compliant manner. +Skynet (bot) is hosted is hosted by the Computer Society on Skynet (computer cluster). -Users are able to link their wolves account to the bot and that works across discord servers. -For example is a user links on the CompSoc Discord then they will also get their roles (automagically) on Games Dev if they are a member there. +## Documentation +We have split up the documentation into different segments depending on who the user is. -## Setup - Committee -You need admin access to run any of the commands in this section. -Either the server owner or a user with the ``Administrator`` permission. - -### Get the API Key -The ``api_key`` is used by the Bot in order to request information, it will be used later in the process. - -1. Email ``keith@assurememberships.com`` from committee email and say you want an ``api_key`` for ``193.1.99.74`` - * The committee email is the one here: - * This may take up to a week to get the key. - -### Setup Server -The Bot reason for existing is being able to give members Roles. -So we have to create those. - -1. Create a role for Current Members. - * You can call it whatever you want. - * ``member-current`` is a good choice. - * This should be a new role -2. **Optional**: you can create a role that is given to folks who were but no longer a member. - * ``member`` would be a good choice for this - * If you have an existing member role this is also a good fit. - -The reason for both roles is ye have one for active members while the second is for all current and past members. - -### Invite Bot -1. Invite the bot https://discord.com/api/oauth2/authorize?client_id=1145761669256069270&permissions=139855185984&scope=bot -2. Make sure the bot role ``@skynet`` is above these two roles created in the previous step - * This is so it can manage the roles (give and remove them from users) - -### Setup Bot -This is where the bot is configured. -You will need the ``api_key`` from the start of the process. -You (personally) will need a role with ``Administrator`` permission to be able to do this. - -1. Use the command ``/add`` and a list of options will pop up. -2. ``api_key`` is the key you got from Keith earlier. -3. ``role_current`` is the ``member-current`` that you created earlier. -4. ``role_past`` (optional) is the role for all current and past members. -5. ``bot_channel`` is a channel that folks are recommended to use the bot. - * You can have it so folks cannot see message history -6. ``server_name`` For example ``UL Computer Society`` - * Will be removed in the future -7. ``wolves_link`` for example - * Will be removed in the future - -At this point the bot is set up and no further action is required. - -### Minecraft -The bot is able to manage the whitelist of a Minecraft server managed by the Computer Society. -Talk to us to get a server. - -#### Add -This links a minecraft server with your club/society. - -``/minecraft_add SERVER_ID`` - - -#### List -List the servers linked to your club/society. -It is possible to have more than one minecraft server - -``/minecraft_list`` - -#### Delete -This unlinks a minecraft server from your club/society. - -``/minecraft_delete SERVER_ID`` - -## Setup - Users -This is to link your Discord account with your UL Wolves account. -**You will only need to do this once**. - -### Setup -1. In a Discord server with the Skynet Bot enter ``/link_wolves YOUR_WOLVES_CONTACT_EMAIL`` - link process start - * Your ``YOUR_WOLVES_CONTACT_EMAIL`` is the email in the Contact Email here: - * This is most likely your student mail -2. An email will be sent to you with a verification code. - signup email -3. Verify the code using ``/verify CODE_FROM_EMAIL`` in Discord. - verify in discord -4. Once complete your Wolves and Discord accounts will be linked. - -You will get member roles on any Discord that is using the bot that you are a member of. - -### Minecraft -You can link your Minecraft username to grant you access to any Minecraft server run by UL Computer Society. - -``/link_minecraft MINECRAFT_USERNAME`` +* [Committees](./doc/Committee.md) +* [Member](./doc/User.md) \ No newline at end of file diff --git a/doc/Committee.md b/doc/Committee.md new file mode 100644 index 0000000..d53be13 --- /dev/null +++ b/doc/Committee.md @@ -0,0 +1,75 @@ +# Skynet Discord Bot +This bots core purpose is to give members roles based on their status on . +It uses an api key provided by wolves to get member lists. + +Users are able to link their wolves account to the bot and that works across discord servers. +For example is a user links on the CompSoc Discord then they will also get their roles (automagically) on Games Dev if they are a member there. + +## Setup - Committee +You need admin access to run any of the commands in this section. +Either the server owner or a user with the ``Administrator`` permission. + +### Get the API Key +The ``api_key`` is used by the Bot in order to request information, it will be used later in the process. + +1. Email ``keith@assurememberships.com`` from committee email and say you want an ``api_key`` for ``193.1.99.74`` + * The committee email is the one here: + * This may take up to a week to get the key. + +### Setup Server +The Bot reason for existing is being able to give members Roles. +So we have to create those. + +1. Create a role for Current Members. + * You can call it whatever you want. + * ``member-current`` is a good choice. + * This should be a new role +2. **Optional**: you can create a role that is given to folks who were but no longer a member. + * ``member`` would be a good choice for this + * If you have an existing member role this is also a good fit. + +The reason for both roles is ye have one for active members while the second is for all current and past members. + +### Invite Bot +1. Invite the bot https://discord.com/api/oauth2/authorize?client_id=1145761669256069270&permissions=139855185984&scope=bot +2. Make sure the bot role ``@skynet`` is above these two roles created in the previous step + * This is so it can manage the roles (give and remove them from users) + +### Setup Bot +This is where the bot is configured. +You will need the ``api_key`` from the start of the process. +You (personally) will need a role with ``Administrator`` permission to be able to do this. + +1. Use the command ``/add`` and a list of options will pop up. +2. ``api_key`` is the key you got from Keith earlier. +3. ``role_current`` is the ``member-current`` that you created earlier. +4. ``role_past`` (optional) is the role for all current and past members. +5. ``bot_channel`` is a channel that folks are recommended to use the bot. + * You can have it so folks cannot see message history +6. ``server_name`` For example ``UL Computer Society`` + * Will be removed in the future +7. ``wolves_link`` for example + * Will be removed in the future + +At this point the bot is set up and no further action is required. + +### Minecraft +The bot is able to manage the whitelist of a Minecraft server managed by the Computer Society. +Talk to us to get a server. + +#### Add +This links a minecraft server with your club/society. + +``/minecraft_add SERVER_ID`` + + +#### List +List the servers linked to your club/society. +It is possible to have more than one minecraft server + +``/minecraft_list`` + +#### Delete +This unlinks a minecraft server from your club/society. + +``/minecraft_delete SERVER_ID`` diff --git a/doc/User.md b/doc/User.md new file mode 100644 index 0000000..fec6abe --- /dev/null +++ b/doc/User.md @@ -0,0 +1,26 @@ +# Skynet Discord Bot +The Skynet bot is designed to make it easy to verify that you are a member of a Club/Society. +The bot will be able to give you member roles for any partnered servers. +It also provides secondary manifests such as granting access to minecraft servers managed by teh Computer Society. + +## Setup +This is to link your Discord account with your UL Wolves account. +**You will only need to do this once**. + +### Setup +1. In a Discord server with the Skynet Bot enter ``/link_wolves YOUR_WOLVES_CONTACT_EMAIL`` + link process start + * Your ``YOUR_WOLVES_CONTACT_EMAIL`` is the email in the Contact Email here: + * This is most likely your student mail +2. An email will be sent to you with a verification code. + signup email +3. Verify the code using ``/verify CODE_FROM_EMAIL`` in Discord. + verify in discord +4. Once complete your Wolves and Discord accounts will be linked. + +You will get member roles on any Discord that is using the bot that you are a member of. + +### Minecraft +You can link your Minecraft username to grant you access to any Minecraft server run by UL Computer Society. + +``/link_minecraft MINECRAFT_USERNAME``