Ejemplo n.º 1
0
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"
Ejemplo n.º 2
0
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"
Ejemplo n.º 3
0
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"
Ejemplo n.º 4
0
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"
Ejemplo n.º 5
0
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"
Ejemplo n.º 6
0
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"
Ejemplo n.º 7
0
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"