1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-30 15:04:18 +00:00

cose da pcbalu

This commit is contained in:
Steffo 2018-10-04 12:46:15 +02:00
parent d81c23caed
commit 4537b0494f
7 changed files with 51 additions and 24 deletions

6
db.py
View file

@ -963,6 +963,12 @@ class Halloween(Base):
count += 1 count += 1
return count return count
@staticmethod
def event_started() -> bool:
session = Session()
halloweens = session.query(Halloween).all()
return bool(halloweens)
@staticmethod @staticmethod
def puzzle_status() -> typing.List[bool]: def puzzle_status() -> typing.List[bool]:
session = Session() session = Session()

View file

@ -858,7 +858,7 @@ class RoyalDiscordBot(discord.Client):
@requires_connected_voice_client @requires_connected_voice_client
async def cmd_resume(self, channel: discord.TextChannel, author: discord.Member, params: typing.List[str]): async def cmd_resume(self, channel: discord.TextChannel, author: discord.Member, params: typing.List[str]):
for voice_client in self.voice_clients: for voice_client in self.voice_clients:
if voice_client.is_playing(): if voice_client.is_paused():
voice_client.resume() voice_client.resume()
logger.debug(f"The audio stream was resumed.") logger.debug(f"The audio stream was resumed.")
await channel.send(f"⏯ Riproduzione ripresa.") await channel.send(f"⏯ Riproduzione ripresa.")

View file

@ -37,3 +37,6 @@ client_id =
client_secret = client_secret =
username = username =
password = password =
[Events]
halloween = 0

View file

@ -7,11 +7,7 @@
{% block prehead %}{% endblock %} {% block prehead %}{% endblock %}
<title>{% block pagetitle %}{% endblock %} - Royal Games</title> <title>{% block pagetitle %}{% endblock %} - Royal Games</title>
<link href="{{ url_for('static', filename='pygments.css') }}" rel="stylesheet" type="text/css"> <link href="{{ url_for('static', filename='pygments.css') }}" rel="stylesheet" type="text/css">
{% if config["DEBUG"] %} <link href="{{ url_for('static', filename={{ g["css"] }}) }}" rel="stylesheet/less" type="text/css">
<link href="{{ url_for('static', filename='spoopy.less') }}" rel="stylesheet/less" type="text/css">
{% else %}
<link href="{{ url_for('static', filename='nryg.less') }}" rel="stylesheet/less" type="text/css">
{% endif %}
<script src="https://cdnjs.cloudflare.com/ajax/libs/less.js/3.0.2/less.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/less.js/3.0.2/less.min.js"></script>
{% block posthead %}{% endblock %} {% block posthead %}{% endblock %}
</head> </head>
@ -23,8 +19,8 @@
<a href="/">Home</a> <a href="/">Home</a>
<span class="desktop-only"> <span class="desktop-only">
{% if session.get('username') is not none %} {% if session.get('username') is not none %}
<a href="{{ rygconf['Telegram']['invite_link'] }}">Telegram</a> <a href="{{ g["rygconf"]['Telegram']['invite_link'] }}">Telegram</a>
<a href="{{ rygconf['Discord']['invite_link'] }}">Discord</a> <a href="{{ g["rygconf"]['Discord']['invite_link'] }}">Discord</a>
<a href="https://steamcommunity.com/groups/royalgamescastle">Steam</a> <a href="https://steamcommunity.com/groups/royalgamescastle">Steam</a>
<a href="https://new.reddit.com/r/RoyalGames/">/r/RoyalGames</a> <a href="https://new.reddit.com/r/RoyalGames/">/r/RoyalGames</a>
{% endif %} {% endif %}

View file

@ -28,7 +28,7 @@
Royal Games Royal Games
</h1> </h1>
<div class="main-page"> <div class="main-page">
{% if config["DEBUG"] %} {% if g["css"] == "spoopy.less" %}
<div class="halloween"> <div class="halloween">
<div class="box"> <div class="box">
<div class="upper-box"> <div class="upper-box">
@ -97,7 +97,7 @@
<div class="lower-box"> <div class="lower-box">
<ul> <ul>
<li><a href="/game/ryg">Royal Games</a></li> <li><a href="/game/ryg">Royal Games</a></li>
{% if config["DEBUG"] %} {% if rygconf["Events"]["halloween"] %}
<li><a href="/game/halloween">Rituale di Halloween</a></li> <li><a href="/game/halloween">Rituale di Halloween</a></li>
{% endif %} {% endif %}
<li><a href="/game/tg">Telegram</a></li> <li><a href="/game/tg">Telegram</a></li>

View file

@ -1,5 +1,6 @@
from flask import Flask, render_template, request, abort, redirect, url_for, Markup, escape from flask import Flask, render_template, request, abort, redirect, url_for, Markup, escape
from flask import session as fl_session from flask import session as fl_session
from flask import g as fl_g
import db import db
import bcrypt import bcrypt
import configparser import configparser
@ -28,7 +29,7 @@ sentry = Sentry(app, dsn=config["Sentry"]["token"])
@app.errorhandler(400) @app.errorhandler(400)
def error_400(_=None): def error_400(_=None):
return render_template("400.html", rygconf=config) return render_template("400.html", g=fl_g)
@app.route("/400") @app.route("/400")
@ -38,7 +39,7 @@ def page_400():
@app.errorhandler(403) @app.errorhandler(403)
def error_403(_=None): def error_403(_=None):
return render_template("403.html", rygconf=config) return render_template("403.html", g=fl_g)
@app.route("/403") @app.route("/403")
@ -48,7 +49,7 @@ def page_403():
@app.errorhandler(500) @app.errorhandler(500)
def error_500(_=None): def error_500(_=None):
return render_template("500.html", rygconf=config) return render_template("500.html", g=fl_g)
@app.route("/500") @app.route("/500")
@ -69,7 +70,7 @@ def page_main():
halloween = db.Halloween.puzzle_status() halloween = db.Halloween.puzzle_status()
db_session.close() db_session.close()
return render_template("main.html", royals=royals, wiki_pages=wiki_pages, entry=random_diario, return render_template("main.html", royals=royals, wiki_pages=wiki_pages, entry=random_diario,
next_events=next_events, rygconf=config, escape=escape, halloween=enumerate(halloween)) next_events=next_events, g=fl_g, escape=escape, halloween=enumerate(halloween))
@app.route("/profile/<name>") @app.route("/profile/<name>")
@ -98,13 +99,13 @@ def page_profile(name: str):
else: else:
converted_bio = "" converted_bio = ""
return render_template("profile.html", ryg=user, css=css, osu=osu, dota=dota, lol=lol, steam=steam, ow=ow, return render_template("profile.html", ryg=user, css=css, osu=osu, dota=dota, lol=lol, steam=steam, ow=ow,
tg=tg, discord=discord, rygconf=config, bio=converted_bio, gamelog=gamelog, tg=tg, discord=discord, g=fl_g, bio=converted_bio, gamelog=gamelog,
halloween=halloween) halloween=halloween)
@app.route("/login") @app.route("/login")
def page_login(): def page_login():
return render_template("login.html", rygconf=config) return render_template("login.html", g=fl_g)
@app.route("/loggedin", methods=["POST"]) @app.route("/loggedin", methods=["POST"])
@ -146,7 +147,7 @@ def page_password():
if request.method == "GET": if request.method == "GET":
if user_id is None: if user_id is None:
return redirect(url_for("page_login")) return redirect(url_for("page_login"))
return render_template("password.html", rygconf=config) return render_template("password.html", g=fl_g)
elif request.method == "POST": elif request.method == "POST":
new_password = request.form.get("new", "") new_password = request.form.get("new", "")
db_session = db.Session() db_session = db.Session()
@ -171,7 +172,7 @@ def page_editprofile():
profile_data = db_session.query(db.ProfileData).filter_by(royal_id=user_id).join(db.Royal).one_or_none() profile_data = db_session.query(db.ProfileData).filter_by(royal_id=user_id).join(db.Royal).one_or_none()
if request.method == "GET": if request.method == "GET":
db_session.close() db_session.close()
return render_template("profileedit.html", data=profile_data, rygconf=config) return render_template("profileedit.html", data=profile_data, g=fl_g)
elif request.method == "POST": elif request.method == "POST":
css = request.form.get("css", "") css = request.form.get("css", "")
bio = request.form.get("bio", "") bio = request.form.get("bio", "")
@ -241,7 +242,7 @@ def page_game(name: str):
abort(404) abort(404)
return return
db_session.close() db_session.close()
return render_template("game.html", minis=query, game_name=game_name, game_short_name=name, rygconf=config) return render_template("game.html", minis=query, game_name=game_name, game_short_name=name, g=fl_g)
@app.route("/wiki") @app.route("/wiki")
@ -249,7 +250,7 @@ def page_wikihome():
db_session = db.Session() db_session = db.Session()
wiki_pages = db_session.query(db.WikiEntry).order_by(db.WikiEntry.key).all() wiki_pages = db_session.query(db.WikiEntry).order_by(db.WikiEntry.key).all()
db_session.close() db_session.close()
return render_template("wikilist.html", wiki_pages=wiki_pages, rygconf=config) return render_template("wikilist.html", wiki_pages=wiki_pages, g=fl_g)
@app.route("/wiki/<key>", methods=["GET", "POST"]) @app.route("/wiki/<key>", methods=["GET", "POST"])
@ -261,7 +262,7 @@ def page_wiki(key: str):
.order_by(db.WikiLog.timestamp.desc()).first() .order_by(db.WikiLog.timestamp.desc()).first()
db_session.close() db_session.close()
if wiki_page is None: if wiki_page is None:
return render_template("wikipage.html", key=key, rygconf=config) return render_template("wikipage.html", key=key, g=fl_g)
# Embed YouTube videos # Embed YouTube videos
converted_md = markdown2.markdown(wiki_page.content.replace("<", "&lt;"), converted_md = markdown2.markdown(wiki_page.content.replace("<", "&lt;"),
extras=["spoiler", "tables", "smarty-pants", "fenced-code-blocks"]) extras=["spoiler", "tables", "smarty-pants", "fenced-code-blocks"])
@ -276,7 +277,7 @@ def page_wiki(key: str):
r' </iframe>' r' </iframe>'
r'</div>', converted_md) r'</div>', converted_md)
return render_template("wikipage.html", key=key, wiki_page=wiki_page, converted_md=Markup(converted_md), return render_template("wikipage.html", key=key, wiki_page=wiki_page, converted_md=Markup(converted_md),
wiki_log=wiki_latest_edit, rygconf=config) wiki_log=wiki_latest_edit, g=fl_g)
elif request.method == "POST": elif request.method == "POST":
user_id = fl_session.get('user_id') user_id = fl_session.get('user_id')
user = db_session.query(db.Royal).filter_by(id=user_id).one() user = db_session.query(db.Royal).filter_by(id=user_id).one()
@ -329,7 +330,22 @@ def page_diario():
db_session = db.Session() db_session = db.Session()
diario_entries = db_session.query(db.Diario).order_by(db.Diario.timestamp.desc()).all() diario_entries = db_session.query(db.Diario).order_by(db.Diario.timestamp.desc()).all()
db_session.close() db_session.close()
return render_template("diario.html", rygconf=config, entries=diario_entries) return render_template("diario.html", g=fl_g, entries=diario_entries)
@app.route("/spooky", methods=["POST"])
def page_spooky():
if request.form.get("solution", "") != "1":
return redirect("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
user_id = fl_session.get("user_id")
if not user_id:
return redirect("https://www.youtube.com/watch?v=djV11Xbc914")
db_session = db.Session()
user = db_session.query(db.Royal).filter_by(id=user_id).one()
halloween = db.Halloween(royal=user, first_trigger=datetime.datetime.now())
db_session.add(halloween)
db_session.commit()
return redirect(url_for("page_main"))
@app.route("/ritual/<int:n>", methods=["GET", "POST"]) @app.route("/ritual/<int:n>", methods=["GET", "POST"])
@ -338,7 +354,7 @@ def page_ritual(n: int):
if not user_id: if not user_id:
return redirect(url_for("page_login")) return redirect(url_for("page_login"))
if request.method == "GET": if request.method == "GET":
return render_template("ritual.html", rygconf=config, n=n) return render_template("ritual.html", g=fl_g, n=n)
elif request.method == "POST": elif request.method == "POST":
if n == 1: if n == 1:
pass pass
@ -363,6 +379,12 @@ def page_ritual(n: int):
return redirect(url_for("page_ritual", n=n)) return redirect(url_for("page_ritual", n=n))
@app.before_request
def pre_request():
fl_g["css"] = "spoopy.less" if db.Halloween.event_started() else "nryg.less"
fl_g["rygconf"] = config
if __name__ == "__main__": if __name__ == "__main__":
try: try:
app.run(host="0.0.0.0", port=1235, debug=__debug__) app.run(host="0.0.0.0", port=1235, debug=__debug__)