def create_uuid_table_pvp(server, usdb, message, medal, gamertag): """ Creates a most recent 5 for a medal, gamertag with uuid """ list = usdb.get_recent(server, medal, str(gamertag), uuid=True) if len(list) > 0: u, s, d, _, gw, _, _, gl, _, _, _, n = list[0] msg = "<@!" + str(gamertag) + ">'s last 5 entries for " + medal + "\n" + "```" # build header msg += " uuid | results \n" msg += "-------------------------------------+-----------\n" for el in list[0:5]: u, s, d, _, gw, _, _, gl, _, _, _, n = el while len(gl) < 10: gl += " " n = n[0:10] try: gw = get_discord_name(server, message, gw) assert gw except: gw = "bidoof" try: gl = get_discord_name(server, message, gl) assert gl except: gl = "bidoof" gw = gw.split("#")[0][0:10] gl = gl.split("#")[0][0:10] msg += u + " | w:" + str(gw) + ",l:" + str(gl) + "\n" msg += "```" return msg else: return "Bidoof, nothing to see here"
def create_per_pokemon_trade_table(server, usdb, pokemon, message, board): """ Creates a most recent 5 for a medal, gamertag """ list = usdb.get_trade_board_by_pokemon(server, str(pokemon), board) if len(list) > 0: msg = "```" msg += "Want |Note \n" msg += "-------------+-------------\n" for el in list: u, s, g, p, num, n = el n = n[0:10] while len(n) < 12: n += " " try: g = get_discord_name(server, message, g) assert g except: g = "bidoof" g = g.split("#")[0][0:12] while len(g) < 12: g += " " msg += str(g) + " | " + str(n) + "\n" msg += "```" return msg else: return "Bidoof, nothing to see here"
def create_recent_pvp10(server, usdb, message, medal, gamertag): """ Creates a most recent 5 for a medal, gamertag """ list = usdb.get_recent_pvp(server, medal, str(gamertag)) if len(list) > 0: last_u, s, d, _, gw, _, _, gl, _, _, t, n = list[0] msg = "<@!" + str(gamertag) + "> 's last 10 entries for " + medal + "\n" + "```" msg += "Battle Log \n" msg += "----------------------------------\n" for el in list[0:10]: u, s, d, _, gw, _, _, gl, _, _, t, n = el d = d.split(".")[0] d = d.split(" ")[0] d = d.split("T")[0] while len(d) < 10: d += " " n = n[0:8] while len(n) < 8: n += " " try: gw = get_discord_name(server, message, gw) assert gw except: gw = "bidoof" try: gl = get_discord_name(server, message, gl) assert gl except: gl = "bidoof" gw = gw.split("#")[0][0:10] gl = gl.split("#")[0][0:10] if int(t): msg += str(gw) + " tied " + str(gl) + "\n" else: msg += str(gw) + " beat " + str(gl) + "\n" msg += "```" return msg else: return "Bidoof, nothing to see here"
def create_elo10(server, usdb, medal, message): # noqa: C901 """ Creates the 10 leaderboards for a given medal """ list = usdb.get_elo_leaders(server, medal + "_elo") if len(list) > 0: members = {} try: for x in message["raw_msg"].guild.get_all_members(): members[x.id] = None except: pass for el in list: # this can be done smarter user_elo = "1200" g, v = el if g == str(message["raw_msg"].author.id): user_elo = v break msg = ("ELO Leaderboard for " + medal + "\n" + "```") msg += " |Value |Name\n" msg += "---+-----------+--------------\n" cnt = 0 for el in list: if cnt > 11: break if len(members) > 0 and g not in members: continue g, v = el v = str(round(v, 2)) while len(v) < 10: v += " " while len(v) < 10: v += " " try: g = get_discord_name(server, message, g) cnt += 1 assert g except: continue g = g.split("#")[0] g = g[0:15] c = str(cnt) while len(c) < 2: c += " " msg += c + " | " + str(v) + "| " + str(g) + "\n" msg += "```" msg += "<@!" + str(message["raw_msg"].author.id) + "> elo is " + str(round(float(user_elo), 2)) return msg else: return "Bidoof, nothing to see here"
def create_ping_table(server, usdb, message, gamertag): """ Creates a most recent 5 for a medal, gamertag """ list = usdb.get_online_friends(server, gamertag) messages = [] if len(list) > 0: if len(message["args"]) > 0: formated = str(message["args"]).replace( "[", "").replace("]", "").replace(",", "").replace("'", "") msg = ("<@!" + str(gamertag) + "> is looking to battle in {}!\n".format(formated)) else: msg = "<@!" + str(gamertag) + "> is looking to battle!\n" friends = False cnt = 0 for g, idx in list: if cnt == 50 or len(msg) > 1700: messages.append(msg) if len(message["args"]) > 0: formated = str(message["args"]).replace( "[", "").replace("]", "").replace(",", "").replace("'", "") msg = "<@!" + str(gamertag) + "> is looking to battle in {}!\n".format(formated) else: msg = "<@!" + str(gamertag) + "> is looking to battle!\n" cnt = 0 try: discord_name = get_discord_name(server, message, g) assert discord_name except: if server != "ViaDirectMessage": continue msg += "<@!" + str(g) + "> " friends = True cnt += 1 messages.append(msg) if not friends: return "<@!" + str(gamertag) + "> you have no ultra friends online" return messages else: return "<@!" + str(gamertag) + "> you have no ultra friends online"
def create_leaderboard10(server, usdb, medal, message): """ Creates the 10 leaderboards for a given medal """ list = usdb.get_leaders(server, medal) if len(list) > 0: msg = ("Leaderboard for " + medal + "\n" + "```") # build header msg += " |Value |Name\n" msg += "---+-----------+--------------\n" cnt = 0 for el in list[0:10]: cnt += 1 u, s, d, g, v, n = el d = d.split(".")[0] d = d.split(" ")[0] d = d.split("T")[0] while len(d) < 10: d += " " v = str(v).split(".")[0] while len(v) < 10: v += " " try: g = get_discord_name(server, message, g) assert g except: g = "bidoof" g = g.split("#")[0] g = g[0:15] n = n[0:10] c = str(cnt) while len(c) < 2: c += " " msg += c + " | " + str(v) + "| " + str(g) + "\n" if n != "": msg += "---+-----------+> " + n + "\n" msg += "```" return msg else: return "Bidoof, nothing to see here"
def create_friends_table(server, usdb, message, gamertag): """ Creates a most recent 5 for a medal, gamertag """ list = usdb.get_friends(server, str(gamertag)) messages = [] if len(list) > 0: msg = "<@!" + str(gamertag) + ">'s ultra friend list \n```" msg += "Status | Friends\n" msg += "--------+--------------------- \n" cnt = 0 for el in list: g, status = el if cnt == 100 or len(msg) > 1700: msg += "```" messages.append(msg) msg = "<@!" + str(gamertag) + ">'s ultra friend list continued \n```" cnt = 0 try: discord_name = get_discord_name(server, message, g) assert discord_name except: if server == "ViaDirectMessage": discord_name = g else: continue while len(status) < 7: status += " " msg += status + " | " + str(discord_name) + "\n" cnt += 1 msg += "```" messages.append(msg) return messages else: return "Your ultra friend's list is empty"