import json
import requests
config = json.loads(open('config.json').read()) # Load Configs
API_KEY = config["wlogs_api_key"]
default_region = config["default_region"]
region_locale = {
'us': ['us', 'en_US', 'en'],
# 'kr': ['kr', 'ko_KR', 'ko'],
# 'tw': ['tw', 'zh_TW', 'zh'],
'eu': ['eu', 'en_GB', 'en'] }
def get_char(name, server, target_region):
r = requests.get("https://www.warcraftlogs.com:443/v1/parses/character/%s/%s/%s?api_key=%s" %(
name, server, region_locale[target_region][0], API_KEY))
if r.status_code != 200:
raise Exception("Could Not Find Character (No 200 from API)")
player_dict = json.loads(r.text)
dps_logs = player_dict["parses"]["character"]
# start Markdown
return_string += '```CSS\n'
# Display this
return_string += "Dps. Logs: %s → " % dps_logs
# end Markdown
return_string += '```'
return return_string
async def wlogs(client, message):
target_region = default_region
try:
i = str(message.content).split(' ')
name = i[1]
server = i[2]
if len(i) == 4 and i[3].lower() in region_locale.keys():
target_region = i[3].lower()
character_info = get_char(name, server, target_region)
await client.send_message(message.channel, character_info)
except Exception as e:
print(e)
await client.send_message(message.channel, "Error With Name or Server\n"
"Use: !wlogs <name> <server> <region>\n"
"Hyphenate Two Word Servers (Ex: Twisting-Nether)")