mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-05 11:26:43 +08:00
72 lines
2.1 KiB
Python
72 lines
2.1 KiB
Python
from typing import TYPE_CHECKING
|
|
|
|
from typing_extensions import Literal
|
|
|
|
if TYPE_CHECKING:
|
|
from nonebot.adapters.onebot.v11 import GroupMessageEvent, PrivateMessageEvent
|
|
|
|
|
|
def fake_group_message_event(**field) -> "GroupMessageEvent":
|
|
from nonebot.adapters.onebot.v11 import GroupMessageEvent, Message
|
|
from nonebot.adapters.onebot.v11.event import Sender
|
|
from pydantic import create_model
|
|
|
|
_Fake = create_model("_Fake", __base__=GroupMessageEvent)
|
|
|
|
class FakeEvent(_Fake):
|
|
time: int = 1000000
|
|
self_id: int = 1
|
|
post_type: Literal["message"] = "message"
|
|
sub_type: str = "normal"
|
|
user_id: int = 10
|
|
message_type: Literal["group"] = "group"
|
|
group_id: int = 10000
|
|
message_id: int = 1
|
|
message: Message = Message("test")
|
|
raw_message: str = "test"
|
|
font: int = 0
|
|
sender: Sender = Sender(
|
|
card="",
|
|
nickname="test",
|
|
role="member",
|
|
)
|
|
to_me: bool = False
|
|
|
|
class Config:
|
|
extra = "forbid"
|
|
|
|
return FakeEvent(**field)
|
|
|
|
|
|
def fake_private_message_event(**field) -> "PrivateMessageEvent":
|
|
from nonebot.adapters.onebot.v11 import Message, PrivateMessageEvent
|
|
from nonebot.adapters.onebot.v11.event import Sender
|
|
from pydantic import create_model
|
|
|
|
_Fake = create_model("_Fake", __base__=PrivateMessageEvent)
|
|
|
|
class FakeEvent(_Fake):
|
|
time: int = 1000000
|
|
self_id: int = 1
|
|
post_type: Literal["message"] = "message"
|
|
sub_type: str = "friend"
|
|
user_id: int = 10
|
|
message_type: Literal["private"] = "private"
|
|
message_id: int = 1
|
|
message: Message = Message("test")
|
|
raw_message: str = "test"
|
|
font: int = 0
|
|
sender: Sender = Sender(nickname="test")
|
|
to_me: bool = False
|
|
|
|
class Config:
|
|
extra = "forbid"
|
|
|
|
return FakeEvent(**field)
|
|
|
|
|
|
from nonebot.adapters.onebot.v11.event import Sender
|
|
|
|
fake_admin_user = Sender(nickname="test", role="admin")
|
|
fake_superuser = Sender(user_id=10001, nickname="superuser")
|