Remove requirement for token for testing the bot, also account for people not in grand companies or free companies
This commit is contained in:
parent
26d0903be0
commit
756dc35a7a
57
app/ffxiv.py
57
app/ffxiv.py
@ -2,7 +2,10 @@ import requests
|
||||
import os
|
||||
import discord
|
||||
|
||||
token = os.getenv('ffxiv_token')
|
||||
if os.getenv('ffxiv_token'):
|
||||
token = "&private_key=%s" % os.getenv('ffxiv_token')
|
||||
else:
|
||||
token = ''
|
||||
|
||||
def parse_message(message):
|
||||
name = message.split()[1] + '+' + message.split()[2]
|
||||
@ -12,10 +15,10 @@ def parse_message(message):
|
||||
|
||||
|
||||
def make_request(name, server):
|
||||
player_search = "https://xivapi.com/character/search?name=%s&server=%s&private_key=%s" % (name, server, token)
|
||||
player_search = "https://xivapi.com/character/search?name=%s&server=%s%s" % (name, server, token)
|
||||
print(player_search)
|
||||
player_id = list(filter(
|
||||
lambda x: server.lower() in x['Server'].lower(),
|
||||
lambda x: server.lower() in x['Server'].lower(),
|
||||
requests.get(player_search).json()['Results']
|
||||
))[0]['ID']
|
||||
import pprint
|
||||
@ -24,7 +27,7 @@ def make_request(name, server):
|
||||
# if adding extended=1 to the query, you'll see some image files, eg. /cj/1/blackmage.png
|
||||
# prepend these with https://xivapi.com/ to get a useable url
|
||||
# https://xivapi.com//cj/1/blackmage.png
|
||||
request_url = "https://xivapi.com/character/%s?extended=1&data=CJ,FC&private_key=%s" % (player_id, token)
|
||||
request_url = "https://xivapi.com/character/%s?extended=1&data=CJ,FC%s" % (player_id, token)
|
||||
print(request_url)
|
||||
player_blob = requests.get(request_url).json()
|
||||
character = player_blob['Character']
|
||||
@ -37,32 +40,40 @@ def make_request(name, server):
|
||||
xp_to_level_up = current_class['ExpLevelTogo']
|
||||
class_icon = "https://xivapi.com/%s" % current_class['Job']['Icon']
|
||||
|
||||
grand_company = character['GrandCompany']
|
||||
if character['GrandCompany']['Company']:
|
||||
grand_company = character['GrandCompany']
|
||||
|
||||
if player_blob['FreeCompany']:
|
||||
free_company = player_blob['FreeCompany']
|
||||
fc_member_count = free_company['ActiveMemberCount']
|
||||
fc_name = free_company['Name']
|
||||
fc_slogan = free_company['Slogan']
|
||||
fc_tag = free_company['Tag']
|
||||
fc_rank = free_company['Rank']
|
||||
fc_estate = free_company['Estate']
|
||||
fc_plot = fc_estate['Plot']
|
||||
|
||||
|
||||
free_company = player_blob['FreeCompany']
|
||||
fc_member_count = free_company['ActiveMemberCount']
|
||||
fc_name = free_company['Name']
|
||||
fc_slogan = free_company['Slogan']
|
||||
fc_tag = free_company['Tag']
|
||||
fc_rank = free_company['Rank']
|
||||
fc_estate = free_company['Estate']
|
||||
fc_plot = fc_estate['Plot']
|
||||
|
||||
|
||||
embed = discord.Embed(description=character['Name'], color=0x428bca, type="rich")
|
||||
embed.set_author(name="FFXIV API bullshit for %s\nPlayer ID: %s" % (character['Name'], character['ID']), icon_url="http://na.lodestonenews.com/images/thumbnail.png")
|
||||
embed.set_thumbnail(url=class_icon)
|
||||
embed.add_field(name="Current Class", value="%s - Lvl: %s" % (current_class_name, current_class_level), inline=True)
|
||||
embed.add_field(name="XP to level up", value=xp_to_level_up, inline=True)
|
||||
embed.add_field(name="Race", value=character['Race']['Name'], inline=True)
|
||||
embed.add_field(name="Grand Company", value="%s of the %s" % (grand_company['Rank']['Name'], grand_company['Company']['Name']), inline=False)
|
||||
embed.add_field(
|
||||
name="Free Company: %s (%s)" % (fc_name, fc_tag),
|
||||
value="\nActive Members: %s\nFC Rank: %s\nFC Estate: %s" % (
|
||||
fc_member_count, fc_rank, fc_plot
|
||||
),
|
||||
inline=False
|
||||
)
|
||||
if character['GrandCompany']['Company']:
|
||||
embed.add_field(name="Grand Company", value="%s of the %s" % (grand_company['Rank']['Name'], grand_company['Company']['Name']), inline=False)
|
||||
else:
|
||||
embed.add_field(name="Grand Company", value="Not in a Grand Company", inline=False)
|
||||
if player_blob['FreeCompany']:
|
||||
embed.add_field(
|
||||
name="Free Company: %s (%s)" % (fc_name, fc_tag),
|
||||
value="\nActive Members: %s\nFC Rank: %s\nFC Estate: %s" % (
|
||||
fc_member_count, fc_rank, fc_plot
|
||||
),
|
||||
inline=False
|
||||
)
|
||||
else:
|
||||
embed.add_field(name="Free Company", value="Not in a Free Company", inline=False)
|
||||
embed.set_image(url=character['Portrait'])
|
||||
embed.set_footer(text='Feel free to use my refer a friend code: MA9Q49CJ')
|
||||
# embed.add_field(name=':hospital: Recovered Cases :hospital:', value=recovered, inline=False)
|
||||
|
Loading…
x
Reference in New Issue
Block a user