コード例 #1
0
def webhook_discordbotsorg_vote():
    incoming = request.get_json()
    client_id = incoming.get('bot')
    if config["client-id"] != client_id:
        abort(401)
    if request.headers.get("Authorization", "") != config.get(
            "discordbotsorg-webhook-secret", ""):
        abort(403)
    user_id = incoming.get("user")
    vote_type = incoming.get("type")
    params = dict(parse_qsl(urlsplit(incoming.get("query", "")).query))
    if vote_type == "upvote":
        redis_store.set("DiscordBotsOrgVoted/" + user_id, "voted", 86400)
    else:
        redis_store.delete("DiscordBotsOrgVoted/" + user_id)
    referrer = None
    if "referrer" in params:
        try:
            referrer = int(float(params["referrer"]))
        except:
            pass
    DBLTrans = DiscordBotsOrgTransactions(int(float(user_id)), vote_type,
                                          referrer)
    db.session.add(DBLTrans)
    return ('', 204)
コード例 #2
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
コード例 #3
0
ファイル: discordrest.py プロジェクト: fossabot/Titan-1
 def _set_bucket(self, key, value):
     return redis_store.set(self.global_redis_prefix + key, value)