Google 聊天机器人:在 onMessage() 中返回线程回复会在 Space 中创建一条新消息

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

我们一直在尝试更新我们的聊天机器人以使用线程回复,但我们遇到了问题,特别是在回复空间中的全新消息时。例如,如果用户说:

@TheChatBot help!

我们希望机器人创建对该消息的线程回复。相反,它会在空间的顶层创建一条新消息。

有趣的是,如果我们在线程中提到机器人,它就会正常工作。

我们尝试了许多

message.thread
值的组合(例如
{ threadKey: ...}
{name: ...}
),但没有一个组合适用于线程之外的消息。

这是 ChatBot gs 代码的片段:

function onMessage(event) {
...
  var message = event.message;
  var threadName = message.thread ? message.thread.name : null;
...
  return {
    text: ...,
    threadReply: true,
    thread: {
      name: threadName
    }
  };
}
google-apps-script google-api google-chat
1个回答
0
投票

我的调查显示,Google Chat 目前将响应位置限制为顶级空间名称,即使单个线程名称 (提到聊天机器人的消息)

onMessage
响应 例如
)中很容易获得spaces/SPACE_ID/threads/THREAD_ID
.


当前行为

有关处理或响应交互事件的官方文档确认,聊天机器人目前仅限于 “将内容插入空间” (见下图) 进行回复,表明这种行为是故意的:

我尝试过的事情

我尝试按照指南制定解决方法

spaces.message.create
。在此过程中,我打算让聊天机器人使用线程名称在提到的线程上创建一条消息。但是,Chat API 似乎存在限制。具体来说,必需的参数之一是顶级空间名称而不是线程名称。

最后的手段

话虽如此,我建议您考虑在 Google Issue Tracker 上提交功能想法。考虑到聊天机器人的用例(例如您帖子中提到的主要目标),我相信这对于聊天机器人来说是一个理想的请求。

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