Last active
February 1, 2022 19:49
-
-
Save ketra/494263dab90de56ed4f6526599223384 to your computer and use it in GitHub Desktop.
Script om steamstatus op te kunnen halen van Steamwebsite.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
#Import de libraries die nodig zijn, in dit geval urllib.request om een vraag an steam te kunnen stellen. | |
import json | |
import urllib.request | |
import urllib.parse | |
# Zet hier je API Key deze kan je aanvragen op https://steamcommunity.com/dev/apikey | |
API_KEY = '' | |
def haal_status(steamid): | |
# zie steam pagina voor uitleg van de API | |
# https://developer.valvesoftware.com/wiki/Steam_Web_API#GetPlayerSummaries_.28v0002.29 | |
# URl voor het ophalen van de status van de steam gebruiker. | |
url = 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v2/' | |
formatted_url = f"{url}?key={API_KEY}&steamids={steamid}&format=json" | |
# Hier wordt het request uitgevoerd naar de website en de data die terugkomt verwerkt als json. | |
with urllib.request.urlopen(formatted_url) as antwoord: | |
retourdata = json.loads(antwoord.read()) | |
# Voorbeeld van de data die terugegeven wordt. | |
"""response": { | |
"players": [ | |
{ | |
"steamid": "77561198355051011", | |
"communityvisibilitystate": 1, | |
"profilestate": 1, | |
"personaname": "Mister Manager", | |
"lastlogoff": 1556305001, | |
"profileurl": "https://steamcommunity.com/profiles/77561198355051011/", | |
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/32/32f70a383a437d03af91d2f01a0776adf75201b5.jpg", | |
"avatarmedium": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/32/32f70a383a437d03af91d2f01a0776adf75201b5_medium.jpg", | |
"avatarfull": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/32/32f70a383a437d03af91d2f01a0776adf75201b5_full.jpg", | |
} | |
] | |
}""" | |
# Omdat het antwoord in json is mag je door elke laag heenlopen met [] | |
steam_status = retourdata["response"]["players"][0]["profilestate"] | |
# Verstuur de status naar de vertaal functie. | |
vertaalde_status = vertaal_status(steam_status) | |
# Geef de vertaalde waarde weer terug. | |
return vertaalde_status | |
def vertaal_status(status): | |
# vertaling van mogelijke status die terug kan komen van de API | |
# 0 - Offline,1 - Online, 2 - Busy, 3 - Away, 4 - Snooze, 5 - looking to trade, 6 - looking to play | |
# Dit is een lijstje van de mogelijke status die een gebruiker kan hebben. | |
mogelijke_status = { | |
0: "Offline", | |
1: "Online", | |
2: "Bezig", | |
3: "Weg", | |
4: "Slapend", | |
5: "Trade?", | |
6: "Spelen?" | |
} | |
# Omdat bovenstaande lijst cijfer: waarde heeft, mag je de waarde opvragen door mogelijke_status[status] te doen | |
# via het gegeven cijfer de bijbehorende tekst ophalen. | |
vertaalde_waarde = mogelijke_status[status] | |
# Geef de vertaalde waarde terug | |
return vertaalde_waarde | |
# Best practice, Het is een best practice binnen python om altijd het onderstaande in je code file te hebben. | |
if __name__ == '__main__': | |
# Zet hier het steamID van de gebruiker waar je de status van wilt weten. | |
steamid ='76561197977021276' | |
# Roep nu de functie aan om de status op te halen. | |
gebruiker_status = haal_status(steamid) | |
# print de status van de gebruiker. | |
# (Weetje) als je f"" doet mag je in een string met {} code gebruiken om daar dynamisch tekst neer te zetten. | |
print(f"Speler {steamid} is {gebruiker_status}") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment