Skip to content

a high performance, highly customizable, elegantly designed event system based on asyncio

Notifications You must be signed in to change notification settings

GraiaProject/BroadcastControl

Repository files navigation

Broadcast Control for Graia Framework

这是什么?

一个高性能,高可扩展性,设计简洁,基于 asyncio 的事件系统,为 Graia Framework 设计。

安装

从 PyPI 安装

pip install graia-broadcast # 或者使用 poetry poetry add graia-broadcast

Example

fromgraia.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 为开源协议。

About

a high performance, highly customizable, elegantly designed event system based on asyncio

Resources

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

Languages