modified: app.py
new file: templates/leaderboard.html
This commit is contained in:
30
app.py
30
app.py
@@ -8,7 +8,7 @@ import os
|
||||
import subprocess
|
||||
import psutil
|
||||
import mysql.connector
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timedelta
|
||||
from flask_session import Session
|
||||
|
||||
app = Flask(__name__)
|
||||
@@ -488,6 +488,34 @@ def user_dashboard(guild_id):
|
||||
flash("Please log in to view your dashboard.", "danger")
|
||||
return redirect(url_for("landing_page"))
|
||||
|
||||
@app.route("/user_dashboard/<int:guild_id>/leaderboard")
|
||||
def leaderboard(guild_id):
|
||||
"""Zeigt das Level Leaderboard für einen bestimmten Server an."""
|
||||
if "discord_user" in session:
|
||||
connection = get_db_connection()
|
||||
cursor = connection.cursor(dictionary=True)
|
||||
|
||||
# Holen des aktuellen Datums und des Datums von einem Monat zurück
|
||||
current_date = datetime.now()
|
||||
one_month_ago = current_date - timedelta(days=30)
|
||||
|
||||
# Abfrage für das Leaderboard
|
||||
cursor.execute("""
|
||||
SELECT nickname, profile_picture, level, xp, join_date
|
||||
FROM user_data
|
||||
WHERE guild_id = %s
|
||||
AND ban = 0
|
||||
AND (leave_date IS NULL OR leave_date > %s)
|
||||
ORDER BY level DESC, xp DESC
|
||||
""", (guild_id, one_month_ago))
|
||||
|
||||
leaderboard_data = cursor.fetchall()
|
||||
|
||||
cursor.close()
|
||||
connection.close()
|
||||
|
||||
return render_template("leaderboard.html", leaderboard=leaderboard_data, guild_id=guild_id)
|
||||
return redirect(url_for("landing_page"))
|
||||
|
||||
@app.route("/server_giveaways/<int:guild_id>")
|
||||
def server_giveaways(guild_id):
|
||||
|
||||
Reference in New Issue
Block a user