mirror of
https://github.com/Expand-sys/mc-server-monitor
synced 2025-12-16 17:12:14 +11:00
59 lines
2.2 KiB
TypeScript
59 lines
2.2 KiB
TypeScript
console.log("starting monitor - use nohup to daemonize");
|
|
const got = require("got");
|
|
const Gamedig = require('gamedig');
|
|
|
|
let serverstatus = 0
|
|
runevery15seconds(1)
|
|
function runevery15seconds(i) {
|
|
setTimeout(() => {
|
|
Gamedig.query({
|
|
type: 'minecraft',
|
|
host: 'mc.emre-personal.net',
|
|
port: 25565,
|
|
debug: true,
|
|
socketTimeout: 3000
|
|
}).then((state) => {
|
|
console.log(state);
|
|
if(serverstatus == 0){
|
|
var params = {
|
|
username: "MC-monitor",
|
|
avatar_url: "https://i.kym-cdn.com/photos/images/newsfeed/001/338/171/d12.jpg",
|
|
content: "Server is back online",
|
|
}
|
|
|
|
fetch('https://discord.com/api/webhooks/1155727545724047400/IvcXVXZNpX10fwHhPaIZQ6OYl5XJ2f0iFoBhrYnKtGYHWR2_SMHruXyhcIZR8IsY8P8V', {
|
|
"method":"POST",
|
|
"headers": {"Content-Type": "application/json"},
|
|
"body": JSON.stringify(params)
|
|
})
|
|
.then(res=> console.log(res))
|
|
.catch(err => console.error(err));
|
|
}
|
|
serverstatus = 1
|
|
|
|
}).catch((error: any) => {
|
|
console.log("Server is offline");
|
|
console.log(error)
|
|
if( serverstatus == 1){
|
|
var params = {
|
|
username: "MC-monitor",
|
|
avatar_url: "https://i.kym-cdn.com/photos/images/newsfeed/001/338/171/d12.jpg",
|
|
content: "Server is Offline <@247288496442703872>",
|
|
}
|
|
console.log(error)
|
|
fetch('https://discord.com/api/webhooks/1155727545724047400/IvcXVXZNpX10fwHhPaIZQ6OYl5XJ2f0iFoBhrYnKtGYHWR2_SMHruXyhcIZR8IsY8P8V', {
|
|
"method":"POST",
|
|
"headers": {"Content-Type": "application/json"},
|
|
"body": JSON.stringify(params)
|
|
})
|
|
.then(res=> console.log(res))
|
|
.catch(err => console.error(err));
|
|
}
|
|
serverstatus = 0
|
|
|
|
|
|
});
|
|
runevery15seconds(++i);
|
|
}, 5000)
|
|
}
|
|
|