The backend server for the CS:GO hub Discord bot
Go to file
Jesper Bak Handskemager d388520672
Update README.md
2023-05-13 01:04:12 +02:00
assets Remove anchor link 2022-09-21 18:02:22 +02:00
sites Remove anchor link 2022-09-21 18:02:22 +02:00
.gitignore Initial commit 2022-09-16 14:54:23 +02:00
config.yaml Add discord token field 2022-09-17 21:20:27 +02:00
go.mod Initialize project 2022-09-16 15:43:30 +02:00
go.sum Initialize project 2022-09-16 15:43:30 +02:00
LICENSE Initial commit 2022-09-16 14:54:23 +02:00
link-account.png Screenshot 2023-05-12 22:55:10 +00:00
main.go hotfix/Whops discord id's can be larger than 18 chars 2022-09-21 22:34:03 +02:00
README.md Update README.md 2023-05-13 01:04:12 +02:00
steam.go Much better success page along with better project structure 2022-09-20 01:14:56 +02:00

CS:GO Hub backend

About

This is the backend for the CS:GO Hub bot, it works by collecting the Discord users Id upon request to link the account, the bot will respond with a custom link for the user where they will be able to link their steam by account by using Steam's OpenID system to gather their Steam ID and then converting it to the corresponding CS:GO friend code. It functions with the CS:GO Hub Discord bot.

A user can request to link their account with the bot by issuing the /link-steam command in any server in which the bot is present or by executing the command in a direct message to the bot. The bot the bot will send the Discord Id of the user along to the backend which will respond with a custom link containing a token to identify the user.

Once an account is linked, anyone in the same voice channel as them can issue the /show-team command and be presented with their CS:GO friend code along with any other accounts linked in the same VC assuning they ran the command in the same server as the voice call is in.

Database

You need the following tables in MySQL

CREATE TABLE
  `tokens` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `discord_id` varchar(21) COLLATE utf8mb4_unicode_ci NOT NULL,
    `token` varchar(8) COLLATE utf8mb4_unicode_ci NOT NULL,
    PRIMARY KEY (`id`)
  ) ENGINE = InnoDB AUTO_INCREMENT = 17 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
CREATE TABLE
  `users` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
    `discord_id` varchar(21) COLLATE utf8mb4_unicode_ci NOT NULL,
    `friend_code` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT 'NULL',
    PRIMARY KEY (`id`)
  ) ENGINE = InnoDB AUTO_INCREMENT = 6 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci

Screenshots

The website where a user can link their account