minor refactoring
This commit is contained in:
parent
e7009406c6
commit
81a176eb0c
2 changed files with 16 additions and 11 deletions
|
|
@ -17,11 +17,8 @@ class Fallbackdict(dict):
|
|||
super().__init__()
|
||||
self._default = default
|
||||
|
||||
def get(self, key, default=None):
|
||||
return super().get(key, self._default if default is None else default)
|
||||
|
||||
def __getitem__(self, key):
|
||||
return super().get(key, self._default)
|
||||
def __missing__(self, key):
|
||||
return self._default
|
||||
|
||||
|
||||
class Config:
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ class Job:
|
|||
return 2 * x * random() - x
|
||||
|
||||
|
||||
class Tokens(tuple):
|
||||
class Tokens(Tuple[str]):
|
||||
def get(self, pos, default=None):
|
||||
try:
|
||||
return self[pos]
|
||||
|
|
@ -68,11 +68,15 @@ class Message:
|
|||
text: str
|
||||
room: nio.rooms.MatrixRoom
|
||||
event: nio.events.room_events.RoomMessageText
|
||||
tokens: Tokens = None
|
||||
words: Tokens = None
|
||||
is_for_me: bool = False
|
||||
command: Optional[str] = None
|
||||
args: Optional[Tokens] = None
|
||||
tokens: Tokens = (
|
||||
None # The text split up into clean tokens, to be used for command handlers.
|
||||
)
|
||||
words: Tokens = (
|
||||
None # A subset of the message tokens excluding any command keyword.
|
||||
)
|
||||
is_for_me: bool = False # Wether the user addressed the bot using its name.
|
||||
command: Optional[str] = None # The command keyword issued by the user, if any.
|
||||
args: Optional[Tokens] = None # args will always be set if command is set
|
||||
|
||||
@property
|
||||
def sender_name(self) -> str:
|
||||
|
|
@ -87,6 +91,10 @@ class Message:
|
|||
# "A group is an unnamed room with no canonical alias."
|
||||
return self.room.is_group and self.room.member_count == 2
|
||||
|
||||
# @property
|
||||
# def words(self) -> Tokens:
|
||||
# return self.args or self.tokens
|
||||
|
||||
def __post_init__(self):
|
||||
self.tokens = Tokens.from_str(self.text)
|
||||
self.words = self.tokens
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue