Geoffrey-Django/geoffrey/MinecraftAccountInfoGrabber.py

37 lines
884 B
Python
Raw Normal View History

from simplejson.errors import JSONDecodeError
2018-08-12 19:00:04 +00:00
import requests
2018-08-21 20:36:51 +00:00
from geoffrey.BotErrors import UsernameLookupFailed
2018-06-03 02:42:31 +00:00
uuid_lookup_url = 'https://api.mojang.com/users/profiles/minecraft/{}'
username_lookup_url = 'https://api.mojang.com/user/profiles/{}/names'
def grab_json(url):
try:
json = requests.get(url).json()
if 'error' in json:
raise UsernameLookupFailed
2018-06-03 02:42:31 +00:00
except JSONDecodeError:
raise UsernameLookupFailed
return json
def grab_UUID(username):
player_data = grab_json(uuid_lookup_url.format(username))
return player_data['id']
2018-06-03 02:42:31 +00:00
def grab_playername(uuid):
player_data = grab_json(username_lookup_url.format(uuid))
if len(player_data) == 0:
raise UsernameLookupFailed
else:
last_index = len(player_data) - 1
return player_data[last_index]['name']