diff --git a/examples/group_bot/main.py b/examples/group_bot/main.py index d98e7fd..30be4bf 100644 --- a/examples/group_bot/main.py +++ b/examples/group_bot/main.py @@ -13,7 +13,13 @@ from loguru import logger from qqbotsdk import EventEmitter, main from qqbotsdk.api import BotApi, button, keyboard from qqbotsdk.events import Event -from qqbotsdk.payloads import C2CMessage, GroupAddRobot, GroupAtMessage, Interaction +from qqbotsdk.payloads import ( + C2CMessage, + FriendAdd, + GroupAddRobot, + GroupAtMessage, + Interaction, +) ee = EventEmitter() @@ -98,8 +104,8 @@ async def on_c2c_message(msg: C2CMessage, api: BotApi) -> None: @ee.on("FRIEND_ADD") -async def on_friend_add(d: dict) -> None: - logger.info(f"新增用户:{d.get('user_openid')}") +async def on_friend_add(added: FriendAdd) -> None: + logger.info(f"新增用户:{added.openid}") if __name__ == "__main__": diff --git a/src/qqbotsdk/payloads.py b/src/qqbotsdk/payloads.py index aa78e3d..452ad63 100644 --- a/src/qqbotsdk/payloads.py +++ b/src/qqbotsdk/payloads.py @@ -1,9 +1,9 @@ """事件 payload 的 dataclass 定义与解析。 handler 直接标注具体类型即可拿到解析后的对象(如 -`async def on_msg(msg: GroupAtMessage)`);未收录的事件类型 -由 emitter 回退传原始 dict,新增事件只需在这里加 dataclass -并登记到 EVENT_TYPES。 +`async def on_msg(msg: GroupAtMessage)`);未收录的事件类型没有可标注的 +dataclass,只能经 `Event.typed` 拿到原始 dict——新增事件只需在这里加 +dataclass 并登记到 EVENT_TYPES。 """ from dataclasses import dataclass, fields