-
Notifications
You must be signed in to change notification settings - Fork 4
/
status.js
32 lines (28 loc) · 1.3 KB
/
status.js
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
const axios = require('axios');
const { ActivityType } = require('discord.js');
const serverInfoUrl = `http://${process.env.serverIP}:${process.env.serverPort}/dynamic.json`;
module.exports = {
updatePlayerCount: (client, seconds) => {
let playerCount
setInterval(function setStatus() {
axios.get(serverInfoUrl)
.then((response) => {
if (response.status === 200) {
const serverInfo = response.data;
if (serverInfo.clients !== undefined) {
playerCount = `${serverInfo.clients}/${serverInfo.sv_maxclients} Players`;
client.user.setActivity(`${playerCount}`, { type: ActivityType.Watching });
} else {
console.error('Player count not found in server info.');
}
} else {
console.error('Failed to retrieve server information. Status code:', response.status);
}
})
.catch((error) => {
console.error('Error fetching server information:', error.message);
});
return setStatus;
}(), seconds * 1000)
}
}