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
Обязательно
|
|
|
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
Обязательно
|
Событие жизненного цикла для прослушивания. Используйте "*", чтобы сопоставить все события жизненного цикла или указать определенное событие из AgentLifecycleEvent. |
|
**kwargs
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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
Обязательно
|
Дополнительные аргументы ключевых слов, переданные методу 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}")