[英]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
});
这里的技巧是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.