一个高性能,高可扩展性,设计简洁,基于 asyncio 的事件系统,为 Graia Framework 设计。
pip install graia-broadcast # 或者使用 poetry poetry add graia-broadcastfromgraia.broadcastimportDispatchable, BaseDispatcher, Broadcastfromgraia.broadcast.interfaces.dispatcherimportDispatcherInterfaceclassExampleEvent(Dispatchable): classDispatcher(BaseDispatcher): defcatch(interface: "DispatcherInterface"): ifinterface.annotationisstr: return"ok, i'm."broadcast=Broadcast() @broadcast.receiver("ExampleEvent") # or just receiver(ExampleEvent)asyncdefevent_listener(maybe_you_are_str: str): print(maybe_you_are_str) # <<< ok, i'masyncdefmain(): broadcast.postEvent(ExampleEvent()) # sync call is allowed.awaitasyncio.sleep(0.1) # to solve event task.loop.run_until_complete(main())本实现以 MIT 为开源协议。