Spaces:
Running
Running
from datetime import datetime | |
import random | |
import uuid | |
from dataclasses import dataclass | |
# Shared state to store messages | |
messages = [] | |
# Dictionary to store user colors | |
user_colors = {} | |
class Data: | |
user_id: str | |
message: str | |
timestamp: str | |
def get_user_color(user_id): | |
if user_id not in user_colors: | |
user_colors[user_id] = f"#{random.randint(0, 0xFFFFFF):06x}" | |
return user_colors[user_id] | |
def chat(input_text): | |
global messages | |
# Parse the input to get user_id and message | |
user_id, message = input_text.split("; ") | |
# Add the new message to the shared state | |
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") | |
user_color = get_user_color(user_id) | |
messages.append(Data(user_id=user_id, message=message, timestamp=timestamp)) | |
# Print the updated chat history | |
for msg in messages: | |
print(f"User_{msg.user_id[:4]}: {msg.message} ({msg.timestamp})") | |
# Example usage | |
if __name__ == "__main__": | |
while True: | |
input_text = input("Enter your message (format: 'id here; text here'): ") | |
chat(input_text) | |