明确的异步生命周期
BotApp 统一启动事件源,并按固定顺序排空回调、关闭 API 资源。
uv add butterbot-python项目要求 Python 3.12 或更高版本。仓库开发环境使用 uv 和锁文件管理。
下面的结构展示了推荐入口。完整、可直接运行且不依赖外部服务的版本见 快速开始。
import asyncio
from butterbot.app import BotApp, RuntimeConfig
async def main() -> None:
app = BotApp(RuntimeConfig())
async with app:
# 在这里等待业务完成,或由事件源持续产生事件。
await asyncio.sleep(0)
if __name__ == "__main__":
asyncio.run(main())生命周期
stop() 只停止事件源;close() 还会排空事件回调并释放 API 资源。 应用所有权在当前函数中时,优先使用 async with app。