AgentNotification Класс

Обработчик уведомлений агента из приложений Microsoft 365.

Этот класс предоставляет декораторы для регистрации обработчиков, которые отвечают на уведомления из различных каналов Microsoft 365 и вложенных модулей. Она поддерживает маршрутизацию на основе идентификатора канала, вложенных каналов и событий жизненного цикла.

Конструктор

AgentNotification()

Параметры

Имя Описание
app
Обязательно

Экземпляр приложения, обрабатывающий перенаправленные уведомления.

known_subchannels

Необязательный итератор распознаваемых вложенных модулей. Если значение None, по умолчанию используется все значения в перечислении AgentSubChannel.

Default value: None
known_lifecycle_events

Необязательный итератор распознанных событий жизненного цикла. Если значение None, по умолчанию используется все значения в перечислении AgentLifecycleEvent.

Default value: 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
Default value: None
known_lifecycle_events
Default value: 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
Обязательно

Идентификатор канала, указывающий канал и необязательный подканал для прослушивания. Используйте "*" в качестве подканала, чтобы соответствовать всем подканелям.

**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}")