繁体   English   中英

如何让我的 Slack Bot 回复为线程?

[英]How to make my Slack Bot reply as a thread?

我有一个机器人,旨在使用它正在侦听的某些关键字回复频道中的消息。 我已经部署了它并且它运行良好,但它在频道中回复而不是启动用户消息的线程。 这是我用来启动线程的代码:

app.message("ake up", async ({ command, say }) => {
  try {
    say({ text: "I'm awake! ⭐️ Do you need assistance?", thread_ts: message.ts });
  } catch (error) {
      console.log("err")
    console.error(error);
  }
});

当我发送一条说“醒来”的消息时,什么也没有发生。 当没有thread_ts: message.ts并且只是说say("I'm awake! ⭐️ Do you need assistance?")}时,它可以完美运行。 并以此作为回应。

这是我的代码的开头供参考:

require("dotenv").config();
const app = new App({
  token: process.env.SLACK_BOT_TOKEN,
  signingSecret: process.env.SLACK_SIGNING_SECRET,
  socketMode:true,
  appToken: process.env.APP_TOKEN
});

这是在 GitHub 上回答的

这里的技巧是thread_ts仅可用于线程消息(它标识启动线程的父消息)。 如果要启动线程,可以使用传入消息的ts值:

app.message("ake up", async ({ message, say }) => {
  try {
      await say({ text: "I'm awake! ⭐️ Do you need assistance?" , thread_ts: message.thread_ts || message.ts});
  } catch (error) {
      console.log("err")
      console.error(error);
  }
});

另请参阅 Slack 文档中的发现线程指南。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM