微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Slack bolt:trigger_id 在尝试触发 app.client.views.open modal 时过期

如何解决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 举报,一经查实,本站将立刻删除。