Implement file uploading from the embeds

This commit is contained in:
Jeremy Zhang
2018-08-17 03:12:21 +00:00
parent 487d4c3d76
commit a742f08f6d
13 changed files with 306 additions and 26 deletions

View File

@ -193,7 +193,8 @@ def administrate_guild(guild_id):
"banned_words_global_included": db_guild.banned_words_global_included,
"banned_words": json.loads(db_guild.banned_words),
"autorole_unauth": db_guild.autorole_unauth,
"autorole_discord": db_guild.autorole_discord
"autorole_discord": db_guild.autorole_discord,
"file_upload": db_guild.file_upload,
}
return render_template("administrate_guild.html.j2", guild=dbguild_dict, members=users, permissions=permissions, cosmetics=cosmetics)
@ -214,6 +215,7 @@ def update_administrate_guild(guild_id):
db_guild.banned_words_global_included = request.form.get("banned_words_global_included", db_guild.banned_words_global_included) in ["true", True]
db_guild.autorole_unauth = request.form.get("autorole_unauth", db_guild.autorole_unauth, type=int)
db_guild.autorole_discord = request.form.get("autorole_discord", db_guild.autorole_discord, type=int)
db_guild.file_upload = request.form.get("file_upload", db_guild.file_upload) in ["true", True]
invite_link = request.form.get("invite_link", db_guild.invite_link)
if invite_link != None and invite_link.strip() == "":
invite_link = None
@ -250,7 +252,8 @@ def update_administrate_guild(guild_id):
banned_words_global_included=db_guild.banned_words_global_included,
banned_words=json.loads(db_guild.banned_words),
autorole_unauth=db_guild.autorole_unauth,
autorole_discord=db_guild.autorole_discord
autorole_discord=db_guild.autorole_discord,
file_upload=db_guild.file_upload,
)
@admin.route("/guilds")

View File

@ -273,7 +273,12 @@ def get_post_content_max_len(guild_id):
def post():
guild_id = request.form.get("guild_id")
channel_id = request.form.get('channel_id')
content = request.form.get('content')
content = request.form.get('content', "")
file = None
if "file" in request.files:
file = request.files["file"]
if file and file.filename == "":
file = None
if "user_id" in session:
dbUser = redisqueue.get_guild_member(guild_id, session["user_id"])
else:
@ -293,6 +298,8 @@ def post():
chan = filter_guild_channel(guild_id, channel_id)
if not chan.get("write") or chan["channel"]["type"] != "text":
status_code = 401
elif file and not chan.get("attach_files"):
status_code = 406
elif not illegal_post:
userid = session["user_id"]
content = format_everyone_mention(chan, content)
@ -318,9 +325,9 @@ def post():
# username = "(Titan Dev) " + username
username = username + "#" + str(session['discriminator'])
avatar = session['avatar']
message = discord_api.execute_webhook(webhook.get("id"), webhook.get("token"), username, avatar, content)
message = discord_api.execute_webhook(webhook.get("id"), webhook.get("token"), username, avatar, content, file)
else:
message = discord_api.create_message(channel_id, content)
message = discord_api.create_message(channel_id, content, file)
status_code = message['code']
db.session.commit()
response = jsonify(message=message.get('content', message), status=status, illegal_reasons=illegal_reasons)

View File

@ -230,7 +230,8 @@ def administrate_guild(guild_id):
"banned_words_global_included": db_guild.banned_words_global_included,
"banned_words": json.loads(db_guild.banned_words),
"autorole_unauth": db_guild.autorole_unauth,
"autorole_discord": db_guild.autorole_discord
"autorole_discord": db_guild.autorole_discord,
"file_upload": db_guild.file_upload,
}
return render_template("administrate_guild.html.j2", guild=dbguild_dict, members=users, permissions=permissions, cosmetics=cosmetics, disabled=(guild_id in list_disabled_guilds()))
@ -259,6 +260,7 @@ def update_administrate_guild(guild_id):
db_guild.banned_words_global_included = request.form.get("banned_words_global_included", db_guild.banned_words_global_included) in ["true", True]
db_guild.autorole_unauth = request.form.get("autorole_unauth", db_guild.autorole_unauth, type=int)
db_guild.autorole_discord = request.form.get("autorole_discord", db_guild.autorole_discord, type=int)
db_guild.file_upload = request.form.get("file_upload", db_guild.file_upload) in ["true", True]
invite_link = request.form.get("invite_link", db_guild.invite_link)
if invite_link != None and invite_link.strip() == "":
@ -299,7 +301,8 @@ def update_administrate_guild(guild_id):
banned_words_global_included=db_guild.banned_words_global_included,
banned_words=json.loads(db_guild.banned_words),
autorole_unauth=db_guild.autorole_unauth,
autorole_discord=db_guild.autorole_discord
autorole_discord=db_guild.autorole_discord,
file_upload=db_guild.file_upload,
)
@user.route("/add-bot/<guild_id>")