Socket模式Slack Bolt应用添加Typing提示报错:sendTyping不存在
解决Socket模式下Slack Bolt应用显示'typing...'提示的问题
你的问题核心是用错了Slack Web API的方法,不存在client.chat.sendTyping这个函数,正确的接口是conversations.typing。
正确实现代码
修改你的监听逻辑,替换成如下调用:
app.message(/.*/, async ({ message, say, context, client }) => { // 发送typing提示 await client.conversations.typing({ channel: message.channel // Bolt会自动使用context中的botToken,无需手动传入 }); // 模拟处理耗时(可选,仅为演示效果) await new Promise(resolve => setTimeout(resolve, 1500)); // 机器人回复消息 await say(`你发送了:${message.text}`); });
关键说明
- Slack Web API中,触发输入提示的接口是
conversations.typing,而非chat.sendTyping,这是你报错的直接原因 - Bolt框架的
client会自动继承上下文里的botToken,所以不需要手动传入token参数,简化代码 - 务必在调用
say或其他回复方法之前调用conversations.typing,否则提示不会显示
内容的提问来源于stack exchange,提问作者Aadesh Kulkarni
相关产品推荐
相关产品推荐

