From e0cb92d654b794b2a6d5c65413215f6f1248ee13 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sat, 19 Mar 2022 23:20:23 +0200 Subject: [PATCH 01/50] fart --- files/templates/chat.html | 343 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 343 insertions(+) create mode 100644 files/templates/chat.html diff --git a/files/templates/chat.html b/files/templates/chat.html new file mode 100644 index 000000000..743091401 --- /dev/null +++ b/files/templates/chat.html @@ -0,0 +1,343 @@ +{% extends "default.html" %} + +{% block PseudoSubmitForm %}{% endblock %} +{% block sidebar %}{% endblock %} +{% block navbar %}{% endblock %} +{% block sortnav %}{% endblock %} +{% block viewfilters %}{% endblock %} +{% block mobilenavbar %}{% endblock %} +{% block mobile_description %}{% endblock %} + +{% block title %} +Chat + +{% endblock %} + +{% block desktopbanner %} +{% endblock %} + +{% block infobar %} +
+ + + +
+{% endblock %} + +{% block content %} + +
+ +
+
+
+
+
+

+
+
+
+ {% if request.path.endswith('/chat') %} +
+
+ + +
+ + {% if v.has_premium %} + + {% endif %} + +
+ + {% else %} +
+
+ + +
+ +
+ {% if v.has_premium %} + + {% endif %} + +
+
+ + {% endif %} + + + +
+
+
+ + + +
+
+ + @ +
+ +
+
+
+
+
+
+ +
+
+
+ + + +
+
+ + from @ to me. +
+ +
+
+
+
+
+
+ +
+
+
+ + + +
+
+ + from me to @. +
+ +
+
+
+
+
+
+ +
+
+
+ + + +
+
+ + @ +
+ +
+
+
+
+
+
+ +
+
+

+
+
+ +
+
+

+
+
+ +
+
+

+
+
+ +
+
+

+
+
+ +
+
+
+ + + +
+
+ + @ +
+ +
+
+
+
+
+
+ +
+
+
+ + + +
+
+ + + +
+ +
+
+
+
+
+
+ +
+
+
+ + + +
+
+ + @ +
+ +
+
+
+
+
+
+ +
+
+
+ + + +
+
+ + @ +
+ +
+
+
+
+
+
+
+ + + + + + + + +{% endblock %} + +gunicorn ruqqus.__main__:app load_chat -k eventlet -w 1 --worker-connections 1000 --max-requests 1000000 --preload --bind 127.0.0.1:5001 -D \ No newline at end of file From 24178a691ac575332e56adacf1588238f3603480 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sat, 19 Mar 2022 23:20:27 +0200 Subject: [PATCH 02/50] mart --- files/routes/admin.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/files/routes/admin.py b/files/routes/admin.py index 0907b2aa3..52e1e6d10 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -24,6 +24,12 @@ 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//') @admin_level_required(3) def merge(v, id1, id2): From a6fbcddad2abd4f0696df8799dab44a4cc6b7f43 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:16:13 +0200 Subject: [PATCH 03/50] bu --- files/__main__.py | 3 +- files/routes/__init__.py | 3 +- files/routes/admin.py | 6 -- files/routes/chat.py | 122 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 125 insertions(+), 9 deletions(-) create mode 100644 files/routes/chat.py diff --git a/files/__main__.py b/files/__main__.py index 891f364ce..61e6249dc 100644 --- a/files/__main__.py +++ b/files/__main__.py @@ -1,5 +1,4 @@ -import gevent.monkey -gevent.monkey.patch_all() + from os import environ, path import secrets from flask import * diff --git a/files/routes/__init__.py b/files/routes/__init__.py index e9121b46a..bcca8b043 100644 --- a/files/routes/__init__.py +++ b/files/routes/__init__.py @@ -15,4 +15,5 @@ from .votes import * from .feeds import * from .awards import * from .giphy import * -from .subs import * \ No newline at end of file +from .subs import * +from .chat import * \ No newline at end of file diff --git a/files/routes/admin.py b/files/routes/admin.py index 52e1e6d10..0907b2aa3 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -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//') @admin_level_required(3) def merge(v, id1, id2): diff --git a/files/routes/chat.py b/files/routes/chat.py new file mode 100644 index 000000000..3d8525c1e --- /dev/null +++ b/files/routes/chat.py @@ -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) \ No newline at end of file From f04ff5fc97b42d9f160ea974df8378c2ed055527 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:27:34 +0200 Subject: [PATCH 04/50] fds --- files/routes/chat.py | 95 ++------------------------------------------ 1 file changed, 4 insertions(+), 91 deletions(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index 3d8525c1e..aca77d25f 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -1,33 +1,12 @@ 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 files.__main__ import app, db_session from datetime import datetime -import requests -from urllib.parse import quote, urlencode +from flask_socketio import SocketIO - - -import sys -from flask_socketio import * - -month = datetime.now().strftime('%B') - -sex = SocketIO( - app - ) +sex = SocketIO(app) @app.get("/chat") @auth_required @@ -35,75 +14,9 @@ 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 +@auth_required def speak(data, v): raw_text=data['text'][0:1000].lstrip().rstrip() From e1088a00ab20dfef4a031b8e1ec8d256f849309f Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:28:43 +0200 Subject: [PATCH 05/50] fds --- files/routes/chat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index aca77d25f..9c23621bf 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -4,7 +4,7 @@ from files.helpers.sanitize import * from flask import * from files.__main__ import app, db_session from datetime import datetime -from flask_socketio import SocketIO +from flask_socketio import * sex = SocketIO(app) From 6caf3e1a8c1a1c9c69d065ad97c902c54a5f7d47 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:29:28 +0200 Subject: [PATCH 06/50] fds --- files/routes/chat.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index 9c23621bf..f4b492ce1 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -1,20 +1,18 @@ -import time -from files.helpers.wrappers import * -from files.helpers.sanitize import * -from flask import * -from files.__main__ import app, db_session +from time import gmtime +from files.helpers.wrappers import auth_required +from files.helpers.sanitize import sanitize from datetime import datetime -from flask_socketio import * +from flask_socketio import SocketIO, emit sex = SocketIO(app) + @app.get("/chat") @auth_required def chat( v): return render_template("chat.html", v=v) - @sex.on('speak') @auth_required def speak(data, v): @@ -28,7 +26,7 @@ def speak(data, v): "avatar": v.profile_url, "username":v.username, "text":text, - "time": time.strftime("%d %b %Y at %H:%M:%S", time.gmtime(int(time.time()))), + "time": time.strftime("%d %b %Y at %H:%M:%S", gmtime(int(time.time()))), "userlink":v.url } From e7965d692352dab131c5e96e5d52ac8c515ade35 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:29:51 +0200 Subject: [PATCH 07/50] dfs --- files/routes/chat.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index f4b492ce1..c509ee502 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -6,7 +6,6 @@ from flask_socketio import SocketIO, emit sex = SocketIO(app) - @app.get("/chat") @auth_required def chat( v): @@ -17,10 +16,7 @@ def chat( v): @auth_required def speak(data, v): - raw_text=data['text'][0:1000].lstrip().rstrip() - if not raw_text:return - - text = sanitize(raw_text) + text = sanitize(data['text'][0:1000].strip()) data={ "avatar": v.profile_url, From 90fa5644efa6ddbb202e22b6f35b1a82be2d6b80 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:30:04 +0200 Subject: [PATCH 08/50] fds --- files/routes/chat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index c509ee502..92d3a9b4d 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -16,7 +16,7 @@ def chat( v): @auth_required def speak(data, v): - text = sanitize(data['text'][0:1000].strip()) + text = sanitize(data['text'][:1000].strip()) data={ "avatar": v.profile_url, From a192a6f7970d7b685e9898d9a235c13637923c3d Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:30:39 +0200 Subject: [PATCH 09/50] fds --- files/routes/chat.py | 1 + 1 file changed, 1 insertion(+) diff --git a/files/routes/chat.py b/files/routes/chat.py index 92d3a9b4d..66707eb38 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -3,6 +3,7 @@ from files.helpers.wrappers import auth_required from files.helpers.sanitize import sanitize from datetime import datetime from flask_socketio import SocketIO, emit +from files.__main__ import app sex = SocketIO(app) From fa702c6bada1a01925a1d67eb4a63cad1d794db7 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:31:10 +0200 Subject: [PATCH 10/50] fds --- files/routes/chat.py | 1 + 1 file changed, 1 insertion(+) diff --git a/files/routes/chat.py b/files/routes/chat.py index 66707eb38..e4891d3ff 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -4,6 +4,7 @@ from files.helpers.sanitize import sanitize from datetime import datetime from flask_socketio import SocketIO, emit from files.__main__ import app +from flask import render_template sex = SocketIO(app) From 1e31baf0cf946436b479eb9607306974be4b5cc5 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:33:00 +0200 Subject: [PATCH 11/50] fd --- files/routes/chat.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index e4891d3ff..5f39051bd 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -1,4 +1,4 @@ -from time import gmtime +from time import gmtime, strftime from files.helpers.wrappers import auth_required from files.helpers.sanitize import sanitize from datetime import datetime @@ -24,7 +24,7 @@ def speak(data, v): "avatar": v.profile_url, "username":v.username, "text":text, - "time": time.strftime("%d %b %Y at %H:%M:%S", gmtime(int(time.time()))), + "time": strftime("%d %b %Y at %H:%M:%S", gmtime(int(time.time()))), "userlink":v.url } From c0509d0d318826f919cc2166d9ef3a0e44bb1693 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:35:46 +0200 Subject: [PATCH 12/50] fd --- files/routes/chat.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index 5f39051bd..59495e0c1 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -1,4 +1,4 @@ -from time import gmtime, strftime +import time from files.helpers.wrappers import auth_required from files.helpers.sanitize import sanitize from datetime import datetime @@ -24,7 +24,7 @@ def speak(data, v): "avatar": v.profile_url, "username":v.username, "text":text, - "time": strftime("%d %b %Y at %H:%M:%S", gmtime(int(time.time()))), + "time": time.strftime("%d %b %Y at %H:%M:%S", time.gmtime(int(time.time()))), "userlink":v.url } From 9ea573177b4bc371f224ec2279d7d9885ef91e1f Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:36:57 +0200 Subject: [PATCH 13/50] fgd --- files/routes/chat.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index 59495e0c1..d1e4f3f0d 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -28,4 +28,5 @@ def speak(data, v): "userlink":v.url } - emit('speak', data) \ No newline at end of file + emit('speak', data) + return True \ No newline at end of file From a3f9f68391bec3829ba7c1f8db377213547bcaf2 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:38:01 +0200 Subject: [PATCH 14/50] fds --- files/routes/chat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index d1e4f3f0d..4174b9da7 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -29,4 +29,4 @@ def speak(data, v): } emit('speak', data) - return True \ No newline at end of file + return '', 204 \ No newline at end of file From 5627d777163b32916d579d7324f8bcd78aefb399 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:47:52 +0200 Subject: [PATCH 15/50] sfd --- files/templates/chat.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/files/templates/chat.html b/files/templates/chat.html index 743091401..b2319d548 100644 --- a/files/templates/chat.html +++ b/files/templates/chat.html @@ -338,6 +338,4 @@ } -{% endblock %} - -gunicorn ruqqus.__main__:app load_chat -k eventlet -w 1 --worker-connections 1000 --max-requests 1000000 --preload --bind 127.0.0.1:5001 -D \ No newline at end of file +{% endblock %} \ No newline at end of file From 0cbcb35ce62e2fd85677567fa5c7e2af06526cb4 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 00:49:20 +0200 Subject: [PATCH 16/50] rightoids cant code --- files/templates/chat.html | 184 +------------------------------------- 1 file changed, 2 insertions(+), 182 deletions(-) diff --git a/files/templates/chat.html b/files/templates/chat.html index b2319d548..cfee5344a 100644 --- a/files/templates/chat.html +++ b/files/templates/chat.html @@ -29,7 +29,7 @@
-
+
@@ -93,195 +93,15 @@
- -
-
-
- - - -
-
- - from @ to me. -
- -
-
-
-
-
-
- -
-
-
- - - -
-
- - from me to @. -
- -
-
-
-
-
-
- -
-
-
- - - -
-
- - @ -
- -
-
-
-
-
-
- -
-
-

-
-
- -
-
-

-
-
- -
-
-

-
-
- -
-
-

-
-
- -
-
-
- - - -
-
- - @ -
- -
-
-
-
-
-
- -
-
-
- - - -
-
- - + -
- -
-
-
-
-
-
- -
-
-
- - - -
-
- - @ -
- -
-
-
-
-
-
- -
-
-
- - - -
-
- - @ -
- -
-
-
-
-
-
- + {% endblock %} \ No newline at end of file From a8c6ca9ab184c339a5b57612ef7903010d865336 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 01:04:23 +0200 Subject: [PATCH 19/50] fds --- files/routes/chat.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/files/routes/chat.py b/files/routes/chat.py index 4174b9da7..831ee5767 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -18,12 +18,10 @@ def chat( v): @auth_required def speak(data, v): - text = sanitize(data['text'][:1000].strip()) - data={ "avatar": v.profile_url, "username":v.username, - "text":text, + "text":sanitize(data[:1000].strip()), "time": time.strftime("%d %b %Y at %H:%M:%S", time.gmtime(int(time.time()))), "userlink":v.url } From f0394e916c81f7a823c627a82537e2c887b3ae2e Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 01:05:32 +0200 Subject: [PATCH 20/50] fds --- files/templates/chat.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/templates/chat.html b/files/templates/chat.html index 60233ca18..6fc02c604 100644 --- a/files/templates/chat.html +++ b/files/templates/chat.html @@ -50,7 +50,7 @@
- + {% endblock %} \ No newline at end of file From 9b447810e9118408ff43fb8690c2d10cbd07ab9e Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sun, 20 Mar 2022 01:09:09 +0200 Subject: [PATCH 22/50] vdf --- files/templates/chat.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/templates/chat.html b/files/templates/chat.html index f8d416b79..8ac8cc20a 100644 --- a/files/templates/chat.html +++ b/files/templates/chat.html @@ -50,7 +50,7 @@ - +