如何解决Slack bolt:trigger_id 在尝试触发 app.client.views.open modal 时过期
我在 1 年前构建的 slack 应用程序中使用带有 "express": "^4.17.1" 的 slack@bolt 2.0.1。
在我本地的 Slack 机器人中,我在实例化命令时遇到了这个问题:
export const createTicketCommand = (app: App): Middleware<SlackCommandMiddlewareArgs> => async ({
ack,body,context,}): Promise<void> => {
// AckNowledge the command request
await ack();
app.client.views.open({
token: context.bottoken,trigger_id: body.trigger_id,view: {
type: 'modal',title: {
type: 'plain_text',text: 'Workplace check-in',},close: {
type: 'plain_text',text: 'Cancel',blocks: [
{
type: 'section',text: {
type: 'plain_text',text: ':man-biking: Now loading...',],});
} catch (error) {
console.log(error);
}
};
我得到这个错误;在我看来,trigger_id
有问题。
{"level":1,"time":"2021-04-23T07:44:39.725Z","msg":{"code":"slack_webapi_platform_error","data":{"ok":false,"error":"invalid_arguments","response_Metadata":{"messages":["[ERROR] trigger_id expired [json-pointer:/trigger_id]"],"scopes":["channels:history","chat:write","commands","files:read","groups:history","im:history","incoming-webhook","mpim:history","users:read"]}},"name":"Error","message":"An API error occurred: invalid_arguments","stack":"Error: An API error occurred: invalid_arguments\n at Object.platformErrorFromresult (/usr/src/app/node_modules/@slack/web-api/src/errors.ts:94:5)\n at WebClient.apiCall (/usr/src/app/node_modules/@slack/web-api/src/WebClient.ts:188:13)\n at processticksAndRejections (internal/process/task_queues.js:93:5)"}}
请注意,我在使用 app.client.views.open
时收到此错误。
我猜测该应用的响应时间超过 3 秒,因此为什么 trigger_id
已过期,但为什么会发生这种情况?
这发生在我的本地开发机器人上,生产机器人看起来一切正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。