mirror of
https://github.com/TitanEmbeds/Titan.git
synced 2024-11-14 10:01:21 +01:00
Isolate objects and basic bot adding to guilds
This commit is contained in:
parent
2e5f6fafbf
commit
a6bc5f753e
@ -1,9 +1,8 @@
|
||||
from titanembeds.database import db, Guilds, UnauthenticatedUsers, UnauthenticatedBans, AuthenticatedUsers
|
||||
from titanembeds.decorators import valid_session_required, discord_users_only
|
||||
from titanembeds.discordrest import DiscordREST
|
||||
from titanembeds.utils import discord_api, cache
|
||||
from flask import Blueprint, abort, jsonify, session, request
|
||||
from sqlalchemy import and_
|
||||
from werkzeug.contrib.cache import SimpleCache
|
||||
import random
|
||||
import requests
|
||||
import json
|
||||
@ -11,8 +10,6 @@ import time
|
||||
from config import config
|
||||
|
||||
api = Blueprint("api", __name__)
|
||||
discord_api = DiscordREST(config['bot-token'])
|
||||
cache = SimpleCache()
|
||||
|
||||
def user_unauthenticated():
|
||||
if 'unauthenticated' in session:
|
||||
|
@ -2,6 +2,7 @@ from flask import Blueprint, request, redirect, jsonify, abort, session, url_for
|
||||
from requests_oauthlib import OAuth2Session
|
||||
from config import config
|
||||
from titanembeds.decorators import discord_users_only
|
||||
from titanembeds.utils import discord_api
|
||||
|
||||
user = Blueprint("user", __name__)
|
||||
redirect_url = config['app-base-url'] + "/user/callback"
|
||||
@ -16,7 +17,7 @@ def make_authenticated_session(token=None, state=None, scope=None):
|
||||
token=token,
|
||||
state=state,
|
||||
scope=scope,
|
||||
redirect_uri=request.url_root + "user/callback",
|
||||
redirect_uri=url_for("user.callback", _external=True),
|
||||
)
|
||||
|
||||
def discordrest_from_user(endpoint):
|
||||
@ -54,6 +55,10 @@ def generate_avatar_url(id, av):
|
||||
def generate_guild_icon_url(id, hash):
|
||||
return guild_icon_url + str(id) + "/" + str(hash) + ".jpg"
|
||||
|
||||
def generate_bot_invite_url(guild_id):
|
||||
url = "https://discordapp.com/oauth2/authorize?&client_id={}&scope=bot&permissions={}&guild_id={}&response_type=code&redirect_uri={}".format(config['client-id'], '536083583', guild_id, url_for("user.dashboard", _external=True))
|
||||
return url
|
||||
|
||||
@user.route("/login_authenticated", methods=["GET"])
|
||||
def login_authenticated():
|
||||
session["redirect"] = request.args.get("redirect")
|
||||
@ -101,7 +106,10 @@ def dashboard():
|
||||
@user.route("/administrate_guild/<guild_id>")
|
||||
@discord_users_only()
|
||||
def administrate_guild(guild_id):
|
||||
return str(guild_id)
|
||||
guild = discord_api.get_guild(guild_id)
|
||||
if guild['code'] == 403:
|
||||
return redirect(generate_bot_invite_url(guild_id))
|
||||
return str(guild)
|
||||
|
||||
@user.route('/me')
|
||||
@discord_users_only()
|
||||
|
6
titanembeds/utils.py
Normal file
6
titanembeds/utils.py
Normal file
@ -0,0 +1,6 @@
|
||||
from werkzeug.contrib.cache import SimpleCache
|
||||
from titanembeds.discordrest import DiscordREST
|
||||
from config import config
|
||||
|
||||
discord_api = DiscordREST(config['bot-token'])
|
||||
cache = SimpleCache()
|
Loading…
Reference in New Issue
Block a user