nonebot2/tests/test_plugins/test_metaevent.py

22 lines
577 B
Python
Raw Normal View History

2020-12-17 13:09:30 +00:00
from nonebot.typing import T_State
2020-08-24 09:59:36 +00:00
from nonebot.plugin import on_metaevent
2020-12-17 13:09:30 +00:00
from nonebot.adapters import Bot, Event
from nonebot.adapters.cqhttp import HeartbeatMetaEvent
2020-07-25 04:28:30 +00:00
2020-12-17 13:09:30 +00:00
async def heartbeat(bot: Bot, event: Event, state: T_State) -> bool:
return isinstance(event, HeartbeatMetaEvent)
2020-07-25 04:28:30 +00:00
2020-12-20 04:09:30 +00:00
async def factory(bot: Bot, event: Event) -> T_State:
return {"factory": True}
test_matcher = on_metaevent(heartbeat, state_factory=factory)
2020-07-25 04:28:30 +00:00
2020-08-23 02:45:26 +00:00
@test_matcher.receive()
2020-12-17 13:09:30 +00:00
async def handle_heartbeat(bot: Bot, event: Event, state: T_State):
2020-12-20 04:09:30 +00:00
print(state)
2020-07-25 04:28:30 +00:00
print("[i] Heartbeat")