我们一直在尝试更新我们的聊天机器人以使用线程回复,但我们遇到了问题,特别是在回复空间中的全新消息时。例如,如果用户说:
@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 Chat 目前将响应位置限制为顶级空间名称,即使单个线程名称 (提到聊天机器人的消息) 在
onMessage
响应 (例如、)中很容易获得spaces/SPACE_ID/threads/THREAD_ID
).
有关处理或响应交互事件的官方文档确认,聊天机器人目前仅限于 “将内容插入空间” (见下图) 进行回复,表明这种行为是故意的:
spaces.message.create
。在此过程中,我打算让聊天机器人使用线程名称在提到的线程上创建一条消息。但是,Chat API 似乎存在限制。具体来说,必需的参数之一是顶级空间名称而不是线程名称。
话虽如此,我建议您考虑在 Google Issue Tracker 上提交功能想法。考虑到聊天机器人的用例(例如您帖子中提到的主要目标),我相信这对于聊天机器人来说是一个理想的请求。