bu
This commit is contained in:
parent
aed606a8b1
commit
0ff1a663e8
4 changed files with 125 additions and 9 deletions
122
files/routes/chat.py
Normal file
122
files/routes/chat.py
Normal 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)
|
Loading…
Add table
Add a link
Reference in a new issue