diff --git a/scripts/get_discord_emoji.py b/scripts/get_discord_emoji.py index 69bfd33..e8ad9cd 100755 --- a/scripts/get_discord_emoji.py +++ b/scripts/get_discord_emoji.py @@ -27,17 +27,13 @@ def download_file(url, path): def get_data(filename): bindata = open(filename, "rb").read() decompress = zlib.decompressobj() - jsondata = decompress.decompress(bindata) + jsondata = decompress.decompress(bindata).decode("utf-8") + decoder = json.JSONDecoder() while len(jsondata) > 0: - try: - obj = json.loads(jsondata) - if obj.get("t", "") == "READY": - return obj - except json.JSONDecodeError as jde: - obj = json.loads(jsondata[0 : jde.pos]) - if obj.get("t", "") == "READY": - return obj - jsondata = jsondata[jde.pos :] + obj, end = decoder.raw_decode(jsondata) + if obj.get("t", "") == "READY": + return obj + jsondata = jsondata[end:] def main(*args):