remotes/1693045480750635534/spooky-22
Aevann1 2022-03-20 00:16:13 +02:00
parent 08edd88a39
commit a6fbcddad2
4 changed files with 125 additions and 9 deletions

View File

@ -1,5 +1,4 @@
import gevent.monkey
gevent.monkey.patch_all()
from os import environ, path
import secrets
from flask import *

View File

@ -15,4 +15,5 @@ from .votes import *
from .feeds import *
from .awards import *
from .giphy import *
from .subs import *
from .subs import *
from .chat import *

View File

@ -24,12 +24,6 @@ GUMROAD_TOKEN = environ.get("GUMROAD_TOKEN", "").strip()
month = datetime.now().strftime('%B')
@app.get("/chat")
@auth_required
def chat( v):
return render_template("chat.html", v=v)
@app.post('/admin/merge/<id1>/<id2>')
@admin_level_required(3)
def merge(v, id1, id2):

View File

@ -0,0 +1,122 @@
import time
from os import remove
from PIL import Image as IMAGE
from files.helpers.wrappers import *
from files.helpers.alerts import *
from files.helpers.sanitize import *
from files.helpers.security import *
from files.helpers.get import *
from files.helpers.images import *
from files.helpers.const import *
from files.classes import *
from flask import *
from files.__main__ import app, cache, limiter, db_session
from .front import frontlist
from files.helpers.discord import add_role
from datetime import datetime
import requests
from urllib.parse import quote, urlencode
import sys
from flask_socketio import *
month = datetime.now().strftime('%B')
sex = SocketIO(
app
)
@app.get("/chat")
@auth_required
def chat( v):
return render_template("chat.html", v=v)
SIDS={}
COMMANDS={}
HELP={}
TYPING={}
@sex.on('connect')
def socket_connect_auth_user():
g.db=db_session()
v=get_logged_in_user()
if v.id in SIDS:
SIDS[v.id].append(request.sid)
else:
SIDS[v.id]=[request.sid]
emit("status", {'status':"connected"})
g.db.close()
def socket_auth_required(f):
def wrapper(*args, **kwargs):
g.db=db_session()
v=get_logged_in_user()
if request.sid not in SIDS.get(v.id, []):
if v.id in SIDS:
SIDS[v.id].append(request.sid)
else:
SIDS[v.id]=[request.sid]
f(*args, v, **kwargs)
g.db.close()
wrapper.__name__=f.__name__
return wrapper
@sex.on('join room')
@socket_auth_required
def join_guild_room(data, v):
return True
@sex.on('leave room')
@socket_auth_required
def leave_guild_room(data, v):
emit("status", {'status':f"Left #{guild.name}"})
@sex.on('speak')
@socket_auth_required
def speak(data, v):
raw_text=data['text'][0:1000].lstrip().rstrip()
if not raw_text:return
text = sanitize(raw_text)
data={
"avatar": v.profile_url,
"username":v.username,
"text":text,
"time": time.strftime("%d %b %Y at %H:%M:%S", time.gmtime(int(time.time()))),
"userlink":v.url
}
emit('speak', data)