palico-bot/src/features/showGameServers.js
2026-06-28 22:44:04 +02:00

64 lines
1.8 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 ? "Online" : "Offline"}\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 };