class Message:
# Typed attributes
def __init__(self, content: str, payload={}, metadata={}):
self.content = content # can be empty, even though it doesn't make sense. Cannot be None
self.payload = payload # Implemented by the dev user, can be empty
self.metadata = metadata # timestamp, user_id, etc. TODO: define the metadata
class Message:
content: str
payload: dict
metadata: dict
# Typed attributes
def __init__(self, content: str, payload={}, metadata={}):
self.content = content # can be empty, even though it doesn't make sense. Cannot be None
self.payload = payload # Implemented by the dev user, can be empty
self.metadata = metadata # timestamp, user_id, etc. TODO: define the metadata
To add type hints and autocompletiton.
from dataclasses import dataclass, field
@dataclass
class Message:
content: str # can be empty, even though it doesn't make sense. Cannot be None
payload: dict = field(default_factory=dict) # Implemented by the dev user, can be empty
metadata: dict = field(default_factory=dict) # timestamp, user_id, etc. TODO: define the metadata
This avoids boilerplate.