Language

MessageExtension.OnQuery Method

Definition

Overloads

Name Description
OnQuery(String, QueryHandler, String[], UInt16)

Registers a handler that implements a Search based Message Extension.

OnQuery(Regex, QueryHandler, String[], UInt16)

Registers a handler that implements a Search based Message Extension.

OnQuery(String, QueryHandler, String[], UInt16)

Registers a handler that implements a Search based Message Extension.

public Microsoft.Agents.Extensions.MSTeams.MessageExtensions.MessageExtension OnQuery(string commandId, Microsoft.Agents.Extensions.MSTeams.MessageExtensions.QueryHandler handler, string[] autoSignInHandlers = default, ushort rank = 32767);
member this.OnQuery : string * Microsoft.Agents.Extensions.MSTeams.MessageExtensions.QueryHandler * string[] * uint16 -> Microsoft.Agents.Extensions.MSTeams.MessageExtensions.MessageExtension
Public Function OnQuery (commandId As String, handler As QueryHandler, Optional autoSignInHandlers As String() = Nothing, Optional rank As UShort = 32767) As MessageExtension

Parameters

commandId
String

ID of the command to register the handler for.

handler
QueryHandler

Function to call when the command is received.

autoSignInHandlers
String[]

OAuth sign-in handler names for automatic sign-in before the route handler is invoked. Specify null to skip automatic sign-in.

rank
UInt16

Route evaluation order. Lower values run first. Defaults to Unspecified.

Returns

The application instance for chaining purposes.

Remarks

``` TeamsExtension.MessageExtensions.OnQuery("searchProducts", async (ctx, state, query, ct) => { var keyword = query.Parameters.FirstOrDefault()?.Value ?? string.Empty; var items = await _catalog.SearchAsync(keyword, ct); var attachments = items.Select(i => i.ToHeroCard().ToMessagingExtensionAttachment()).ToList(); return new Response { ComposeExtension = new Result { Type = ResultType.List, Attachments = attachments } }; }); ``` Alternatively, the TeamsQueryRouteAttribute can be used to decorate a QueryHandler method for the same purpose.

Applies to

OnQuery(Regex, QueryHandler, String[], UInt16)

Registers a handler that implements a Search based Message Extension.

public Microsoft.Agents.Extensions.MSTeams.MessageExtensions.MessageExtension OnQuery(System.Text.RegularExpressions.Regex commandIdPattern, Microsoft.Agents.Extensions.MSTeams.MessageExtensions.QueryHandler handler, string[] autoSignInHandlers = default, ushort rank = 32767);
member this.OnQuery : System.Text.RegularExpressions.Regex * Microsoft.Agents.Extensions.MSTeams.MessageExtensions.QueryHandler * string[] * uint16 -> Microsoft.Agents.Extensions.MSTeams.MessageExtensions.MessageExtension
Public Function OnQuery (commandIdPattern As Regex, handler As QueryHandler, Optional autoSignInHandlers As String() = Nothing, Optional rank As UShort = 32767) As MessageExtension

Parameters

commandIdPattern
Regex

Regular expression to match against the ID of the command to register the handler for.

handler
QueryHandler

Function to call when the command is received.

autoSignInHandlers
String[]

OAuth sign-in handler names for automatic sign-in before the route handler is invoked. Specify null to skip automatic sign-in.

rank
UInt16

Route evaluation order. Lower values run first. Defaults to Unspecified.

Returns

The application instance for chaining purposes.

Remarks

Alternatively, the TeamsQueryRouteAttribute can be used to decorate a QueryHandler method for the same purpose.

Applies to