aboutsummaryrefslogtreecommitdiff
path: root/chat/chat_cache.py
diff options
context:
space:
mode:
authorBobby <[email protected]>2023-05-17 20:15:08 -0400
committerBobby <[email protected]>2023-05-17 20:15:08 -0400
commit488b7ee1233aefbb7bb70ee5958676f852139025 (patch)
tree0697e181a58c33ff0dc9a4bbcde1e1f0cc1b20d6 /chat/chat_cache.py
parentdec69b9a6bdd2845d402280ded58fcafa2809c14 (diff)
downloadthatcomputerscientist-488b7ee1233aefbb7bb70ee5958676f852139025.tar.xz
thatcomputerscientist-488b7ee1233aefbb7bb70ee5958676f852139025.zip
Protected usernames + Skippy comes to chat to lonely users + Handle Multiple Chat users
Diffstat (limited to 'chat/chat_cache.py')
-rw-r--r--chat/chat_cache.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/chat/chat_cache.py b/chat/chat_cache.py
new file mode 100644
index 00000000..08cbf178
--- /dev/null
+++ b/chat/chat_cache.py
@@ -0,0 +1,43 @@
+import redis
+import json
+
+r = redis.Redis(host='localhost', port=6379, 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