You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
11 KiB
185 lines
11 KiB
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-iYQeCzEYFbKjA/T2uDLTpkwGzCiq6soy8tYaI1GyVh/UjpbCx/TYkiZhlZB6+fzT" crossorigin="anonymous">
|
|
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8" crossorigin="anonymous"></script>
|
|
<title>Discord Prouf</title>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="flex row justify-content-center">
|
|
<div class="col-sm-6">
|
|
<h1 style="text-align: center;" class="pt-3">Выполняй действия по порядку...</h1>
|
|
<h5 style="text-align: center;">steam(1) -> discord(2) -> role(3)</h1>
|
|
<div class="row justify-content-center">
|
|
<div class="col pt-4" id="steam_card" hidden>
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Авторизация в Steam</h5>
|
|
<p class="card-text" id="steam_text">Ты сейчас не авторизован</p>
|
|
<a href="/api/auth/login?authentication_discord=true&?subdomain=tf2" class="btn btn-primary">Войти через стим</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-center">
|
|
<div class="col pt-4" id="discord_card" hidden>
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Авторизация в Discord</h5>
|
|
<p class="card-text" id="discord_text">Ты сейчас не авторизован</p>
|
|
<a href="/api/auth/discord/login" class="btn btn-primary">Войти через дискорд</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-center">
|
|
<div class="col pt-4" id="role_card" hidden>
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Получить роль</h5>
|
|
<p class="card-text" id="role_text">После нажатия, бот тебя к нам пропустит, сиди жди</p>
|
|
<a href="#" class="btn btn-success" onclick="reg_discord()">ЖМИ СКОРЕЕ БРАТ</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-center">
|
|
<div class="col pt-4" id="unreg_card" hidden>
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Отвязать дискорд от стима</h5>
|
|
<p class="card-text" id="unreg_text">К твоему аккаунту ничего не привязано</p>
|
|
<a href="#" class="btn btn-danger" onclick="unreg_discord()">Отвязать</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script async>
|
|
let already_attached_steam = false;
|
|
|
|
async function get_steam_data(){
|
|
var next = false;
|
|
document.getElementById("steam_card").removeAttribute("hidden");
|
|
await fetch("https://tf2.pblr-nyk.pro/api/auth/steam", { credentials: "same-origin", headers: { 'Cache-Control': 'no-cache' } })
|
|
.then(response => response.json())
|
|
.catch(err => {})
|
|
.then(response => {
|
|
document.getElementById("steam_card").getElementsByClassName("card-title")[0].innerHTML = `Привет, ${response['nickname']}`;
|
|
document.getElementById("steam_card").getElementsByClassName("card-text")[0].innerHTML = "Теперь идем к следующему шагу...";
|
|
//document.getElementById("steam_card").getElementsByClassName("btn")[0].setAttribute("hidden", true);
|
|
document.getElementById("steam_card").getElementsByClassName("btn")[0].setAttribute("href", `/api/auth/logout?rnd=${(Math.random() + 1).toString(36)}`);
|
|
document.getElementById("steam_card").getElementsByClassName("btn")[0].innerHTML = "НЕ ХОЧУ";
|
|
document.getElementById("steam_card").getElementsByClassName("btn")[0].classList.remove("btn-primary");
|
|
document.getElementById("steam_card").getElementsByClassName("btn")[0].classList.add("btn-danger");
|
|
console.log(response);
|
|
next = true;
|
|
});
|
|
return next;
|
|
}
|
|
|
|
async function get_discord_data(){
|
|
var next = false;
|
|
await fetch("https://tf2.pblr-nyk.pro/api/auth/steam/discord", { credentials: "same-origin", headers: { 'Cache-Control': 'no-cache' } })
|
|
.catch(err => {
|
|
alert("сервис недоступен в данный момент");
|
|
})
|
|
.then(response => response.text().then(data => ({"status":response.status, "body":data})))
|
|
.then(response => {
|
|
if (response.status === 200) {
|
|
document.getElementById("unreg_card").removeAttribute("hidden");
|
|
document.getElementById("unreg_card").getElementsByClassName("card-text")[0].innerHTML = `К твоему аккаунту привязан дискорд с ИД: ${response.body}<br>Следовательно ты уже можешь зайти на сервер без проблем!`;
|
|
already_attached_steam = true;
|
|
next = false;
|
|
} else {
|
|
document.getElementById("discord_card").removeAttribute("hidden");
|
|
next = true;
|
|
}
|
|
});
|
|
return next;
|
|
}
|
|
|
|
async function unreg_discord(){
|
|
await fetch("https://tf2.pblr-nyk.pro/api/auth/steam/discord", { credentials: "same-origin", headers: { 'Cache-Control': 'no-cache' }, method:"DELETE" })
|
|
.catch(err => {
|
|
alert("у тебя не был привязан аккаунт малой");
|
|
})
|
|
.then(response => {
|
|
if(response.status == 200) {
|
|
alert("аккаунт был отвязан!");
|
|
window.location.reload()
|
|
} else {
|
|
alert("у тебя не был привязан аккаунт малой");
|
|
}
|
|
})
|
|
}
|
|
|
|
async function get_discord_about(){
|
|
await fetch("https://tf2.pblr-nyk.pro/api/auth/discord", { credentials: "same-origin", headers: { 'Cache-Control': 'no-cache' }})
|
|
.then(response => response.json().then(data => ({"status":response.status, "body":data})))
|
|
.then(response => {
|
|
if (response.status == 200) {
|
|
document.getElementById("discord_card").getElementsByClassName("card-title")[0].innerHTML = `Давай, давай, ${response.body.username}`;
|
|
document.getElementById("discord_card").getElementsByClassName("card-text")[0].innerHTML = "Почти все готово, нажми теперь на ПОСЛЕДНИЮ КНОПКУ!!!";
|
|
//document.getElementById("discord_card").getElementsByClassName("btn")[0].setAttribute("hidden", true);
|
|
document.getElementById("discord_card").getElementsByClassName("btn")[0].setAttribute("href", `/api/auth/discord/logout?rnd=${(Math.random() + 1).toString(36)}`);
|
|
document.getElementById("discord_card").getElementsByClassName("btn")[0].innerHTML = "Я ПЕРЕДУМАЛ";
|
|
document.getElementById("discord_card").getElementsByClassName("btn")[0].classList.remove("btn-primary");
|
|
document.getElementById("discord_card").getElementsByClassName("btn")[0].classList.add("btn-danger");
|
|
//
|
|
document.getElementById("role_card").removeAttribute("hidden");
|
|
} else {
|
|
alert("discord сказал что ты пидор");
|
|
window.location.reload();
|
|
}
|
|
})
|
|
}
|
|
|
|
async function reg_discord(){
|
|
await fetch("https://tf2.pblr-nyk.pro/api/auth/discord", { credentials: "same-origin", headers: { 'Cache-Control': 'no-cache' }, method:"POST"})
|
|
.then(response => response.text().then(data => ({"status":response.status, "body":data})))
|
|
.then(response => {
|
|
switch (response.status){
|
|
case 201: {
|
|
alert("аккаунт привязан");
|
|
window.location.replace("https://tf2.pblr-nyk.pro/discord")
|
|
break;
|
|
}
|
|
case 409: {
|
|
alert("увы к твоему стиму уже как-то подвязался другой дискорд аккаунт");
|
|
break;
|
|
}
|
|
case 413: {
|
|
alert("увы к твоему дискорду уже как-то подвязался другой стим аккаунт");
|
|
break;
|
|
}
|
|
default: {
|
|
alert("привязка закончилась с неизвестной ошибкой, иди нахуй...");
|
|
window.location.reload();
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
async function get_all(){
|
|
await get_steam_data().then(value => {
|
|
if(value == true) {
|
|
get_discord_data().then(value => {
|
|
if(value==true){
|
|
get_discord_about();
|
|
}
|
|
});
|
|
} else {
|
|
}
|
|
});
|
|
}
|
|
|
|
//do
|
|
get_all();
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|