mirror of
https://github.com/skylanix/MamieHenriette.git
synced 2026-02-06 06:40:35 +01:00
Refonte du systeme d'avertissement et devient un moderation_event
Ajout de la commande !ban !kick !unban !listevent Ajout du role ID dans le panel , et possibilité d'activé les commandes via le panel
This commit is contained in:
@@ -17,6 +17,12 @@ def updateConfiguration():
|
||||
ConfigurationHelper().createOrUpdate('humble_bundle_enable', False)
|
||||
if (request.form.get("proton_db_api_id") != None and request.form.get("proton_db_enable_enable") == None) :
|
||||
ConfigurationHelper().createOrUpdate('proton_db_enable_enable', False)
|
||||
if (request.form.get("moderation_staff_role_id") != None and request.form.get("moderation_enable") == None) :
|
||||
ConfigurationHelper().createOrUpdate('moderation_enable', False)
|
||||
if (request.form.get("moderation_staff_role_id") != None and request.form.get("moderation_ban_enable") == None) :
|
||||
ConfigurationHelper().createOrUpdate('moderation_ban_enable', False)
|
||||
if (request.form.get("moderation_staff_role_id") != None and request.form.get("moderation_kick_enable") == None) :
|
||||
ConfigurationHelper().createOrUpdate('moderation_kick_enable', False)
|
||||
db.session.commit()
|
||||
return redirect(request.referrer)
|
||||
|
||||
|
||||
@@ -1,9 +1,24 @@
|
||||
from flask import render_template
|
||||
from flask import render_template, request, redirect, url_for
|
||||
from webapp import webapp
|
||||
from database.models import Warning
|
||||
from database import db
|
||||
from database.models import ModerationEvent
|
||||
|
||||
@webapp.route("/moderation")
|
||||
def moderation():
|
||||
warnings = Warning.query.order_by(Warning.created_at.desc()).all()
|
||||
return render_template("moderation.html", warnings=warnings)
|
||||
events = ModerationEvent.query.order_by(ModerationEvent.created_at.desc()).all()
|
||||
return render_template("moderation.html", events=events)
|
||||
|
||||
@webapp.route("/moderation/update/<int:event_id>", methods=['POST'])
|
||||
def update_moderation_event(event_id):
|
||||
event = ModerationEvent.query.get_or_404(event_id)
|
||||
event.reason = request.form.get('reason')
|
||||
db.session.commit()
|
||||
return redirect(url_for('moderation'))
|
||||
|
||||
@webapp.route("/moderation/delete/<int:event_id>")
|
||||
def delete_moderation_event(event_id):
|
||||
event = ModerationEvent.query.get_or_404(event_id)
|
||||
db.session.delete(event)
|
||||
db.session.commit()
|
||||
return redirect(url_for('moderation'))
|
||||
|
||||
|
||||
@@ -55,4 +55,32 @@
|
||||
</select>
|
||||
<input type="Submit" value="Définir">
|
||||
</form>
|
||||
|
||||
<h2>Modération Discord</h2>
|
||||
<form action="{{ url_for('updateConfiguration') }}" method="POST">
|
||||
<label for="moderation_enable">Activer les avertissements</label>
|
||||
<input type="checkbox" name="moderation_enable" {% if configuration.getValue('moderation_enable') %}
|
||||
checked="checked" {% endif %}>
|
||||
<label>Activer les commandes d'avertissement (!averto, !delaverto, !listaverto)</label>
|
||||
|
||||
<label for="moderation_ban_enable">Activer le ban</label>
|
||||
<input type="checkbox" name="moderation_ban_enable" {% if configuration.getValue('moderation_ban_enable') %}
|
||||
checked="checked" {% endif %}>
|
||||
<label>Activer les commandes de bannissement (!ban, !unban)</label>
|
||||
|
||||
<label for="moderation_kick_enable">Activer le kick</label>
|
||||
<input type="checkbox" name="moderation_kick_enable" {% if configuration.getValue('moderation_kick_enable') %}
|
||||
checked="checked" {% endif %}>
|
||||
<label>Activer la commande d'expulsion (!kick)</label>
|
||||
|
||||
<label for="moderation_staff_role_id">ID du rôle Staff</label>
|
||||
<input name="moderation_staff_role_id" type="text" value="{{ configuration.getValue('moderation_staff_role_id') }}"
|
||||
placeholder="581990740431732738" />
|
||||
|
||||
<label for="moderation_embed_delete_delay">Délai de suppression des embeds (en secondes, 0 = ne pas supprimer)</label>
|
||||
<input name="moderation_embed_delete_delay" type="number" value="{{ configuration.getValue('moderation_embed_delete_delay') or '0' }}"
|
||||
placeholder="0" min="0" />
|
||||
|
||||
<input type="Submit" value="Définir">
|
||||
</form>
|
||||
{% endblock %}
|
||||
@@ -2,25 +2,39 @@
|
||||
|
||||
{% block content %}
|
||||
<h1>Modération Discord</h1>
|
||||
<p>Liste des avertissements émis sur le serveur Discord.</p>
|
||||
<p>Historique des actions de modération sur le serveur Discord.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Type</th>
|
||||
<th>Utilisateur</th>
|
||||
<th>Discord ID</th>
|
||||
<th>Date & Heure</th>
|
||||
<th>Raison</th>
|
||||
<th>Staff</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for warning in warnings %}
|
||||
{% for event in events %}
|
||||
<tr>
|
||||
<td>{{ warning.username }}</td>
|
||||
<td>{{ warning.discord_id }}</td>
|
||||
<td>{{ warning.created_at.strftime('%d/%m/%Y %H:%M') if warning.created_at else 'N/A' }}</td>
|
||||
<td>{{ warning.reason }}</td>
|
||||
<td>{{ warning.staff_name }}</td>
|
||||
<td>{{ event.id }}</td>
|
||||
<td>{{ event.type }}</td>
|
||||
<td>{{ event.username }}</td>
|
||||
<td>{{ event.discord_id }}</td>
|
||||
<td>{{ event.created_at.strftime('%d/%m/%Y %H:%M') if event.created_at else 'N/A' }}</td>
|
||||
<td>
|
||||
<form action="{{ url_for('update_moderation_event', event_id = event.id) }}" method="POST" style="margin: 0;">
|
||||
<input name="reason" type="text" value="{{ event.reason }}" style="width: 100%;" />
|
||||
</form>
|
||||
</td>
|
||||
<td>{{ event.staff_name }}</td>
|
||||
<td>
|
||||
<a href="javascript:void(0)" onclick="this.parentElement.parentElement.querySelector('form').submit()">Modifier</a>
|
||||
|
|
||||
<a href="{{ url_for('delete_moderation_event', event_id = event.id) }}" onclick="return confirm('Êtes-vous sûr de vouloir supprimer cet événement ?')">🗑️ Supprimer</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user