mirror of
https://github.com/TitanEmbeds/Titan.git
synced 2024-12-26 15:07:03 +01:00
198 lines
8.6 KiB
Django/Jinja
198 lines
8.6 KiB
Django/Jinja
{% extends 'site_layout.html.j2' %}
|
|
{% set title="Administrate Guild: " + guild['name'] %}
|
|
|
|
{% block additional_head_elements %}
|
|
<link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='css/administrate_guild.css') }}">
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<h1>Administrating: {{ guild['name'] }}</h1>
|
|
<p class="flow-text">For this server, you are allowed the following actions:
|
|
{% for permission in permissions %}
|
|
{{ permission }}
|
|
{% if not loop.last %}
|
|
,
|
|
{% endif %}
|
|
{% endfor %}
|
|
.</p>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col s12">
|
|
<h2 class="header">Embed URLs</h2>
|
|
<div class="card horizontal black-text indigo lighten-5 z-depth-3 hoverable">
|
|
<div class="card-stacked">
|
|
<div class="card-content">
|
|
<p class="flow-text">Direct Link</p>
|
|
<input readonly value="{{ url_for("embed.guild_embed", guild_id=guild['id'], _external=True) }}" id="disabled" type="text" onClick="this.setSelectionRange(0, this.value.length)">
|
|
<p class="flow-text">iFrame Embed</p>
|
|
<input readonly value="<iframe src="{{ url_for("embed.guild_embed", guild_id=guild['id'], _external=True) }}" height="600" width="800" frameborder="0"></iframe>" id="disabled" type="text" onClick="this.setSelectionRange(0, this.value.length)">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% if "Manage Embed Settings" in permissions %}
|
|
<div class="col s12">
|
|
<h2 class="header">Embed Settings</h2>
|
|
<div class="card horizontal black-text indigo lighten-5 z-depth-3 hoverable">
|
|
<div class="card-stacked">
|
|
<div class="card-content">
|
|
|
|
<p class="flow-text">Unauthenticated (Guest) Users</p>
|
|
<div class="switch">
|
|
<label>
|
|
Disable
|
|
<input type="checkbox" id="unauth_users" name="unauth_users" {% if guild['unauth_users'] %}checked{% endif %} >
|
|
<span class="lever"></span>
|
|
Enable
|
|
</label>
|
|
</div>
|
|
|
|
<br>
|
|
|
|
<p class="flow-text">Toggle Visitor Mode</p>
|
|
<p>Visitors are able to view the channels that @everyone has access to. However, they are not able to send messages until they login using the usual methods.</p>
|
|
<div class="switch">
|
|
<label>
|
|
Disable
|
|
<input type="checkbox" id="visitor_view" name="visitor_view" {% if guild['visitor_view'] %}checked{% endif %} >
|
|
<span class="lever"></span>
|
|
Enable
|
|
</label>
|
|
</div>
|
|
|
|
<br>
|
|
|
|
<p class="flow-text">Toggle Webhooks Messages</p>
|
|
<p>Instead of sending user messages directly from the Titan bot, webhook messages allows Titan to take advantage of the built-in webhooks to create messages that looks more real. Reading messages in Discord can be <a href="{{ url_for('static', filename='img/webhook_comparison.png') }}" target="_blank" title="A quick comparison between having webhook messages enabled vs disabled for a text channel">20% more cooler</a>!</p>
|
|
<div class="switch">
|
|
<label>
|
|
Disable
|
|
<input type="checkbox" id="webhook_messages" name="webhook_messages" {% if guild['webhook_messages'] %}checked{% endif %} >
|
|
<span class="lever"></span>
|
|
Enable
|
|
</label>
|
|
</div>
|
|
|
|
<br>
|
|
|
|
<p class="flow-text">Chat Links</p>
|
|
<div class="switch">
|
|
<label>
|
|
Disable
|
|
<input type="checkbox" id="chat_links" name="chat_links" {% if guild['chat_links'] %}checked{% endif %} >
|
|
<span class="lever"></span>
|
|
Enable
|
|
</label>
|
|
</div>
|
|
|
|
<br>
|
|
|
|
<p class="flow-text">Render Links as an Embed</p>
|
|
<p>(if possible)</p>
|
|
<div class="switch">
|
|
<label>
|
|
Disable
|
|
<input type="checkbox" id="bracket_links" name="bracket_links" {% if guild['bracket_links'] %}checked{% endif %} >
|
|
<span class="lever"></span>
|
|
Enable
|
|
</label>
|
|
</div>
|
|
|
|
<br>
|
|
|
|
<p class="flow-text">Message mentions limit</p>
|
|
<p>(-1 to have no limit - enter to submit)</p>
|
|
<input id="mentions_limit" type="number" value="{{ guild['mentions_limit'] }}">
|
|
|
|
<br>
|
|
|
|
<p class="flow-text">Custom Discord.io Link</p>
|
|
<p>Because we are a partner with <a href="https://discord.io" target="_blank">Discord.io</a>, we enable you to enter your custom discord.io link and replace the discord.gg link on the embed!</p>
|
|
<p>(Leave blank if none - enter to submit)</p>
|
|
<input id="discordio" value="{{ guild['discordio'] }}">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if "Ban Members" in permissions or "Kick Members" in permissions %}
|
|
<div class="col s12">
|
|
<h2 class="header">Moderate Unauthenticated Members</h2>
|
|
<div class="card horizontal black-text indigo lighten-5 z-depth-3 hoverable">
|
|
<div class="card-stacked" style="overflow-x: hidden;">
|
|
<div class="card-content">
|
|
<div class="row">
|
|
<div class="col s12">
|
|
|
|
<p class="flow-text">Select Action</p>
|
|
<table class="striped responsive-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Kick User</th>
|
|
<th>Ban User</th>
|
|
<th>Username</th>
|
|
<th>Discrim</th>
|
|
<th>Last Visit</th>
|
|
<th>IP Address Hash</th>
|
|
<th>Banned Timestamp</th>
|
|
<th>Banned by</th>
|
|
<th>Banned Reason</th>
|
|
<th>Ban Lifted by</th>
|
|
<th>Recent Aliases</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for member in members %}
|
|
<tr>
|
|
<td><a class="waves-effect waves-light btn orange" {% if "Kick Members" not in permissions or member["kicked"] %}disabled{% endif %} onclick='revoke_user( "{{ guild['id'] }}" , {{ member['id'] }} )' >Kick</a></td>
|
|
{% if not member["banned"] %}
|
|
<td><a class="waves-effect waves-light btn red" {% if "Ban Members" not in permissions %}disabled{% endif %} {% if "Ban Members" in permissions %} onclick='initiate_ban( "{{ guild['id'] }}" , {{ member['id'] }} )' {% endif %} >Ban</a></td>
|
|
{% else %}
|
|
<td><a class="waves-effect waves-light btn red lighten-2" {% if "Ban Members" not in permissions %}disabled{% endif %} {% if "Ban Members" in permissions %} onclick='remove_ban( "{{ guild['id'] }}" , {{ member['id'] }} )' {% endif %} >Lift</a></td>
|
|
{% endif %}
|
|
<td>{{ member['username'] }}</td>
|
|
<td>{{ member['discrim'] }}</td>
|
|
<td>{{ member['last_visit'] }}</td>
|
|
<td>{{ member['ip'] }}</td>
|
|
<td>{{ member['banned_timestamp'] }}</td>
|
|
<td>{{ member['banned_by'] }}</td>
|
|
<td>{{ member['banned_reason'] }}</td>
|
|
<td>{{ member['ban_lifted_by'] }}</td>
|
|
<td>
|
|
<ul>
|
|
{% if member['aliases']|length > 0 %}
|
|
{% for alias in member['aliases'] %}
|
|
<li>{{ alias }}</li>
|
|
{% endfor %}
|
|
{% else %}
|
|
<li>None</li>
|
|
{% endif %}
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
<p>Note that all bans are by IP. Seeing duplicates? It is because users are generated a unique session on each browser load. (Though we try to remove/concat any duplicates IP hashes)</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div>
|
|
<br><hr>
|
|
{% include 'card_commands.html.j2' %}
|
|
|
|
{% include 'card_queryparams.html.j2' %}
|
|
|
|
{% endblock %}
|
|
{% block script %}
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/administrate_guild.js') }}"></script>
|
|
{% endblock %}
|