.forgejo/workflows | ||
db/migrations | ||
media | ||
src | ||
.gitignore | ||
.rustfmt.toml | ||
Cargo.lock | ||
Cargo.toml | ||
example.env | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.md | ||
rust-toolchain.toml |
Skynet Discord Bot
This bots core purpose is to give members roles based on their status on https://ulwolves.ie.
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.
- Email
keith@assurememberships.com
from committee email and say you want anapi_key
for193.1.99.74
- The committee email is the one here: https://cp.ulwolves.ie/mailbox/
- 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.
- 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
- 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
- Invite the bot https://discord.com/api/oauth2/authorize?client_id=1145761669256069270&permissions=139855185984&scope=bot
- 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.
- Use the command
/add
and a list of options will pop up. api_key
is the key you got from Keith earlier.role_current
is themember-current
that you created earlier.role_past
(optional) is the role for all current and past members.bot_channel
is a channel that folks are recommended to use the bot.- You can have it so folks cannot see message history
server_name
For exampleUL Computer Society
- Will be removed in the future
wolves_link
for example https://ulwolves.ie/society/computer- 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
- In a Discord server with the Skynet Bot enter
/link_wolves YOUR_WOLVES_CONTACT_EMAIL
- Your
YOUR_WOLVES_CONTACT_EMAIL
is the email in the Contact Email here: https://ulwolves.ie/memberships/profile - This is most likely your student mail
- Your
- An email will be sent to you with a verification code.
- Verify the code using
/verify CODE_FROM_EMAIL
in Discord.
- 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