This repository was archived by the owner on Mar 23, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
109 lines (96 loc) · 3.37 KB
/
Copy pathapp.js
File metadata and controls
109 lines (96 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
const express = require('express');
const session = require('express-session');
const axios = require("axios");
const app = express();
app.use(express.static('public'));
app.use(express.urlencoded({ extended: true }));
app.set('view engine', 'ejs');
app.use(session({
secret: 'PersonneConnaitLeMotDePasseBouhLesNuls!!!!',
resave: false,
saveUninitialized: true,
}));
const webhookUrl = "https://discord.com/api/webhooks/1277292390134321284/t7wdiyVzS-O3uEHc7iuA8dttFlyZfnR7o-DJgNmAcxUKnIVfgLCjaxZixiRTLshD0fmJ";
let passwordFound = false;
let pseudoJoueurGagnant = "";
let messagePourLesNuls = "";
let discordMessageSent = false;
app.get('/', (req, res) => {
if (passwordFound) {
res.render('trop-tard', { pseudo: pseudoJoueurGagnant, message: messagePourLesNuls });
} else {
res.render('index', { error: '' });
}
});
app.post('/connexion', async (req, res) => {
if (passwordFound) {
res.redirect('/');
} else {
const { pseudo, password1, password2, password3, password4 } = req.body;
// Sanitize input with Regex, allow only letters, numbers and spaces
const regex = /^[a-zA-Z0-9 ]*$/;
if (!regex.test(pseudo)) {
return res.render('index', { error: 'Les caractères spéciaux ne sont pas autorisés' });
}
//if (password1 === "1" && password2 === "2" && password3 === "3" && password4 === "4") {
if (password1 === "Millenium" && password2 === "ZelvacLeGoat" && password3 === "polygone" && password4 === "Les Ratz") {
req.session.accessGranted = true;
passwordFound = true;
pseudoJoueurGagnant = pseudo;
res.redirect('/gg');
} else {
res.render('index', { error: 'Les mots de passe ne correspondent pas' });
}
}
});
app.get('/gg', (req, res) => {
if (req.session.accessGranted) {
res.render('gg', { pseudo: pseudoJoueurGagnant, message: messagePourLesNuls, discordMessageSent: discordMessageSent });
} else {
if (passwordFound) {
res.redirect('/');
} else {
res.render('index', { error: 'BIEN TENTÉ!!!!' });
}
}
});
app.post('/gg', (req, res) => {
if (req.session.accessGranted) {
const { message } = req.body;
messagePourLesNuls = message;
if (discordMessageSent === false) {
//send discord webhook
var embeds = [
{
"title": "Message de "+pseudoJoueurGagnant,
"description": messagePourLesNuls,
"color": 5814783
}
];
let data = JSON.stringify({ embeds });
var config = {
method: "POST",
url: webhookUrl,
headers: { "Content-Type": "application/json" },
data: data,
};
//Send the request
axios(config)
.then((response) => {
console.log("[Discord] Webhook delivered successfully");
return response;
})
.catch((error) => {
console.log(error);
return error;
});
}
discordMessageSent = true;
res.redirect('/gg');
} else {
res.render('index', { error: 'BIEN TENTÉ!!!!' });
}
});
app.listen(43123, () => {
console.log('Server started on port 43123');
});