Share via


TeamsAgentExtension class

Extends

AgentExtension<TState>

Constructors

TeamsAgentExtension<TState>(AgentApplication<TState>)

Properties

meeting
messageExtension
taskModule

Inherited Properties

channelId

The channel ID that this extension is associated with

Methods

onFeedback(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onMessageDelete(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onMessageEdit(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onMessageUndelete(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsChannelCreated(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsChannelDeleted(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsChannelRenamed(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsChannelRestored(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsMembersAdded(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsMembersRemoved(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsTeamArchived(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsTeamDeleted(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsTeamHardDeleted(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsTeamRenamed(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsTeamRestored(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)
onTeamsTeamUnarchived(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

Inherited Methods

addRoute(AgentApplication<TState>, Selector, RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>, boolean, number)

Adds a route to the agent application that is only active for the channel specified in this extension. This method creates a channel-specific route by wrapping the provided route selector with an additional check to ensure the incoming activity matches the extension's channel ID.

Example

const teamsExtension = new AgentExtension<MyState>('msteams');
teamsExtension.addRoute(
  app,
  (context) => context.activity.type === 'message',
  async (context, state) => {
    // Handle Teams-specific message
    await context.sendActivity('Hello from Teams!');
  }
);

Constructor Details

TeamsAgentExtension<TState>(AgentApplication<TState>)

new TeamsAgentExtension(app: AgentApplication<TState>)

Parameters

app

AgentApplication<TState>

Property Details

meeting

Meeting<TState> meeting

Property Value

Meeting<TState>

messageExtension

MessageExtension<TState> messageExtension

Property Value

MessageExtension<TState>

taskModule

TaskModule<TState> taskModule

Property Value

TaskModule<TState>

Inherited Property Details

channelId

The channel ID that this extension is associated with

channelId: string

Property Value

string

Inherited From AgentExtension.channelId

Method Details

onFeedback(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onFeedback(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onMessageDelete(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onMessageDelete(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onMessageEdit(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onMessageEdit(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onMessageUndelete(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onMessageUndelete(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsChannelCreated(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsChannelCreated(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsChannelDeleted(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsChannelDeleted(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsChannelRenamed(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsChannelRenamed(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsChannelRestored(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsChannelRestored(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsMembersAdded(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsMembersAdded(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsMembersRemoved(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsMembersRemoved(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsTeamArchived(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsTeamArchived(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsTeamDeleted(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsTeamDeleted(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsTeamHardDeleted(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsTeamHardDeleted(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsTeamRenamed(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsTeamRenamed(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsTeamRestored(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsTeamRestored(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

onTeamsTeamUnarchived(RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>)

function onTeamsTeamUnarchived(handler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>): TeamsAgentExtension<TState>

Parameters

Returns

Inherited Method Details

addRoute(AgentApplication<TState>, Selector, RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>, boolean, number)

Adds a route to the agent application that is only active for the channel specified in this extension. This method creates a channel-specific route by wrapping the provided route selector with an additional check to ensure the incoming activity matches the extension's channel ID.

Example

const teamsExtension = new AgentExtension<MyState>('msteams');
teamsExtension.addRoute(
  app,
  (context) => context.activity.type === 'message',
  async (context, state) => {
    // Handle Teams-specific message
    await context.sendActivity('Hello from Teams!');
  }
);
function addRoute(app: AgentApplication<TState>, routeSelector: Selector, routeHandler: RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>, isInvokeRoute?: boolean, rank?: number)

Parameters

app

AgentApplication<TState>

The agent application instance to add the route to

routeSelector
Selector

A function that determines if the route should handle the incoming activity

routeHandler

RouteHandler<TurnState<DefaultConversationState, DefaultUserState, DefaultTempState>>

The handler function that will process the activity when the route is matched

isInvokeRoute

boolean

Optional. Whether this route handles invoke activities. Defaults to false

rank

number

Optional. The priority rank of this route for routing precedence. Defaults to RouteRank.Unspecified

Inherited From AgentExtension.addRoute