Beispiel #1
0
 def on_lookup_user_info(self, data):
     time.sleep(0)
     if "socket_guild_id" not in session:
         disconnect()
         return
     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,
         "discordbotsorgvoted": False,
     }
     time.sleep(0)
     member = redisqueue.get_guild_member_named(
         guild_id, "{}#{}".format(name, discriminator))
     if member:
         usr["id"] = str(member["id"])
         usr["username"] = member["username"]
         usr["nickname"] = member["nick"]
         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"] = member["roles"]
         usr["discordbotsorgvoted"] = bool(
             redis_store.get("DiscordBotsOrgVoted/" + str(member["id"])))
     else:
         member = redisqueue.get_guild_member_named(guild_id, name)
         if member:
             usr["id"] = str(member["id"])
             usr["username"] = member["username"]
             usr["nickname"] = member["nick"]
             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"] = member["roles"]
             usr["discordbotsorgvoted"] = bool(
                 redis_store.get("DiscordBotsOrgVoted/" +
                                 str(member["id"])))
     emit("lookup_user_info", usr)
     self.teardown_db_session()
Beispiel #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 = 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)
Beispiel #3
0
def context_processor():
    return {
        "random":
        random,
        "application_settings":
        get_application_settings(),
        "devs":
        get_administrators_list(),
        "sentry_js_dsn":
        config.get("sentry-js-dsn", None),
        "constants":
        constants,
        "af_mode_enabled":
        datetime.datetime.now().date() == datetime.date(
            datetime.datetime.now().year, 4, 1),
        "dbl_voted":
        session.get("unauthenticated", True) == False and bool(
            redis_store.get("DiscordBotsOrgVoted/" +
                            str(session.get("user_id", -1)))),
        "app_start_stamp":
        app_start_stamp
    }


# @app.errorhandler(500)
# def internal_server_error(error):
#     return render_template('500.html.j2',
#         event_id=g.sentry_event_id,
#         public_dsn=sentry.client.get_public_dsn('https')
#     ), 500
Beispiel #4
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)
Beispiel #5
0
def context_processor():
    return {
        "devs": get_administrators_list(),
        "sentry_js_dsn": config.get("sentry-js-dsn", None),
        "constants": constants,
        "af_mode_enabled": datetime.datetime.now().date() == datetime.date(datetime.datetime.now().year, 4, 1),
        "dbl_voted": session.get("unauthenticated", True) == False and bool(redis_store.get("DiscordBotsOrgVoted/" + str(session.get("user_id", -1))))
    }
Beispiel #6
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,
         "discordbotsorgvoted": 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["discordbotsorgvoted"] = bool(redis_store.get("DiscordBotsOrgVoted/" + str(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["discordbotsorgvoted"] = bool(redis_store.get("DiscordBotsOrgVoted/" + str(member.user_id)))
     emit("lookup_user_info", usr)
     self.teardown_db_session()
Beispiel #7
0
def get_user_guilds():
    cache = redis_store.get("OAUTH/USERGUILDS/" + str(make_user_cache_key()))
    if cache:
        return cache
    req = discordrest_from_user("/users/@me/guilds")
    if req.status_code != 200:
        if hasattr(request, "sid"):
            disconnect()
            return
        abort(req.status_code)
    req = json.dumps(req.json())
    redis_store.set("OAUTH/USERGUILDS/" + str(make_user_cache_key()), req, 250)
    return req
Beispiel #8
0
 def _get_bucket(self, key):
     value = redis_store.get(self.global_redis_prefix + key)
     if value:
         value = value.decode("utf-8")
     return value
Beispiel #9
0
 def _get_bucket(self, key):
     value = redis_store.get(self.global_redis_prefix + key)
     if value:
         value = value
     return value
Beispiel #10
0
 def _get(self, key, data_type):
     if data_type == "set":
         return redis_store.smembers(key)
     else:
         return redis_store.get(key)