Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- try:
- import requests
- import json
- import os
- except ImportError:
- exit('''PLEASE INSTALL THE FOLLOWING REQUIRED LIBRARIES VIA PIP INSTALLER:
- - requests
- - json
- - os
- ''')
- class meedata():
- def __init__(self,serverID,page,limit):
- #Checking ServerID
- if isinstance(serverID,str):
- raise ValueError("A server ID can only be a number")
- if isinstance(serverID,int):
- x = str(serverID)
- x = list(x)
- if len(x) > 18 or len(x) < 18:
- raise SyntaxError("Server Ids must be 18 characters long!")
- if len(x) == 18:
- y = requests.get(f"https://mee6.xyz/api/plugins/levels/leaderboard/{serverID}?page=0&limit=100")
- errortest = y.json()
- t = errortest.get("error")
- if t != None:
- raise LookupError("Error. ServerID not found. Make sure you are typing everything in correctly!")
- else:
- self.serverID = serverID
- #Checking page
- if isinstance(page,str):
- raise ValueError("A page can only be a number")
- if isinstance(page,int):
- if page < 0:
- raise TypeError("Page numbers cannot go lower than 0!")
- else:
- self.page = page
- #Checking limit
- if isinstance(limit,str):
- raise ValueError("Limit can only be a number")
- if isinstance(limit,int):
- if limit <= 0 or limit >= 1000:
- raise OverflowError("limits can go from 1-999 only!")
- else:
- self.limit = limit
- def getdata(self):
- req = requests.get(f"https://mee6.xyz/api/plugins/levels/leaderboard/{self.serverID}?page={self.page}&limit={self.limit}")
- return req.json()
- def storedata(self,filename):
- req = requests.get(f"https://mee6.xyz/api/plugins/levels/leaderboard/{self.serverID}?page={self.page}&limit={self.limit}")
- with open(f'{filename}.json','w') as outfile:
- json.dump(req.json(),outfile,indent=2)
- return outfile
- def specifyrankbyid(self,filename):
- data = self.getdata()
- myDict = {}
- final = []
- for i in range(len(data["players"])):
- info = f'{data["players"][i]["id"]}:{data["players"][i]["level"]}'
- final.append(info)
- if not os.path.isfile(f"{filename}.json"):
- if len(final) == 0:
- return False
- for i in final:
- thelist = i.split(":")
- myDict[thelist[0]] = thelist[1].replace("\n", "")
- with open(f'{filename}.json', 'a') as outfile:
- json.dump(myDict,outfile,indent=2)
- return outfile
- else:
- with open(f'{filename}.json', 'r') as json_file:
- x = json.load(json_file)
- if len(x) == 0:
- return False
- for i in final:
- t = i.split(":")
- #if not t[0] in x:
- x[t[0]] = t[1]
- with open(f"{filename}.json", "w") as outfile:
- json.dump(x, outfile, indent=2)
- return json_file
- def __repr__(self):
- return('''
- HELP:
- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- meedata(serverID,page,limit) -> Grabs specified servers json levels database
- meedata().getdata() -> Returns JSON in form of dictionary
- meedata().storedata(filename) -> Stores entire json data to a specified file (File ends with .json). File extensions are not required to be inputted in argument
- meedata().specifyrankbyid(filename) -> Stores user ID and Level only to a specified file (File ends with .json). File extensions are not required to be inputted in argument
- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- MADE BY ATOMIZATION#7090
- ''')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement