64 lines
1.8 KiB
JavaScript
64 lines
1.8 KiB
JavaScript
import { config } from "../config.js";
|
||
import { getJSONData } from "./utilities.js";
|
||
|
||
var currentStatus = [];
|
||
|
||
function checkServersStatus(client) {
|
||
const data = getJSONData("src/static/gameservers-list.json");
|
||
const newStatus = data.servers.map((server) => server.active);
|
||
|
||
if (JSON.stringify(newStatus) === JSON.stringify(currentStatus)) {
|
||
return;
|
||
}
|
||
|
||
updateMessage(client, data);
|
||
currentStatus = newStatus;
|
||
return true;
|
||
}
|
||
|
||
function updateMessage(client, data) {
|
||
var newMessage = `Hello 😺 ! Voila les serveurs de jeux qu'on a chez nous :\n\n`;
|
||
|
||
data.servers.forEach((server) => {
|
||
newMessage =
|
||
newMessage +
|
||
"```ansi\n" +
|
||
`${server.game} : ` +
|
||
`${server.active ? "[2;32mOnline[0m" : "[2;31mOffline[0m"}\n` +
|
||
`${server.address}\n` +
|
||
"```";
|
||
});
|
||
|
||
newMessage =
|
||
newMessage +
|
||
"\nAh d'ailleurs ! Si le serveur est sécurisé, le mot de passe c'est surement **0117**.";
|
||
newMessage =
|
||
newMessage +
|
||
`\nPour mettre en ligne un serveur, faut voir avec <@${config.shinuwaUserId}> , c'est lui qui gère ca !\n`;
|
||
|
||
const channel = client.channels.cache.get(config.textChannelId);
|
||
|
||
channel.messages
|
||
.fetch(config.gameServersMessageId)
|
||
.then((message) => {
|
||
message
|
||
.edit(newMessage)
|
||
.then(
|
||
console.log(
|
||
`[${new Date().toLocaleString()}] showGameServers: Game servers message updated`
|
||
)
|
||
)
|
||
.catch(console.error);
|
||
})
|
||
.catch(console.error);
|
||
}
|
||
|
||
function showGameServers(client) {
|
||
const data = getJSONData("src/static/gameservers-list.json");
|
||
currentStatus = data.servers.map((server) => server.active);
|
||
|
||
updateMessage(client, data);
|
||
setInterval(checkServersStatus, 120000, client);
|
||
}
|
||
|
||
export { showGameServers };
|