phoenixxxx

SCP SL Player Count Bot

Feb 6th, 2022
1,793
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require("discord.js")
  2. const fetch = require("node-fetch")
  3.  
  4. const serversJson = require("./servers.json")
  5.  
  6. var servers = []
  7. var bufferTime = 0
  8.  
  9. for (let server of serversJson) {
  10.     server.client = new Discord.Client()
  11.     servers.push(server)
  12. }
  13.  
  14.  
  15. for (let server of servers) { // for each configured server
  16.     server.client.on("ready", () => { // when the discord bot is ready
  17.         console.log(`${server.client.user.tag} listening`)
  18.  
  19.         setInterval(() => { // Main server status loop
  20.             fetch(`https://api.scpslgame.com/serverinfo.php?key=${server.apiToken}&id=${server.serverID}&players=true`).then((res) => {
  21.                 if (!res.ok) { // catch
  22.                     return console.error(res)
  23.                 }
  24.  
  25.                 res.json().then((data) => {
  26.                     if (!data.Success) { // catch
  27.                         return console.error(data)
  28.                     }
  29.  
  30.                     for (let responseServer of data.Servers) {
  31.                         if (responseServer.Port === server.port) {
  32.                             server.client.user.setActivity(responseServer.Players) // set status to player count ("xx/xx")
  33.                         }
  34.                     }
  35.                 })
  36.             })
  37.         }, 60000 + bufferTime)
  38.         bufferTime += 10 * 1000 // Extra 10 seconds for the next server
  39.     })
  40.  
  41.     server.client.login(server.token)  
  42. }
Advertisement
Add Comment
Please, Sign In to add comment