🚧 add api methods define

This commit is contained in:
Mix
2021-01-30 20:40:00 +08:00
parent c82ceefc8b
commit 95f27824ee
2 changed files with 214 additions and 13 deletions

View File

@ -1,4 +1,4 @@
from typing import TYPE_CHECKING
from typing import Any
from pydantic import Field
@ -10,7 +10,7 @@ from .base import Event, PrivateSenderInfo, SenderInfo
class MessageEvent(Event):
message_chain: MessageChain = Field(alias='messageChain')
sender: SenderInfo
sender: Any
@overrides(Event)
def get_message(self) -> MessageChain:
@ -22,20 +22,36 @@ class MessageEvent(Event):
@overrides(Event)
def get_user_id(self) -> str:
return str(self.sender.id)
raise NotImplementedError
@overrides(Event)
def get_session_id(self) -> str:
return self.get_user_id()
raise NotImplementedError
class GroupMessage(MessageEvent):
pass
sender: SenderInfo
@overrides(MessageEvent)
def get_session_id(self) -> str:
return f'group_{self.sender.group.id}_' + self.get_user_id()
class FriendMessage(MessageEvent):
sender: PrivateSenderInfo
@overrides(MessageEvent)
def get_user_id(self) -> str:
return str(self.sender.id)
@overrides
def get_session_id(self) -> str:
return 'friend_' + self.get_user_id()
class TempMessage(MessageEvent):
pass
sender: SenderInfo
@overrides
def get_session_id(self) -> str:
return f'temp_{self.sender.group.id}_' + self.get_user_id()