I have been learning Python and was trying to make a chat system which can be run by commands. This is my first attempt to write the code. Does this make sense or is it wrong usage of classes?
There is a User
class which will contain the user of the chat.
The Message
class is used to send messages and count their length.
class User:
def __init__(self):
self.users = []
def add_remove_user(self,input):
command, name = input[:1], input[1:]
if command == "+":
if not name in self.users:
self.users.append(name)
elif command == "-":
if name in self.users:
self.users.remove(name)
class Message:
def __init__(self,user):
self._messages=[]
self._user=user
def __parseMessage__(self,message):
parsedMessage=tuple(message.split(":"))
return parsedMessage
def send_message(self,inputMessage):
user,message = self.__parseMessage__(inputMessage)
if user in self._user.users:
self._messages.append(message)
def sent_messages_count(self):
count=0
for message in self._messages:
count += len(message)
return count
class MessageClient:
def __init__(self):
self.user=User()
self.message=Message(self.user)
def send(self,inputMessage):
if inputMessage[0] == "+" or inputMessage[0] == "-":
self.user.add_remove_user(inputMessage)
else:
self.message.send_message(inputMessage)
def sent_message_length(self):
return self.message.sent_messages_count()