From 21cc298a6f73feffbc07e3bf6e0ab4bdfb02ff5f Mon Sep 17 00:00:00 2001 From: schneefux Date: Fri, 10 Mar 2017 22:12:10 +0100 Subject: update to latest joblib --- joblib | 2 +- main.py | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/joblib b/joblib index 75c4caa..e4896dc 160000 --- a/joblib +++ b/joblib @@ -1 +1 @@ -Subproject commit 75c4caa934676f4addf633008d20137b45c15c86 +Subproject commit e4896dc8e460ec5c1a32348e2137e19ac2c90d3a diff --git a/main.py b/main.py index 10f4617..b107301 100644 --- a/main.py +++ b/main.py @@ -149,9 +149,9 @@ Last match: %s %s as %s %s/%s/%s "filter[playerNames]": name } } - jobid = await queue.request(jobtype="grab", - payload=payload, - priority=1) + jobid = (await queue.request(jobtype="grab", + payload=[payload], + priority=[1]))[0] while True: # wait for grab job to finish @@ -159,18 +159,19 @@ Last match: %s %s as %s %s/%s/%s if status == 'finished': break if status == 'failed': + logging.warning("'%s': not found", name) if not in_cache: await bot.edit_message( "Could not find you.") return - asyncio.sleep(0.1) + asyncio.sleep(0.5) while True: # wait for processor to update the player data = await con.fetchrow(query, name, lmcd) if data is not None: break - asyncio.sleep(0.1) + asyncio.sleep(0.5) await bot.edit_message(msgid, msg(data)) -- cgit v1.3.1 From a77338df1ccfa0c6b7e6707ad77e0353dd2c0c69 Mon Sep 17 00:00:00 2001 From: schneefux Date: Fri, 10 Mar 2017 22:12:35 +0100 Subject: use embeds to show data --- main.py | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/main.py b/main.py index b107301..ae8d01f 100644 --- a/main.py +++ b/main.py @@ -80,7 +80,9 @@ async def vainsocial(region: str, name: str): query = """ SELECT player.name, + player.shard_id, match.game_mode, + roster.match_api_id, participant.hero, participant.winner, participant.kills, participant.deaths, participant.assists, participant.farm, participant.skill_tier, player.played, player.wins, @@ -93,13 +95,15 @@ async def vainsocial(region: str, name: str): ORDER BY match.created_at DESC LIMIT 1 """ - def msg(dct): + def emb(dct): + data = dict(dct) + tiers = ["Just Beginning", "Getting There", "Rock Solid", "Got Swagger", "Credible Threat", "The Hotness", "Simply Amazing", "Pinnacle Of Awesome", "Vainglorious"] if data["skill_tier"] == -1: - tier = "Unranked" + data["tier"] = "Unranked" else: subtiers = ["Bronze", "Silver", "Gold"] - tier = tiers[data["skill_tier"]//3-1] + " " + subtiers[data["skill_tier"]%3] + data["tier"] = tiers[data["skill_tier"]//3-1] + " " + subtiers[data["skill_tier"] % 3] modes = { "blitz_pvp_ranked": "Blitz", "casual_aral": "Battle Royale", @@ -108,25 +112,30 @@ async def vainsocial(region: str, name: str): "private_party_blitz_match": "private Blitz", "private_party_aral_match": "private Battle Royale" } - mode = modes.get(data["game_mode"]) or data["game_mode"] + data["mode"] = modes.get(data["game_mode"]) or data["game_mode"] heroes = { "Sayoc": "Taka", "Hero009": "Krul", "Hero010": "Skaarf", "Hero016": "Rona" } - hero = heroes.get(data["hero"]) or data["hero"].replace("*", "") - - return (""" -%s: %s, %s wins / %s games -Last match: %s %s as %s %s/%s/%s -""") % ( - data["name"], tier, - data["wins"], data["played"], - ("won" if data["winner"] else "lost"), - mode, hero, - data["kills"], data["deaths"], data["assists"] + data["hero"] = data["hero"].replace("*", "") + data["hero"] = heroes.get(data["hero"]) or data["hero"] + data["result"] = "won" if data["winner"] else "lost" + + emb = discord.Embed( + title="%(name)s" % data, + url="https://alpha.vainsocial.com/players/%(shard_id)s/%(name)s" % data ) + emb.set_author(name="Vainsocial", + url="https://alpha.vainsocial.com") + emb.add_field(name="Stats", + value="%(tier)s, %(wins)i wins / %(played)i games" % data) + emb.add_field(name="Last match", + value="%(result)s %(mode)s as %(hero)s %(kills)i/%(deaths)i/%(assists)i" % data) + emb.set_footer(text="Vainsocial - Vainglory social stats service") + #emb.set_thumbnail(url="https://cdn.discordapp.com/attachments/287307371074813954/289865664187858944/0.png") + return emb async with pool.acquire() as con: await bot.type() @@ -140,7 +149,9 @@ Last match: %s %s as %s %s/%s/%s else: in_cache = True # returning user lmcd = data["last_match_created_date"] - msgid = await bot.say(msg(data)) + msgid = await bot.say(embed=emb(data)) + + logging.info("'%s' cached: %s", name, in_cache) payload = { "region": region, @@ -161,7 +172,7 @@ Last match: %s %s as %s %s/%s/%s if status == 'failed': logging.warning("'%s': not found", name) if not in_cache: - await bot.edit_message( + await bot.edit_message(msgid, "Could not find you.") return asyncio.sleep(0.5) @@ -173,7 +184,7 @@ Last match: %s %s as %s %s/%s/%s break asyncio.sleep(0.5) - await bot.edit_message(msgid, msg(data)) + await bot.edit_message(msgid, embed=emb(data)) logging.basicConfig(level=logging.INFO) -- cgit v1.3.1 From 2782cfa584dc560c8f925beef84c86db04dc17fd Mon Sep 17 00:00:00 2001 From: schneefux Date: Fri, 10 Mar 2017 22:15:25 +0100 Subject: update joblib --- joblib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/joblib b/joblib index e4896dc..542df39 160000 --- a/joblib +++ b/joblib @@ -1 +1 @@ -Subproject commit e4896dc8e460ec5c1a32348e2137e19ac2c90d3a +Subproject commit 542df395ce186ccc28d2c4122b7b12024ade8f47 -- cgit v1.3.1 From 7a68163779a72468ba42c43b5c84a2783f5c8aad Mon Sep 17 00:00:00 2001 From: Vainsocial root Date: Fri, 10 Mar 2017 21:27:36 +0000 Subject: update joblib --- joblib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/joblib b/joblib index e4896dc..542df39 160000 --- a/joblib +++ b/joblib @@ -1 +1 @@ -Subproject commit e4896dc8e460ec5c1a32348e2137e19ac2c90d3a +Subproject commit 542df395ce186ccc28d2c4122b7b12024ade8f47 -- cgit v1.3.1 From 72cda99e09516ceeb7400f259ba8a2ee35e09403 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 11 Mar 2017 17:57:16 +0100 Subject: forgot Worthy Foe --- main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index ae8d01f..512aad8 100644 --- a/main.py +++ b/main.py @@ -98,12 +98,12 @@ async def vainsocial(region: str, name: str): def emb(dct): data = dict(dct) - tiers = ["Just Beginning", "Getting There", "Rock Solid", "Got Swagger", "Credible Threat", "The Hotness", "Simply Amazing", "Pinnacle Of Awesome", "Vainglorious"] + tiers = ["Just Beginning", "Getting There", "Rock Solid", "Worthy Foe", "Got Swagger", "Credible Threat", "The Hotness", "Simply Amazing", "Pinnacle Of Awesome", "Vainglorious"] if data["skill_tier"] == -1: data["tier"] = "Unranked" else: subtiers = ["Bronze", "Silver", "Gold"] - data["tier"] = tiers[data["skill_tier"]//3-1] + " " + subtiers[data["skill_tier"] % 3] + data["tier"] = tiers[data["skill_tier"]//3] + " " + subtiers[data["skill_tier"] % 3] modes = { "blitz_pvp_ranked": "Blitz", "casual_aral": "Battle Royale", -- cgit v1.3.1 From 3e72b10a3270612c1bb3f213e5afa3b1a9f0bb00 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 11 Mar 2017 17:57:30 +0100 Subject: show skill tier as image --- main.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 512aad8..d42440e 100644 --- a/main.py +++ b/main.py @@ -26,7 +26,7 @@ dest_db = { bot = commands.Bot( - command_prefix="!", + command_prefix="?", description="Vainsocial Vainglory stats bot") queue = None @@ -101,9 +101,12 @@ async def vainsocial(region: str, name: str): tiers = ["Just Beginning", "Getting There", "Rock Solid", "Worthy Foe", "Got Swagger", "Credible Threat", "The Hotness", "Simply Amazing", "Pinnacle Of Awesome", "Vainglorious"] if data["skill_tier"] == -1: data["tier"] = "Unranked" + data["tier_num"] = "unranked" else: subtiers = ["Bronze", "Silver", "Gold"] data["tier"] = tiers[data["skill_tier"]//3] + " " + subtiers[data["skill_tier"] % 3] + data["tier_num"] = data["skill_tier"] + modes = { "blitz_pvp_ranked": "Blitz", "casual_aral": "Battle Royale", @@ -134,7 +137,7 @@ async def vainsocial(region: str, name: str): emb.add_field(name="Last match", value="%(result)s %(mode)s as %(hero)s %(kills)i/%(deaths)i/%(assists)i" % data) emb.set_footer(text="Vainsocial - Vainglory social stats service") - #emb.set_thumbnail(url="https://cdn.discordapp.com/attachments/287307371074813954/289865664187858944/0.png") + emb.set_thumbnail(url="https://alpha.vainsocial.com/images/game/skill_tiers/%(tier_num)s.png" % data) return emb async with pool.acquire() as con: -- cgit v1.3.1 From b2cd21f3d60414b527da5f0959c9a77c8c758ad2 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 11 Mar 2017 17:59:15 +0100 Subject: accidentally changed prefix --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index d42440e..5864f55 100644 --- a/main.py +++ b/main.py @@ -26,7 +26,7 @@ dest_db = { bot = commands.Bot( - command_prefix="?", + command_prefix="!", description="Vainsocial Vainglory stats bot") queue = None -- cgit v1.3.1 From 9a5c070123331f338a299cd62b3a375daa402eb5 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sun, 12 Mar 2017 13:10:55 +0100 Subject: start with a pool of 1 connection --- main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 5864f55..a9c3f63 100644 --- a/main.py +++ b/main.py @@ -41,7 +41,8 @@ async def connect(queuedb, db): await queue.setup() global pool - pool = await asyncpg.create_pool(**db) + pool = await asyncpg.create_pool( + min_size=1, **db) @bot.event -- cgit v1.3.1 From dd6f200852a0a8be735b86db61c60ac47000cbdf Mon Sep 17 00:00:00 2001 From: schneefux Date: Sun, 12 Mar 2017 13:14:37 +0100 Subject: set playing status to vainsocial url --- main.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/main.py b/main.py index a9c3f63..e250b4e 100644 --- a/main.py +++ b/main.py @@ -52,6 +52,9 @@ async def on_ready(): "client_id=%s&scope=bot)", bot.user.name, bot.user.id) await connect(source_db, dest_db) + await bot.change_presence( + game=discord.Game( + name="alpha.vainsocial.com")) @bot.event -- cgit v1.3.1