No description
Find a file
Brendan Golden 68d7b53905
All checks were successful
On_Push / lint_fmt (push) Successful in 9s
On_Push / lint_clippy (push) Successful in 3m28s
On_Push / build (push) Successful in 8m7s
On_Push / deploy (push) Successful in 12s
dbg: excessive logging - moar
2024-11-25 18:07:20 +00:00
.forgejo/workflows ci: use the nix compatable version 2024-11-23 22:27:20 +00:00
db/migrations feat: new table for the role adder 2024-09-29 21:25:58 +01:00
media doc: added images to suer signup 2024-11-23 00:25:51 +00:00
src fix: pretty solid chance that this was due to using teh wrong base url 2024-11-24 00:14:42 +00:00
.gitattributes git: finally added a gitattributes 2024-11-23 00:24:48 +00:00
.gitignore git: greater coverage in the git-ignore 2024-09-29 20:04:08 +01:00
.rustfmt.toml feat: fmt and clippy 2023-08-27 17:38:30 +01:00
Cargo.lock dbg: excessive logging - moar 2024-11-25 18:07:20 +00:00
Cargo.toml feat: backport changes from the #17-automate-onboarding-mk-ii branch 2024-11-23 22:17:57 +00:00
example.env feat: bump up rust version and a big cleanup 2024-09-17 00:21:07 +01:00
flake.lock ci: improvements in scripting and testing 2024-08-10 03:12:09 +01:00
flake.nix test: switch from using HOME to DATABASE_HOME 2024-09-17 23:20:31 +01:00
LICENSE feat: add license 2024-09-23 20:07:44 +00:00
README.md doc: feedback 2024-11-23 00:26:00 +00:00
rust-toolchain.toml Merge branch 'main' of https://forgejo.skynet.ie/Skynet/discord-bot into new-member-message 2024-09-17 08:24:27 +01:00

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.

  1. Email keith@assurememberships.com from committee email and say you want an api_key for 193.1.99.74

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 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

  1. In a Discord server with the Skynet Bot enter /link_wolves YOUR_WOLVES_CONTACT_EMAIL
    link process start
  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