MessageExtension.OnQuery Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.