A public leaderboard for ScoreSpace Jams
First you need to have installed requests library.
if you dont have installed requests use command in command prompt: python3 -m pip install requests
if you have everything installed you can copy the commented code below!
Note that this is code for python 3.x.x !
import json, requests
def createGame(game: str) -> None:
"""
Will create a game if a game by that name has not already been created
game is the name of your game
syntax: `createGame(GameName)`
returns: `None`
"""
try:
r = requests.post(
"http://galfar.dyndns.org:25577/reggame/?game={game}".format(game=game)
)
except Exception as e:
# Something went wrong!
print("Something went wrong! error: " + str(e))
def createUser(game: str,user: str, args: dict) -> str:
"""
Will create a user if a user by that name has not already been created on that game
info:
game is the name of your game
user is the user that you're trying to set
args is the default values for ex. Highscore so {"Highscore": 999}
will return the secret for the created user if it succeded
will return "ERR" if it cannot connect to the api
if the user has already been created it will not return the secret key and instead it will return "already in the system! forgot secret? contact: galfar#1954"
syntax: `createUser(GameName, Username, Args)`
returns: `str`
"""
try:
r = requests.post(
"http://galfar.dyndns.org:25577/register/?game={game}&username={username}&args={args}".format(game=game,username=user,args=json.dumps(args))
)
return r.text
except Exception as e:
# Something went wrong!
print("Something went wrong! error: " + str(e))
return "ERR"
def setHighScore(game: str, user: str, secret: str, data: dict) -> None:
"""
Sets a highscore of a game and user and secret
info:
game is the name of your game
user is the user that you're trying to set
secret is the secret that is generated when you create a user the secret key ONLY works with the user it was created with
data is the updated highscores you want to upload to the api
syntax: `setHighScore(GameName, Username, Secret, Data)`
returns: `None`
"""
try:
# formating the dict to json
data = json.dumps(data)
r = requests.post(
"http://galfar.dyndns.org:25577/?game={game}&user={user}&secret={secret}&highscore={data}".format(game=game, user=user, secret=secret, data=data)
)
except Exception as e:
# Something went wrong!
print("Something went wrong! error: " + str(e))
def getHighScore(game: str) -> dict:
"""
gets the highscore of a game
syntax: `getHighScore(game)`
returns: `dict`
"""
# gets every data, we want to pick only users data
# user can be only a string
# getting all data here
try:
r = requests.get(
"http://galfar.dyndns.org:25577/"
)
# formating it into dict from json
data = json.loads(r.content)
# getting users data
gamedata = data[game]
# returning the dictionary with high scores, yay!
return gamedata
except Exception as e:
# Something went wrong!
print("Something went wrong! error: " + str(e))
#Create's the Game
createGame("GameName")
#Save the secret to a file and load it when the game starts so you can access that user
secret = createUser("GameName", "User",{"Highscore": 0})
#will set the highscore to 10
setHighScore("GameName", "Username", secret, {"Highscore": 10})
#Will get all the users highscores for that game
getHighScore("GameName")