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 = {} @dataclass 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)