mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-02-22 02:25:56 +08:00
✨ implement all self-built app event
This commit is contained in:
parent
4fc655323d
commit
625c12fc12
@ -1,7 +1,7 @@
|
|||||||
import inspect
|
import inspect
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from typing import Any, List, Literal, Optional, Type
|
from typing import Any, Dict, List, Literal, Optional, Type
|
||||||
from pygtrie import StringTrie
|
from pygtrie import StringTrie
|
||||||
from pydantic import BaseModel, root_validator, Field
|
from pydantic import BaseModel, root_validator, Field
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ class MessageEvent(Event):
|
|||||||
reply: Optional[Reply]
|
reply: Optional[Reply]
|
||||||
|
|
||||||
@overrides(Event)
|
@overrides(Event)
|
||||||
def get_type(self) -> Literal["message", "notice", "meta_event"]:
|
def get_type(self) -> Literal["message", "notice"]:
|
||||||
return "message"
|
return "message"
|
||||||
|
|
||||||
@overrides(Event)
|
@overrides(Event)
|
||||||
@ -217,8 +217,35 @@ class PrivateMessageEvent(MessageEvent):
|
|||||||
|
|
||||||
|
|
||||||
class NoticeEvent(Event):
|
class NoticeEvent(Event):
|
||||||
#TODO:实现该事件
|
event: Dict[str, Any]
|
||||||
...
|
|
||||||
|
@overrides(Event)
|
||||||
|
def get_type(self) -> Literal["message", "notice"]:
|
||||||
|
return "notice"
|
||||||
|
|
||||||
|
@overrides(Event)
|
||||||
|
def get_event_name(self) -> str:
|
||||||
|
raise ValueError("Event has no name!")
|
||||||
|
|
||||||
|
@overrides(Event)
|
||||||
|
def get_event_description(self) -> str:
|
||||||
|
raise ValueError("Event has no description!")
|
||||||
|
|
||||||
|
@overrides(Event)
|
||||||
|
def get_message(self) -> Message:
|
||||||
|
raise ValueError("Event has no message!")
|
||||||
|
|
||||||
|
@overrides(Event)
|
||||||
|
def get_plaintext(self) -> str:
|
||||||
|
raise ValueError("Event has no plaintext!")
|
||||||
|
|
||||||
|
@overrides(Event)
|
||||||
|
def get_user_id(self) -> str:
|
||||||
|
raise ValueError("Event has no user_id!")
|
||||||
|
|
||||||
|
@overrides(Event)
|
||||||
|
def get_session_id(self) -> str:
|
||||||
|
raise ValueError("Event has no session_id!")
|
||||||
|
|
||||||
|
|
||||||
class MessageReader(BaseModel):
|
class MessageReader(BaseModel):
|
||||||
@ -237,6 +264,134 @@ class MessageReadEvent(NoticeEvent):
|
|||||||
event: MessageReadEventDetail
|
event: MessageReadEventDetail
|
||||||
|
|
||||||
|
|
||||||
|
class GroupDisbandedEventDetail(BaseModel):
|
||||||
|
chat_id: str
|
||||||
|
operator_id: UserId
|
||||||
|
external: bool
|
||||||
|
operator_tenant_key: str
|
||||||
|
|
||||||
|
|
||||||
|
class GroupDisbandedEvent(NoticeEvent):
|
||||||
|
__event__ = "im.chat.disbanded_v1"
|
||||||
|
event: GroupDisbandedEventDetail
|
||||||
|
|
||||||
|
|
||||||
|
class I18nNames(BaseModel):
|
||||||
|
zh_cn: str
|
||||||
|
en_us: str
|
||||||
|
ja_jp: str
|
||||||
|
|
||||||
|
|
||||||
|
class ChatChange(BaseModel):
|
||||||
|
avatar: str
|
||||||
|
name: str
|
||||||
|
description: str
|
||||||
|
i18n_names: I18nNames
|
||||||
|
add_member_permission: str
|
||||||
|
share_card_permission: str
|
||||||
|
at_all_permission: str
|
||||||
|
edit_permission: str
|
||||||
|
membership_approval: str
|
||||||
|
join_message_visibility: str
|
||||||
|
leave_message_visibility: str
|
||||||
|
moderation_permission: str
|
||||||
|
owner_id: UserId
|
||||||
|
|
||||||
|
|
||||||
|
class EventModerator(BaseModel):
|
||||||
|
tenant_key: str
|
||||||
|
user_id: UserId
|
||||||
|
|
||||||
|
|
||||||
|
class ModeratorList(BaseModel):
|
||||||
|
added_member_list: EventModerator
|
||||||
|
removed_member_list: EventModerator
|
||||||
|
|
||||||
|
|
||||||
|
class GroupConfigUpdatedEventDetail(BaseModel):
|
||||||
|
chat_id: str
|
||||||
|
operator_id: UserId
|
||||||
|
external: bool
|
||||||
|
operator_tenant_key: str
|
||||||
|
after_change: ChatChange
|
||||||
|
before_change: ChatChange
|
||||||
|
moderator_list: ModeratorList
|
||||||
|
|
||||||
|
|
||||||
|
class GroupConfigUpdatedEvent(NoticeEvent):
|
||||||
|
__event__ = "im.chat.updated_v1"
|
||||||
|
event: GroupConfigUpdatedEventDetail
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberBotAddedEventDetail(BaseModel):
|
||||||
|
chat_id: str
|
||||||
|
operator_id: UserId
|
||||||
|
external: bool
|
||||||
|
operator_tenant_key: str
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberBotAddedEvent(NoticeEvent):
|
||||||
|
__event__ = "im.chat.member.bot.added_v1"
|
||||||
|
event: GroupMemberBotAddedEventDetail
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberBotDeletedEventDetail(BaseModel):
|
||||||
|
chat_id: str
|
||||||
|
operator_id: UserId
|
||||||
|
external: bool
|
||||||
|
operator_tenant_key: str
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberBotDeletedEvent(NoticeEvent):
|
||||||
|
__event__ = "im.chat.member.bot.deleted_v1"
|
||||||
|
event: GroupMemberBotDeletedEventDetail
|
||||||
|
|
||||||
|
|
||||||
|
class ChatMemberUser(BaseModel):
|
||||||
|
name: str
|
||||||
|
tenant_key: str
|
||||||
|
user_id: UserId
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberUserAddedEventDetail(BaseModel):
|
||||||
|
chat_id: str
|
||||||
|
operator_id: UserId
|
||||||
|
external: bool
|
||||||
|
operator_tenant_key: str
|
||||||
|
users: List[ChatMemberUser]
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberUserAddedEvent(NoticeEvent):
|
||||||
|
__event__ = "im.chat.member.user.added_v1"
|
||||||
|
event: GroupMemberUserAddedEventDetail
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberUserWithdrawnEventDetail(BaseModel):
|
||||||
|
chat_id: str
|
||||||
|
operator_id: UserId
|
||||||
|
external: bool
|
||||||
|
operator_tenant_key: str
|
||||||
|
users: List[ChatMemberUser]
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberUserWithdrawnEvent(NoticeEvent):
|
||||||
|
__event__ = "im.chat.member.user.withdrawn_v1"
|
||||||
|
event: GroupMemberUserWithdrawnEventDetail
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberUserDeletedEventDetail(BaseModel):
|
||||||
|
chat_id: str
|
||||||
|
operator_id: UserId
|
||||||
|
external: bool
|
||||||
|
operator_tenant_key: str
|
||||||
|
users: List[ChatMemberUser]
|
||||||
|
|
||||||
|
|
||||||
|
class GroupMemberUserDeletedEvent(NoticeEvent):
|
||||||
|
__event__ = "im.chat.member.user.deleted_v1"
|
||||||
|
event: GroupMemberUserDeletedEventDetail
|
||||||
|
|
||||||
|
|
||||||
_t = StringTrie(separator=".")
|
_t = StringTrie(separator=".")
|
||||||
|
|
||||||
# define `model` first to avoid globals changing while `for`
|
# define `model` first to avoid globals changing while `for`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user