Skip to content

Commit ddb84c2

Browse files
💥 修复类型错误 (#75)
* 🐛 修正赋值类型为 EventType * 🚨 补全override * 🐛 修正参数类型 * ♻️ 重构部分事件模型 * 🐛 修正适配器中的 Bot 类型引用 * 🔥 移除不需要的条件判断 * 💥 修改事件类中的时间戳属性名称 * 🐛 修正事件类中的时间戳属性名称 * 🔥 移除 MessageSegment 的类型收窄 * 🐛 修正 Bot 类中的适配器引用和类型注解 * 🐛 修正 MessageEvent 类中的 original_message 类型校验 * 🧪 统一测试替身与共享 fixture 将重复的 DummyAdapter/DummyBot 和局部 fixture 收敛到 tests/fake 与 conftest,减少测试样板并提升一致性。顺带修复若干测试类型收窄问题,保持现有测试语义不变。 * ✅ 修复测试 * ✅ 修正 DummyBot 构造函数中的适配器初始化逻辑 * 🐛 修正 Bot 类中的消息类型检查逻辑 * 🐛 添加对 Event.timestamp 旧行为的兜底
1 parent cd87e1a commit ddb84c2

22 files changed

Lines changed: 699 additions & 682 deletions

nonebot/adapters/discord/adapter.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from typing import Any, cast
1010
from typing_extensions import override
1111

12-
from nonebot.adapters import Adapter as BaseAdapter
12+
from nonebot.adapters import Adapter as BaseAdapter, Bot as BaseBot
1313

1414
from nonebot.compat import type_validate_json, type_validate_python
1515
from nonebot.drivers import URL, Driver, ForwardDriver, Request, WebSocket
@@ -22,7 +22,7 @@
2222
from .bot import Bot
2323
from .commands import sync_application_command
2424
from .config import BotInfo, Config
25-
from .event import Event, MessageEvent, ReadyEvent, event_classes
25+
from .event import Event, EventType, MessageEvent, ReadyEvent, event_classes
2626
from .exception import ApiNotAvailable
2727
from .payload import (
2828
Dispatch,
@@ -471,12 +471,12 @@ def payload_to_event(cls, payload: Dispatch) -> Event:
471471
f"Unknown payload type: {payload.type}, detail: {payload!r}",
472472
)
473473
event = type_validate_python(Event, payload.data)
474-
event.__type__ = payload.type
474+
event.__type__ = EventType(payload.type)
475475
return event
476476
return type_validate_python(cast("type[Event]", EventClass), payload.data)
477477

478478
@override
479-
async def _call_api(self, bot: Bot, api: str, **data: Any) -> Any:
479+
async def _call_api(self, bot: BaseBot, api: str, **data: Any) -> Any:
480480
log("DEBUG", f"Calling API <y>{api}</y>")
481481
api_handler = getattr(self, f"_api_{api}", None)
482482
if api_handler is None:

nonebot/adapters/discord/api/__init__.py

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -149,12 +149,10 @@
149149
IntegrationCreate,
150150
IntegrationDelete,
151151
IntegrationUpdate,
152-
Interaction,
153152
InteractionCallbackAutocomplete,
154153
InteractionCallbackData,
155154
InteractionCallbackMessage,
156155
InteractionCallbackModal,
157-
InteractionCreate,
158156
InteractionData,
159157
InteractionResponse,
160158
Invite,
@@ -174,23 +172,13 @@
174172
MentionableOption,
175173
MessageActivity,
176174
MessageComponentData,
177-
MessageCreate,
178-
MessageDelete,
179-
MessageDeleteBulk,
180175
MessageGet,
181176
MessageInteraction,
182177
MessageInteractionMetadata,
183-
MessagePollVoteAdd,
184-
MessagePollVoteRemove,
185-
MessageReactionAdd,
186-
MessageReactionRemove,
187-
MessageReactionRemoveAll,
188-
MessageReactionRemoveEmoji,
189178
MessageReference,
190179
MessageSend,
191180
MessageSnapshot,
192181
MessageSnapshotMessage,
193-
MessageUpdate,
194182
ModalSubmitData,
195183
ModifyChannelParams,
196184
ModifyGuildIncidentActionsParams,
@@ -263,7 +251,6 @@
263251
ThreadMetadata,
264252
ThreadUpdate,
265253
TriggerMetadata,
266-
TypingStart,
267254
UnavailableGuild,
268255
UpdatePresence,
269256
UpdateVoiceState,
@@ -549,14 +536,12 @@
549536
"IntegrationDelete",
550537
"IntegrationExpireBehaviors",
551538
"IntegrationUpdate",
552-
"Interaction",
553539
"InteractionCallbackAutocomplete",
554540
"InteractionCallbackData",
555541
"InteractionCallbackMessage",
556542
"InteractionCallbackModal",
557543
"InteractionCallbackType",
558544
"InteractionContextType",
559-
"InteractionCreate",
560545
"InteractionData",
561546
"InteractionResponse",
562547
"InteractionType",
@@ -584,26 +569,16 @@
584569
"MessageActivity",
585570
"MessageActivityType",
586571
"MessageComponentData",
587-
"MessageCreate",
588-
"MessageDelete",
589-
"MessageDeleteBulk",
590572
"MessageFlag",
591573
"MessageGet",
592574
"MessageInteraction",
593575
"MessageInteractionMetadata",
594-
"MessagePollVoteAdd",
595-
"MessagePollVoteRemove",
596-
"MessageReactionAdd",
597-
"MessageReactionRemove",
598-
"MessageReactionRemoveAll",
599-
"MessageReactionRemoveEmoji",
600576
"MessageReference",
601577
"MessageReferenceType",
602578
"MessageSend",
603579
"MessageSnapshot",
604580
"MessageSnapshotMessage",
605581
"MessageType",
606-
"MessageUpdate",
607582
"Missing",
608583
"MissingOrNullable",
609584
"ModalSubmitData",
@@ -699,7 +674,6 @@
699674
"TimeStampStyle",
700675
"TriggerMetadata",
701676
"TriggerType",
702-
"TypingStart",
703677
"UnavailableGuild",
704678
"UpdatePresence",
705679
"UpdatePresenceStatusType",

0 commit comments

Comments
 (0)