如何在 python 中使用 Microsoft 机器人框架向用户发送主动通知?
how to Send proactive notifications to users with Microsoft bot framework in python?
Microsoft 使用以下方式发送主动通知(https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-proactive-message?view=azure-bot-service-4.0&tabs=python)
async def notify(req: Request) -> Response:
await _send_proactive_message()
return Response(status=201, text="Proactive messages have been sent")
APP = web.Application(middlewares=[aiohttp_error_middleware])
APP.router.add_post("/api/messages", messages)
APP.router.add_get("/api/notify", notify)
但我想要的是在特定时间发送通知。我认为使用 asyncio 创建任务可能是解决该问题的方法。这是最好的方法还是我可以使用 bot 框架的一些库来解决这个问题?
Bot Framework 没有用于安排通知的内置功能。您可以像您提到的那样在您的机器人内部创建一个异步任务,或者您可以让一个外部调度程序访问您的机器人中的一个特殊端点。如何公开这样的端点可以在主动消息传递示例中看到:https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/python/16.proactive-messages
Microsoft 使用以下方式发送主动通知(https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-proactive-message?view=azure-bot-service-4.0&tabs=python)
async def notify(req: Request) -> Response:
await _send_proactive_message()
return Response(status=201, text="Proactive messages have been sent")
APP = web.Application(middlewares=[aiohttp_error_middleware])
APP.router.add_post("/api/messages", messages)
APP.router.add_get("/api/notify", notify)
但我想要的是在特定时间发送通知。我认为使用 asyncio 创建任务可能是解决该问题的方法。这是最好的方法还是我可以使用 bot 框架的一些库来解决这个问题?
Bot Framework 没有用于安排通知的内置功能。您可以像您提到的那样在您的机器人内部创建一个异步任务,或者您可以让一个外部调度程序访问您的机器人中的一个特殊端点。如何公开这样的端点可以在主动消息传递示例中看到:https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/python/16.proactive-messages