aboutsummaryrefslogtreecommitdiff
path: root/chat
diff options
context:
space:
mode:
authorBobby <[email protected]>2024-12-16 18:38:05 +0000
committerBobby <[email protected]>2024-12-16 18:38:05 +0000
commitea8f5e8517161c1bd52f61198138dfd2fc72f8e2 (patch)
tree19dd955137c8c6bb9c1143bbced320737cd93b09 /chat
parent04788ddd83c5e80a09a468d07427f0e365db71d7 (diff)
downloadthatcomputerscientist-ea8f5e8517161c1bd52f61198138dfd2fc72f8e2.tar.xz
thatcomputerscientist-ea8f5e8517161c1bd52f61198138dfd2fc72f8e2.zip
its all in a state of chaos, but it shall be working soon
Diffstat (limited to 'chat')
-rw-r--r--chat/chat_cache.py108
-rw-r--r--chat/consumers.py77
-rw-r--r--chat/skippy.py18
3 files changed, 105 insertions, 98 deletions
diff --git a/chat/chat_cache.py b/chat/chat_cache.py
index 8c107a6c..ed08c5dd 100644
--- a/chat/chat_cache.py
+++ b/chat/chat_cache.py
@@ -1,54 +1,54 @@
-import json
-
-import redis
-
-import os
-from dotenv import load_dotenv
-
-load_dotenv()
-
-r = redis.Redis(
- host=os.getenv('REDIS_HOST'),
- port=os.getenv('REDIS_PORT'),
- password=os.getenv('REDIS_PASSWORD'),
- db=0
-)
-
-def handle_connect():
- # increase number of connected users
- r.set('n_connected_lc_users', max(1, int(r.get('n_connected_lc_users')) + 1))
- print('There are now {} connected users.'.format(r.get('n_connected_lc_users')))
-
-def handle_disconnect():
- # decrease number of connected users
- r.set('n_connected_lc_users', max(0, int(r.get('n_connected_lc_users')) - 1))
- print('There are now {} connected users.'.format(r.get('n_connected_lc_users')))
-
-def handle_alone_user():
- if int(r.get('n_connected_lc_users')) == 1:
- return True
- else:
- return False
-
-def save_user_messages(user_identifier, message):
- # get user_messages from redis
- user_messages = r.get(user_identifier)
- if user_messages:
- user_messages = json.loads(user_messages)
- else:
- user_messages = []
- # append new message
- user_messages.append(message)
- # save user_messages to redis
- r.set(user_identifier, json.dumps(user_messages))
-
-def get_user_messages(user_identifier):
- # get user_messages from redis
- user_messages = r.get(user_identifier)
- if user_messages:
- return json.loads(user_messages)
- else:
- return []
-
-def discard_user_messages(user_identifier):
- r.delete(user_identifier) \ No newline at end of file
+# import json
+
+# import redis
+
+# import os
+# from dotenv import load_dotenv
+
+# load_dotenv()
+
+# r = redis.Redis(
+# host=os.getenv('REDIS_HOST'),
+# port=os.getenv('REDIS_PORT'),
+# password=os.getenv('REDIS_PASSWORD'),
+# db=0
+# )
+
+# def handle_connect():
+# # increase number of connected users
+# r.set('n_connected_lc_users', max(1, int(r.get('n_connected_lc_users')) + 1))
+# print('There are now {} connected users.'.format(r.get('n_connected_lc_users')))
+
+# def handle_disconnect():
+# # decrease number of connected users
+# r.set('n_connected_lc_users', max(0, int(r.get('n_connected_lc_users')) - 1))
+# print('There are now {} connected users.'.format(r.get('n_connected_lc_users')))
+
+# def handle_alone_user():
+# if int(r.get('n_connected_lc_users')) == 1:
+# return True
+# else:
+# return False
+
+# def save_user_messages(user_identifier, message):
+# # get user_messages from redis
+# user_messages = r.get(user_identifier)
+# if user_messages:
+# user_messages = json.loads(user_messages)
+# else:
+# user_messages = []
+# # append new message
+# user_messages.append(message)
+# # save user_messages to redis
+# r.set(user_identifier, json.dumps(user_messages))
+
+# def get_user_messages(user_identifier):
+# # get user_messages from redis
+# user_messages = r.get(user_identifier)
+# if user_messages:
+# return json.loads(user_messages)
+# else:
+# return []
+
+# def discard_user_messages(user_identifier):
+# r.delete(user_identifier)
diff --git a/chat/consumers.py b/chat/consumers.py
index da81449c..f5e89851 100644
--- a/chat/consumers.py
+++ b/chat/consumers.py
@@ -3,46 +3,50 @@ import json
from asgiref.sync import async_to_sync
from channels.generic.websocket import WebsocketConsumer
-from .chat_cache import (discard_user_messages, handle_alone_user,
- handle_connect, handle_disconnect)
+# from .chat_cache import (discard_user_messages, handle_alone_user,
+# handle_connect, handle_disconnect)
from .skippy import invokeMFSkippy
class ChatConsumer(WebsocketConsumer):
- def connect(self):
- self.room_group_name = "chat"
- # Join room group
- async_to_sync(self.channel_layer.group_add)(
- self.room_group_name, self.channel_name
- )
-
- self.accept()
- handle_connect()
-
- def disconnect(self, close_code):
- # Leave room group
- async_to_sync(self.channel_layer.group_discard)(
- self.room_group_name, self.channel_name
- )
- handle_disconnect()
- discard_user_messages(user_identifier=self.channel_name)
-
- def receive(self, text_data):
- text_data_json = json.loads(text_data)
- message = text_data_json['message']
- username = text_data_json['username']
-
- # Send message to room group
- async_to_sync(self.channel_layer.group_send)(
- self.room_group_name, {"type": "chat", "message": message, "username": username}
- )
- is_alone_user = handle_alone_user()
- if is_alone_user:
- skippy_message = invokeMFSkippy(message=message, identifier=self.channel_name)
- if skippy_message:
- async_to_sync(self.channel_layer.group_send)(
- self.room_group_name, {"type": "chat", "message": skippy_message, "username": "Skippy"}
- )
+ # def connect(self):
+ # self.room_group_name = "chat"
+ # # Join room group
+ # async_to_sync(self.channel_layer.group_add)(
+ # self.room_group_name, self.channel_name
+ # )
+
+ # self.accept()
+ # handle_connect()
+
+ # def disconnect(self, close_code):
+ # # Leave room group
+ # async_to_sync(self.channel_layer.group_discard)(
+ # self.room_group_name, self.channel_name
+ # )
+ # handle_disconnect()
+ # discard_user_messages(user_identifier=self.channel_name)
+
+ # def receive(self, text_data):
+ # text_data_json = json.loads(text_data)
+ # message = text_data_json["message"]
+ # username = text_data_json["username"]
+
+ # # Send message to room group
+ # async_to_sync(self.channel_layer.group_send)(
+ # self.room_group_name,
+ # {"type": "chat", "message": message, "username": username},
+ # )
+ # is_alone_user = handle_alone_user()
+ # if is_alone_user:
+ # skippy_message = invokeMFSkippy(
+ # message=message, identifier=self.channel_name
+ # )
+ # if skippy_message:
+ # async_to_sync(self.channel_layer.group_send)(
+ # self.room_group_name,
+ # {"type": "chat", "message": skippy_message, "username": "Skippy"},
+ # )
# Receive message from room group
def chat(self, event):
@@ -51,4 +55,3 @@ class ChatConsumer(WebsocketConsumer):
# Send message to WebSocket
self.send(text_data=json.dumps({"message": message, "username": username}))
-
diff --git a/chat/skippy.py b/chat/skippy.py
index 6fa3aaa1..55b6e593 100644
--- a/chat/skippy.py
+++ b/chat/skippy.py
@@ -1,10 +1,14 @@
-from .chat_cache import get_user_messages, save_user_messages
+# from .chat_cache import get_user_messages, save_user_messages
def invokeMFSkippy(message, identifier):
- save_user_messages(user_identifier=identifier, message={'content': message, 'role': 'user'})
- user_messages = get_user_messages(user_identifier=identifier)
- if len(user_messages) == 1:
- return "Skippy here. No one's around, you are free to browse around or keep sending messages like a weirdo. Bye."
- else:
- return None
+ # save_user_messages(
+ # user_identifier=identifier, message={"content": message, "role": "user"}
+ # )
+ # user_messages = get_user_messages(user_identifier=identifier)
+ # if len(user_messages) == 1:
+ return "Skippy here. No one's around, you are free to browse around or keep sending messages like a weirdo. Bye."
+
+
+# else:
+# return None