20 lines
No EOL
483 B
Python
20 lines
No EOL
483 B
Python
import socket
|
|
from dataclasses import dataclass, field
|
|
|
|
from source.network.packet.abc import Packet
|
|
|
|
|
|
@dataclass
|
|
class PacketChat(Packet):
|
|
message: str = field()
|
|
|
|
def to_bytes(self):
|
|
return self.message.encode("utf-8")
|
|
|
|
@classmethod
|
|
def from_bytes(cls, data: bytes):
|
|
return cls(message=data.decode("utf-8"))
|
|
|
|
@classmethod
|
|
def from_connection(cls, connection: socket.socket) -> "PacketChat":
|
|
return cls.from_bytes(connection.recv(256)) |