mirror of
https://github.com/TitanEmbeds/Titan.git
synced 2024-12-24 14:07:03 +01:00
Append zwsp in mention everyone if they do not have permission to do so
This commit is contained in:
parent
9f3fb04d9d
commit
f87465e555
@ -129,6 +129,11 @@ def format_post_content(guild_id, message):
|
|||||||
message = "**<{}#{}>** {}".format(session['username'], session['discriminator'], message) # I would like to do a @ mention, but i am worried about notif spam
|
message = "**<{}#{}>** {}".format(session['username'], session['discriminator'], message) # I would like to do a @ mention, but i am worried about notif spam
|
||||||
return (message, illegal_post, illegal_reasons)
|
return (message, illegal_post, illegal_reasons)
|
||||||
|
|
||||||
|
def format_everyone_mention(channel, content):
|
||||||
|
if not channel["mention_everyone"] and "@everyone" in content:
|
||||||
|
content = content.replace("@everyone", u"@\u200Beveryone")
|
||||||
|
return content
|
||||||
|
|
||||||
def get_member_roles(guild_id, user_id):
|
def get_member_roles(guild_id, user_id):
|
||||||
q = db.session.query(GuildMembers).filter(GuildMembers.guild_id == guild_id).filter(GuildMembers.user_id == user_id).first()
|
q = db.session.query(GuildMembers).filter(GuildMembers.guild_id == guild_id).filter(GuildMembers.user_id == user_id).first()
|
||||||
return json.loads(q.roles)
|
return json.loads(q.roles)
|
||||||
@ -151,10 +156,11 @@ def get_guild_channels(guild_id):
|
|||||||
result_channels = []
|
result_channels = []
|
||||||
for channel in guild_channels:
|
for channel in guild_channels:
|
||||||
if channel['type'] == "text":
|
if channel['type'] == "text":
|
||||||
result = {"channel": channel, "read": False, "write": False}
|
result = {"channel": channel, "read": False, "write": False, "mention_everyone": False}
|
||||||
if guild_owner == session['user_id']:
|
if guild_owner == session['user_id']:
|
||||||
result["read"] = True
|
result["read"] = True
|
||||||
result["write"] = True
|
result["write"] = True
|
||||||
|
result["mention_everyone"] = True
|
||||||
result_channels.append(result)
|
result_channels.append(result)
|
||||||
continue
|
continue
|
||||||
channel_perm = 0
|
channel_perm = 0
|
||||||
@ -176,6 +182,7 @@ def get_guild_channels(guild_id):
|
|||||||
if user_has_permission(channel_perm, 3):
|
if user_has_permission(channel_perm, 3):
|
||||||
result["read"] = True
|
result["read"] = True
|
||||||
result["write"] = True
|
result["write"] = True
|
||||||
|
result["mention_everyone"] = True
|
||||||
result_channels.append(result)
|
result_channels.append(result)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -198,6 +205,7 @@ def get_guild_channels(guild_id):
|
|||||||
|
|
||||||
result["read"] = user_has_permission(channel_perm, 10)
|
result["read"] = user_has_permission(channel_perm, 10)
|
||||||
result["write"] = user_has_permission(channel_perm, 11)
|
result["write"] = user_has_permission(channel_perm, 11)
|
||||||
|
result["mention_everyone"] = user_has_permission(channel_perm, 17)
|
||||||
|
|
||||||
# If default channel, you can read
|
# If default channel, you can read
|
||||||
if channel["id"] == guild_id:
|
if channel["id"] == guild_id:
|
||||||
@ -207,8 +215,8 @@ def get_guild_channels(guild_id):
|
|||||||
if not user_has_permission(channel_perm, 10):
|
if not user_has_permission(channel_perm, 10):
|
||||||
result["read"] = False
|
result["read"] = False
|
||||||
result["write"] = False
|
result["write"] = False
|
||||||
|
result["mention_everyone"] = False
|
||||||
|
|
||||||
#if result["read"]:
|
|
||||||
result_channels.append(result)
|
result_channels.append(result)
|
||||||
return sorted(result_channels, key=lambda k: k['channel']['position'])
|
return sorted(result_channels, key=lambda k: k['channel']['position'])
|
||||||
|
|
||||||
@ -316,6 +324,7 @@ def post():
|
|||||||
if not chan.get("write"):
|
if not chan.get("write"):
|
||||||
status_code = 401
|
status_code = 401
|
||||||
elif not illegal_post:
|
elif not illegal_post:
|
||||||
|
content = format_everyone_mention(chan, content)
|
||||||
message = discord_api.create_message(channel_id, content)
|
message = discord_api.create_message(channel_id, content)
|
||||||
status_code = message['code']
|
status_code = message['code']
|
||||||
response = jsonify(message=message.get('content', message), status=status, illegal_reasons=illegal_reasons)
|
response = jsonify(message=message.get('content', message), status=status, illegal_reasons=illegal_reasons)
|
||||||
|
Loading…
Reference in New Issue
Block a user