Example #1
0
def user_info(guild_id, user_id):
    usr = {
        "id": None,
        "username": None,
        "nickname": None,
        "discriminator": None,
        "avatar": None,
        "avatar_url": None,
        "roles": [],
        "badges": [],
    }
    member = db.session.query(GuildMembers).filter(
        GuildMembers.guild_id == guild_id,
        GuildMembers.user_id == user_id).first()
    if member:
        usr["id"] = str(member.user_id)
        usr["username"] = member.username
        usr["nickname"] = member.nickname
        usr["discriminator"] = member.discriminator
        usr["avatar"] = member.avatar
        usr["avatar_url"] = generate_avatar_url(usr["id"], usr["avatar"],
                                                usr["discriminator"], True)
        roles = get_member_roles(guild_id, user_id)
        dbguild = db.session.query(Guilds).filter(
            Guilds.guild_id == guild_id).first()
        guild_roles = json.loads(dbguild.roles)
        for r in roles:
            for gr in guild_roles:
                if gr["id"] == r:
                    usr["roles"].append(gr)
        usr["badges"] = get_badges(user_id)
        if redis_store.get("DiscordBotsOrgVoted/" + str(member.user_id)):
            usr["badges"].append("discordbotsorgvoted")
    return jsonify(usr)
Example #2
0
def user_info(guild_id, user_id):
    usr = {
        "id": None,
        "username": None,
        "nickname": None,
        "discriminator": None,
        "avatar": None,
        "avatar_url": None,
        "roles": [],
        "badges": [],
    }
    member = redisqueue.get_guild_member(guild_id, user_id)
    if member:
        usr["id"] = str(member["id"])
        usr["username"] = member["username"]
        usr["nickname"] = member["nick"]
        usr["discriminator"] = member["discriminator"]
        usr["avatar"] = member["avatar"]
        usr["avatar_url"] = generate_avatar_url(usr["id"], usr["avatar"],
                                                usr["discriminator"], True)
        roles = get_member_roles(guild_id, user_id)
        guild_roles = redisqueue.get_guild(guild_id)["roles"]
        for r in roles:
            for gr in guild_roles:
                if gr["id"] == r:
                    usr["roles"].append(gr)
        usr["badges"] = get_badges(user_id)
        if redis_store.get("DiscordBotsOrgVoted/" + str(member["id"])):
            usr["badges"].append("discordbotsorgvoted")
    return jsonify(usr)
Example #3
0
 def on_lookup_user_info(self, data):
     guild_id = data["guild_id"]
     name = data["name"]
     discriminator = data["discriminator"]
     usr = {
         "name": name,
         "id": None,
         "username": None,
         "nickname": None,
         "discriminator": discriminator,
         "avatar": None,
         "color": None,
         "avatar_url": None,
         "stargazer": False,
     }
     member = db.session.query(GuildMembers).filter(
         GuildMembers.guild_id == guild_id, GuildMembers.username == name,
         GuildMembers.discriminator == discriminator).first()
     if member:
         usr["id"] = str(member.user_id)
         usr["username"] = member.username
         usr["nickname"] = member.nickname
         usr["avatar"] = member.avatar
         usr["color"] = self.get_user_color(guild_id, usr["id"])
         if (usr["avatar"]):
             usr["avatar_url"] = "https://cdn.discordapp.com/avatars/{}/{}.png".format(
                 usr["id"], usr["avatar"])
         usr["roles"] = json.loads(member.roles)
         usr["stargazer"] = "star" in get_badges(member.user_id)
     else:
         member = db.session.query(GuildMembers).filter(
             GuildMembers.guild_id == guild_id,
             GuildMembers.nickname == name,
             GuildMembers.discriminator == discriminator).first()
         if member:
             usr["id"] = str(member.user_id)
             usr["username"] = member.username
             usr["nickname"] = member.nickname
             usr["avatar"] = member.avatar
             usr["color"] = self.get_user_color(guild_id, usr["id"])
             if (usr["avatar"]):
                 usr["avatar_url"] = "https://cdn.discordapp.com/avatars/{}/{}.png".format(
                     usr["id"], usr["avatar"])
             usr["roles"] = json.loads(member.roles)
             usr["stargazer"] = "star" in get_badges(member.user_id)
     emit("lookup_user_info", usr)
     self.teardown_db_session()