AgentNotification 类

来自 Microsoft 365 应用程序的代理通知的处理程序。

此类为注册处理程序提供修饰器,这些处理程序响应来自各种Microsoft 365 通道和子通道的通知。 它支持基于通道 ID、子通道和生命周期事件的路由。

构造函数

AgentNotification()

参数

名称 说明
app
必需

将处理路由通知的应用程序实例。

known_subchannels

可选可迭代已识别的子通道。 如果为 None,则默认为 AgentSubChannel 枚举中的所有值。

默认值: None
known_lifecycle_events

可选的可识别生命周期事件迭代。 如果为 None,则默认为 AgentLifecycleEvent 枚举中的所有值。

默认值: None

示例


   from microsoft_agents.hosting import Application
   from microsoft_agents_a365.notifications import AgentNotification

   app = Application()
   notifications = AgentNotification(app)

   @notifications.on_email()
   async def handle_email(context, state, notification):
       email = notification.email
       if email:
           await context.send_activity(f"Received email: {email.id}")

方法

__init__
__new__
on_agent_lifecycle_notification

注册代理生命周期事件通知的处理程序。

此修饰器注册在发生生命周期事件时要调用的处理程序函数,例如用户创建、删除或工作负载载入更新。

on_agent_notification

为来自特定通道和子通道的通知注册处理程序。

此修饰器注册从指定通道和可选子通道接收通知时要调用的处理程序函数。 处理程序将收到类型化的 AgentNotificationActivity 包装器。

on_email

注册 Outlook 电子邮件通知的处理程序。

这是一种方便修饰器,用于注册来自电子邮件子通道的通知的处理程序。

on_excel

注册Microsoft Excel 注释通知的处理程序。

这是一种便捷修饰器,用于注册来自 Excel 子通道的通知的处理程序。

on_lifecycle

为所有代理生命周期事件通知注册处理程序。

这是一种方便修饰器,它使用通配符“*”匹配程序为所有生命周期事件注册处理程序。

on_powerpoint

注册Microsoft PowerPoint 注释通知的处理程序。

这是一种便捷修饰器,用于注册 PowerPoint 子通道中通知的处理程序。

on_user_created

注册用于用户创建生命周期事件的处理程序。

这是一种便捷修饰器,用于注册专门用于代理用户标识创建事件的处理程序。

on_user_deleted

为用户删除生命周期事件注册处理程序。

这是一种便捷修饰器,用于注册专门用于代理用户标识删除事件的处理程序。

on_user_workload_onboarding

为用户工作负载载入更新事件注册处理程序。

这是一种方便修饰器,用于为更新用户工作负载载入状态时发生的事件注册处理程序。

on_word

注册Microsoft Word 注释通知的处理程序。

这是一种方便修饰器,用于注册来自 Word 子通道的通知的处理程序。

__init__

__init__(app: Any, known_subchannels: Iterable[str | AgentSubChannel] | None = None, known_lifecycle_events: Iterable[str | AgentLifecycleEvent] | None = None)

参数

名称 说明
app
必需
Any
known_subchannels
默认值: None
known_lifecycle_events
默认值: None

__new__

__new__(**kwargs)

on_agent_lifecycle_notification

注册代理生命周期事件通知的处理程序。

此修饰器注册在发生生命周期事件时要调用的处理程序函数,例如用户创建、删除或工作负载载入更新。

on_agent_lifecycle_notification(lifecycle_event: str, **kwargs: Any)

参数

名称 说明
lifecycle_event
必需
str

要侦听的生命周期事件。 使用“*”匹配所有生命周期事件,或指定 AgentLifecycleEvent 中的特定事件。

**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明

向应用程序注册处理程序的修饰器函数。

示例


   @notifications.on_agent_lifecycle_notification("agenticuseridentitycreated")
   async def handle_user_created(context, state, notification):
       print("New user created")

on_agent_notification

为来自特定通道和子通道的通知注册处理程序。

此修饰器注册从指定通道和可选子通道接收通知时要调用的处理程序函数。 处理程序将收到类型化的 AgentNotificationActivity 包装器。

on_agent_notification(channel_id: ChannelId, **kwargs: Any)

参数

名称 说明
channel_id
必需

指定要侦听的通道和可选子通道的通道 ID。 使用“*”作为子通道以匹配所有子通道。

**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明

向应用程序注册处理程序的修饰器函数。

示例


   from microsoft_agents.activity import ChannelId

   @notifications.on_agent_notification(
       ChannelId(channel="agents", sub_channel="email")
   )
   async def handle_custom_channel(context, state, notification):
       print(f"Received notification on {notification.channel}/{notification.sub_channel}")

on_email

注册 Outlook 电子邮件通知的处理程序。

这是一种方便修饰器,用于注册来自电子邮件子通道的通知的处理程序。

on_email(**kwargs: Any) -> Callable[[Callable[[TContext, TState, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

参数

名称 说明
**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明
Callable[[Callable[[<xref:microsoft_agents_a365.notifications.agent_notification.TContext>, <xref:microsoft_agents_a365.notifications.agent_notification.TState>, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

向应用程序注册处理程序的修饰器函数。

示例


   @notifications.on_email()
   async def handle_email(context, state, notification):
       email = notification.email
       if email:
           print(f"Received email: {email.id}")
           response = EmailResponse.create_email_response_activity(
               "<p>Thank you for your email.</p>"
           )
           await context.send_activity(response)

on_excel

注册Microsoft Excel 注释通知的处理程序。

这是一种便捷修饰器,用于注册来自 Excel 子通道的通知的处理程序。

on_excel(**kwargs: Any) -> Callable[[Callable[[TContext, TState, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

参数

名称 说明
**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明
Callable[[Callable[[<xref:microsoft_agents_a365.notifications.agent_notification.TContext>, <xref:microsoft_agents_a365.notifications.agent_notification.TState>, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

向应用程序注册处理程序的修饰器函数。

示例


   @notifications.on_excel()
   async def handle_excel_comment(context, state, notification):
       comment = notification.wpx_comment
       if comment:
           print(f"Received Excel comment: {comment.comment_id}")

on_lifecycle

为所有代理生命周期事件通知注册处理程序。

这是一种方便修饰器,它使用通配符“*”匹配程序为所有生命周期事件注册处理程序。

on_lifecycle(**kwargs: Any) -> Callable[[Callable[[TContext, TState, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

参数

名称 说明
**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明
Callable[[Callable[[<xref:microsoft_agents_a365.notifications.agent_notification.TContext>, <xref:microsoft_agents_a365.notifications.agent_notification.TState>, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

向应用程序注册处理程序的修饰器函数。

示例


   @notifications.on_lifecycle()
   async def handle_any_lifecycle_event(context, state, notification):
       print(f"Lifecycle event type: {notification.notification_type}")

on_powerpoint

注册Microsoft PowerPoint 注释通知的处理程序。

这是一种便捷修饰器,用于注册 PowerPoint 子通道中通知的处理程序。

on_powerpoint(**kwargs: Any) -> Callable[[Callable[[TContext, TState, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

参数

名称 说明
**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明
Callable[[Callable[[<xref:microsoft_agents_a365.notifications.agent_notification.TContext>, <xref:microsoft_agents_a365.notifications.agent_notification.TState>, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

向应用程序注册处理程序的修饰器函数。

示例


   @notifications.on_powerpoint()
   async def handle_powerpoint_comment(context, state, notification):
       comment = notification.wpx_comment
       if comment:
           print(f"Received PowerPoint comment: {comment.comment_id}")

on_user_created

注册用于用户创建生命周期事件的处理程序。

这是一种便捷修饰器,用于注册专门用于代理用户标识创建事件的处理程序。

on_user_created(**kwargs: Any) -> Callable[[Callable[[TContext, TState, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

参数

名称 说明
**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明
Callable[[Callable[[<xref:microsoft_agents_a365.notifications.agent_notification.TContext>, <xref:microsoft_agents_a365.notifications.agent_notification.TState>, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

向应用程序注册处理程序的修饰器函数。

示例


   @notifications.on_user_created()
   async def handle_user_created(context, state, notification):
       print("New agentic user identity created")

on_user_deleted

为用户删除生命周期事件注册处理程序。

这是一种便捷修饰器,用于注册专门用于代理用户标识删除事件的处理程序。

on_user_deleted(**kwargs: Any) -> Callable[[Callable[[TContext, TState, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

参数

名称 说明
**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明
Callable[[Callable[[<xref:microsoft_agents_a365.notifications.agent_notification.TContext>, <xref:microsoft_agents_a365.notifications.agent_notification.TState>, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

向应用程序注册处理程序的修饰器函数。

示例


   @notifications.on_user_deleted()
   async def handle_user_deleted(context, state, notification):
       print("Agentic user identity deleted")

on_user_workload_onboarding

为用户工作负载载入更新事件注册处理程序。

这是一种方便修饰器,用于为更新用户工作负载载入状态时发生的事件注册处理程序。

on_user_workload_onboarding(**kwargs: Any) -> Callable[[Callable[[TContext, TState, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

参数

名称 说明
**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明
Callable[[Callable[[<xref:microsoft_agents_a365.notifications.agent_notification.TContext>, <xref:microsoft_agents_a365.notifications.agent_notification.TState>, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

向应用程序注册处理程序的修饰器函数。

示例


   @notifications.on_user_workload_onboarding()
   async def handle_onboarding_update(context, state, notification):
       print("User workload onboarding status updated")

on_word

注册Microsoft Word 注释通知的处理程序。

这是一种方便修饰器,用于注册来自 Word 子通道的通知的处理程序。

on_word(**kwargs: Any) -> Callable[[Callable[[TContext, TState, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

参数

名称 说明
**kwargs
必需
Any

传递给应用的add_route方法的其他关键字参数。

返回

类型 说明
Callable[[Callable[[<xref:microsoft_agents_a365.notifications.agent_notification.TContext>, <xref:microsoft_agents_a365.notifications.agent_notification.TState>, AgentNotificationActivity], Awaitable[None]]], Callable[[TurnContext, TurnState], Awaitable[None]]]

向应用程序注册处理程序的修饰器函数。

示例


   @notifications.on_word()
   async def handle_word_comment(context, state, notification):
       comment = notification.wpx_comment
       if comment:
           print(f"Received Word comment: {comment.comment_id}")