使用 PowerShell Azure Functions 的 MSTeams echo 机器人

问题描述 投票:0回答:1

当使用传出 Webhook 作为 Teams 组中的应用程序以获取 PowerShell Azure 函数的输出时,应如何解析请求正文中作为 JSON 负载接收的聊天文本?

using namespace System.Net
param($Request, $TriggerMetadata) 

$text       =($Request.Body|ConvertFrom-Json).text #Parse request body to extract message text                     
   
$Response   = @{                                   #This simply echoes the received text
    type    = 'message'
    text    = "You said: $text"} | ConvertTo-Json

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
  StatusCode= [HttpStatusCode]::OK
  Body      = $Response})

代码部分运行,以便我可以获取函数

['You said']
的文本输出作为 Teams 中的响应。但是,它无法解析在 Teams 中调用该函数时传递的文本并在响应中回显它。

powershell azure-functions echo microsoft-teams webhooks
1个回答
0
投票

PFB 如何从请求正文中的 JSON 负载和正则表达式解析 Teams 消息文本,以在回显时删除应用程序名称。

using namespace System.Net
param($Request, $TriggerMetadata)

$text       =  $Request.Body['text'] -replace '.*PSFunction2\s*', ''
$response   = @{
    type    = 'message'
    text    = "You said: $text"}| ConvertTo-Json

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
  StatusCode= [HttpStatusCode]::OK
  Body      = $response    
})

PFB输出截图

© www.soinside.com 2019 - 2024. All rights reserved.