minestatsping/ping.py

48 lines
944 B
Python
Raw Normal View History

2023-01-14 21:27:52 +00:00
from mctools import PINGClient
2023-01-20 16:32:30 +00:00
ping = PINGClient('play.dmcraft.online')
2023-01-14 21:27:52 +00:00
#stats = ping.get_stats()
#Work with JSON
import json
def read():
global db
with open('db.json', 'r') as openfile:
db = json.load(openfile)
def write():
global db
js = json.dumps(db, indent=4)
with open("db.json", "w") as outfile:
outfile.write(js)
#My libraries
from time import sleep
#Read
read()
2023-01-20 16:20:12 +00:00
needsleep = 0
2023-01-14 21:27:52 +00:00
while True:
2023-01-20 16:20:12 +00:00
if needsleep == 30:
needsleep = 0
sleep(30)
else:
sleep(1)
needsleep += 1
2023-01-14 21:27:52 +00:00
2023-01-20 16:32:30 +00:00
try:
# if True:
stats = ping.get_stats()
if stats['players']['online'] != 0:
for i in stats['players']['sample']:
#Add in db if not in db
if i[0] not in db:
db[i[0]] = 1
write()
else:
db[i[0]] = db[i[0]] + 1
write()
2023-01-14 21:27:52 +00:00
2023-01-20 16:32:30 +00:00
except Exception as e:
2023-01-20 17:27:29 +00:00
print(e)
2023-01-20 16:20:12 +00:00