mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 19:44:20 +00:00
Add profiles and osu! mini
This commit is contained in:
parent
48e047918f
commit
1df05801af
6 changed files with 160 additions and 52 deletions
|
@ -36,3 +36,96 @@ input[type="text"], input[type="password"] {
|
||||||
grid-column: 2;
|
grid-column: 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.game-panel {
|
||||||
|
max-width: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.osu {
|
||||||
|
display: grid;
|
||||||
|
position: relative;
|
||||||
|
font-family: 'Exo 2', 'Helvetica Neue', 'Arial', sans-serif;
|
||||||
|
font-style: italic;
|
||||||
|
border: 8px solid #ffffff;
|
||||||
|
border-radius: 10px;
|
||||||
|
color: #ffffff;
|
||||||
|
padding: 10px;
|
||||||
|
grid-row-gap: 4px;
|
||||||
|
|
||||||
|
.background-image {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
background-image: url("https://osu.ppy.sh/images/layout/nav-backgrounds/triangles-combined.png");
|
||||||
|
z-index: -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.background-color {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
background-color: rgba(187, 17, 119, 0.9);
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.player {
|
||||||
|
grid-row: 1;
|
||||||
|
grid-column-start: 1;
|
||||||
|
grid-column-end: 4;
|
||||||
|
font-size: large;
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.player-image {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 16px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.player-name {
|
||||||
|
vertical-align: middle;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.game-title {
|
||||||
|
grid-row: 2;
|
||||||
|
font-size: smaller;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.game-score {
|
||||||
|
grid-row: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.standard {
|
||||||
|
grid-column: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taiko {
|
||||||
|
grid-column: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.catch {
|
||||||
|
grid-column: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mania {
|
||||||
|
grid-column: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.number {
|
||||||
|
font-size: large;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pp {
|
||||||
|
font-size: x-small;
|
||||||
|
}
|
||||||
|
}
|
|
@ -359,11 +359,7 @@ def cmd_eat(bot: Bot, update: Update):
|
||||||
bot.send_message(update.message.chat.id, "⚠️ Non hai specificato cosa mangiare!\n"
|
bot.send_message(update.message.chat.id, "⚠️ Non hai specificato cosa mangiare!\n"
|
||||||
"Sintassi corretta: `/food <cibo>`")
|
"Sintassi corretta: `/food <cibo>`")
|
||||||
return
|
return
|
||||||
if food.startswith("Uran") and discord_connection is not None:
|
if "tonnuooooooro" in food.lower():
|
||||||
bot.send_message(update.message.chat.id, "☢️ Ti senti improvvisamente radioattivo.\n\n"
|
|
||||||
"__Il sito RYG, https://rygc.steffo.eu/, si è aggiornato!__")
|
|
||||||
return
|
|
||||||
elif "tonnuooooooro" in food.lower():
|
|
||||||
bot.send_message(update.message.chat.id, "👻 Il pesce che hai mangiato era posseduto.\n"
|
bot.send_message(update.message.chat.id, "👻 Il pesce che hai mangiato era posseduto.\n"
|
||||||
"Spooky!")
|
"Spooky!")
|
||||||
return
|
return
|
||||||
|
|
|
@ -4,42 +4,14 @@
|
||||||
Royal Games
|
Royal Games
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block posthead %}
|
|
||||||
<script>
|
|
||||||
function send() {
|
|
||||||
document.querySelector("#send").setAttribute("disabled", "true");
|
|
||||||
var x = new XMLHttpRequest();
|
|
||||||
x.open("GET", "{{ easter_egg }}", true);
|
|
||||||
x.send();
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<h1>
|
<h1>
|
||||||
Admin Dashboard
|
Royal Games
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<button>Ban</button> <input type="text" value="Sensei"> for <input type="text" value="sending nudes">
|
Benvenuto al sito web della Royal Games! E' ancora un po' triste e spoglio, ma spero che collaboriate a migliorarlo!
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<button>Create</button> useless Consiglio
|
Attualmente, sto sviluppando i <b>profili RYG</b>! Clicca <a href="/profile/{{ session['username'] }}">qui</a> per vedere il tuo.
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<button>Generate</button> random russian insults
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<button>Delete</button> some random messages from Telegram
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<button>Trigger</button> either @EvilBalu or @Protoh
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<button id="send" onclick="send()">Send</button> super secret file
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<h3>GDPR compliance</h3>
|
|
||||||
<a href="{{ url_for('static', filename='passwordisryg.kdbx') }}">Download</a> RYG members' passwords
|
|
||||||
</p>
|
</p>
|
||||||
{% endblock %}
|
{% endblock %}
|
37
templates/minis/osu.html
Normal file
37
templates/minis/osu.html
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
<style>
|
||||||
|
@import url('https://fonts.googleapis.com/css?family=Exo+2');
|
||||||
|
</style>
|
||||||
|
<div class="game-panel osu">
|
||||||
|
<div class="background-image"></div>
|
||||||
|
<div class="background-color"></div>
|
||||||
|
<div class="player">
|
||||||
|
<a href="https://osu.ppy.sh/users/{{ osu.osu_id }}">
|
||||||
|
<img src="https://a.ppy.sh/{{ osu.osu_id }}" class="player-image">
|
||||||
|
<span class="player-name">{{ osu.osu_name }}</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="game-title standard">
|
||||||
|
osu!
|
||||||
|
</div>
|
||||||
|
<div class="game-score standard">
|
||||||
|
<span class="number">{{ osu.std_pp | int }}</span><span class="pp">pp</span>
|
||||||
|
</div>
|
||||||
|
<div class="game-title taiko">
|
||||||
|
osu!taiko
|
||||||
|
</div>
|
||||||
|
<div class="game-score taiko">
|
||||||
|
<span class="number">{{ osu.taiko_pp | int }}</span><span class="pp">pp</span>
|
||||||
|
</div>
|
||||||
|
<div class="game-title catch">
|
||||||
|
osu!catch
|
||||||
|
</div>
|
||||||
|
<div class="game-score catch">
|
||||||
|
<span class="number">{{ osu.catch_pp | int }}</span><span class="pp">pp</span>
|
||||||
|
</div>
|
||||||
|
<div class="game-title mania">
|
||||||
|
osu!mania
|
||||||
|
</div>
|
||||||
|
<div class="game-score mania">
|
||||||
|
<span class="number">{{ osu.mania_pp | int }}</span><span class="pp">pp</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
14
templates/profile.html
Normal file
14
templates/profile.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
|
{% block pagetitle %}
|
||||||
|
Royal Games
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
<h1>
|
||||||
|
Profilo di {{ royal.username }}
|
||||||
|
</h1>
|
||||||
|
{% if osu %}
|
||||||
|
{% include "minis/osu.html" %}
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
28
webserver.py
28
webserver.py
|
@ -24,6 +24,18 @@ def page_main():
|
||||||
return redirect(url_for("page_login"))
|
return redirect(url_for("page_login"))
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/profile/<name>")
|
||||||
|
def page_profile(name: str):
|
||||||
|
db_session = db.Session()
|
||||||
|
user = db_session.query(db.Royal).filter_by(username=name).one_or_none()
|
||||||
|
if user is None:
|
||||||
|
db_session.close()
|
||||||
|
abort(404)
|
||||||
|
return
|
||||||
|
osu = db_session.query(db.Osu).filter_by(royal=user).one_or_none()
|
||||||
|
return render_template("profile.html", royal=user, osu=osu)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/login")
|
@app.route("/login")
|
||||||
def page_login():
|
def page_login():
|
||||||
return render_template("login.html")
|
return render_template("login.html")
|
||||||
|
@ -73,22 +85,6 @@ def page_password():
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@app.route(config["Flask"]["easter_egg"])
|
|
||||||
def page_easter_egg():
|
|
||||||
username = fl_session.get("username")
|
|
||||||
if username is None:
|
|
||||||
abort(403)
|
|
||||||
return
|
|
||||||
db_session = db.Session()
|
|
||||||
user = db_session.query(db.Telegram).join(db.Royal).filter_by(username=username).one()
|
|
||||||
db_session.close()
|
|
||||||
requests.get("https://api.telegram.org/bot490383363:AAG-_iipLeU2Vl0CfAG-YbRzy-mAndfANBc/sendDocument", params={
|
|
||||||
"chat_id": user.telegram_id,
|
|
||||||
"document": "BQADAgADqgEAAu2JiEjObmr6xD7y7AI",
|
|
||||||
"caption": "Super-secret file"
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
try:
|
try:
|
||||||
app.run(host="0.0.0.0", port=1234, debug=__debug__)
|
app.run(host="0.0.0.0", port=1234, debug=__debug__)
|
||||||
|
|
Loading…
Reference in a new issue