|
@@ -8,7 +8,7 @@ from collections import defaultdict
|
|
|
from datetime import timedelta
|
|
|
|
|
|
import toml
|
|
|
-from flask import Flask, jsonify, request
|
|
|
+from flask import Flask, jsonify, request, render_template_string
|
|
|
from flask_cors import CORS
|
|
|
|
|
|
IDLE_TIMEOUT = timedelta(minutes=5)
|
|
@@ -149,6 +149,52 @@ def get_status():
|
|
|
return jsonify({"users": [u.replace(r"\s", " ") for u in get_users()[0]]})
|
|
|
|
|
|
|
|
|
+@app.route("/page")
|
|
|
+def get_page():
|
|
|
+
|
|
|
+ print(get_users()[0])
|
|
|
+ return render_template_string("""
|
|
|
+ <!DOCTYPE html>
|
|
|
+ <html lang="en">
|
|
|
+ <head>
|
|
|
+ <title>Teamspeak Status</title>
|
|
|
+ <style>
|
|
|
+ body {
|
|
|
+ margin: 0;
|
|
|
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
|
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
|
+ sans-serif;
|
|
|
+ -webkit-font-smoothing: antialiased;
|
|
|
+ -moz-osx-font-smoothing: grayscale;
|
|
|
+ margin: 0px 0px 0px 0px;
|
|
|
+ padding: 0px 0px 0px 0px;
|
|
|
+ color: #ddd;
|
|
|
+ background-color: #111;
|
|
|
+ }
|
|
|
+ .users {
|
|
|
+ list-style-type: none;
|
|
|
+ padding: 0;
|
|
|
+ margin: 0;
|
|
|
+ margin-top: 0.4em;
|
|
|
+ }
|
|
|
+ .user {
|
|
|
+ font-size: 0.6em;
|
|
|
+ margin-left: 0.8em;
|
|
|
+ padding-bottom: 0.2em;
|
|
|
+ }
|
|
|
+ </style>
|
|
|
+ </head>
|
|
|
+ <body>
|
|
|
+ <ul class="users">
|
|
|
+ {% for user in users %}
|
|
|
+ <li class="user">{{ user }}</li>
|
|
|
+ {% endfor %}
|
|
|
+ </ul>
|
|
|
+ </body>
|
|
|
+ </html>
|
|
|
+ """, users=[u.replace(r"\s", " ") for u in get_users()[0]])
|
|
|
+
|
|
|
+
|
|
|
@app.route("/audiobot", methods=["POST"])
|
|
|
def message_audiobot():
|
|
|
temp_dir = tempfile.mkdtemp()
|