From 8c5c02f040cdaf80b29f4e22d2213ce9cbdd0ee9 Mon Sep 17 00:00:00 2001 From: Artin Date: Thu, 3 Dec 2020 01:46:51 +0800 Subject: [PATCH] :label: Update `BaseEvent` typing --- nonebot/adapters/__init__.py | 10 +++++----- nonebot/adapters/ding/event.py | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/nonebot/adapters/__init__.py b/nonebot/adapters/__init__.py index a7dd7b21..271ff543 100644 --- a/nonebot/adapters/__init__.py +++ b/nonebot/adapters/__init__.py @@ -137,27 +137,27 @@ class BaseBot(abc.ABC): raise NotImplementedError -T = TypeVar("T", dict, BaseModel) +T = TypeVar("T", bound=BaseModel) -class BaseEvent(abc.ABC, Generic[T]): +class BaseEvent(Generic[T], abc.ABC): """ Event 基类。提供上报信息的关键信息,其余信息可从原始上报消息获取。 """ - def __init__(self, raw_event: T): + def __init__(self, raw_event: Union[dict, T]): """ :参数: * ``raw_event: T``: 原始上报消息 """ - self._raw_event: T = raw_event + self._raw_event = raw_event def __repr__(self) -> str: return f"" @property - def raw_event(self) -> T: + def raw_event(self) -> Union[dict, T]: """原始上报消息""" return self._raw_event diff --git a/nonebot/adapters/ding/event.py b/nonebot/adapters/ding/event.py index a4c50e9d..f462f0d3 100644 --- a/nonebot/adapters/ding/event.py +++ b/nonebot/adapters/ding/event.py @@ -1,4 +1,5 @@ -from typing import Literal, Union +from typing import Literal + from nonebot.adapters import BaseEvent from nonebot.typing import Optional