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__()
|
super().__init__()
|
||||||
self._default = default
|
self._default = default
|
||||||
|
|
||||||
def get(self, key, default=None):
|
def __missing__(self, key):
|
||||||
return super().get(key, self._default if default is None else default)
|
return self._default
|
||||||
|
|
||||||
def __getitem__(self, key):
|
|
||||||
return super().get(key, self._default)
|
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ class Job:
|
||||||
return 2 * x * random() - x
|
return 2 * x * random() - x
|
||||||
|
|
||||||
|
|
||||||
class Tokens(tuple):
|
class Tokens(Tuple[str]):
|
||||||
def get(self, pos, default=None):
|
def get(self, pos, default=None):
|
||||||
try:
|
try:
|
||||||
return self[pos]
|
return self[pos]
|
||||||
|
|
@ -68,11 +68,15 @@ class Message:
|
||||||
text: str
|
text: str
|
||||||
room: nio.rooms.MatrixRoom
|
room: nio.rooms.MatrixRoom
|
||||||
event: nio.events.room_events.RoomMessageText
|
event: nio.events.room_events.RoomMessageText
|
||||||
tokens: Tokens = None
|
tokens: Tokens = (
|
||||||
words: Tokens = None
|
None # The text split up into clean tokens, to be used for command handlers.
|
||||||
is_for_me: bool = False
|
)
|
||||||
command: Optional[str] = None
|
words: Tokens = (
|
||||||
args: Optional[Tokens] = None
|
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
|
@property
|
||||||
def sender_name(self) -> str:
|
def sender_name(self) -> str:
|
||||||
|
|
@ -87,6 +91,10 @@ class Message:
|
||||||
# "A group is an unnamed room with no canonical alias."
|
# "A group is an unnamed room with no canonical alias."
|
||||||
return self.room.is_group and self.room.member_count == 2
|
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):
|
def __post_init__(self):
|
||||||
self.tokens = Tokens.from_str(self.text)
|
self.tokens = Tokens.from_str(self.text)
|
||||||
self.words = self.tokens
|
self.words = self.tokens
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue