【问题标题】:slack update modal view on on_enter_pressedon_enter_pressed 上的松弛更新模态视图
【发布时间】:2022-12-05 17:56:46
【问题描述】:

我正在尝试在用户按回车键时更新模态视图中输入文本的 hint

Slack 文档指出可以使用on_enter_pressed,但我无法让它工作。

这是在 on_enter_pressed 操作上正确调用的代码,但它抛出错误

private com.slack.api.bolt.response.Response checkFileAlreadyInRepo(BlockActionRequest request, ActionContext actionContext)
    throws IOException {
    Assert.notNull(request, "block action request");
    
    request.getPayload().getView().getBlocks().forEach(b -> {
        if(b.getBlockId().equals("file-url-block")){
            ((InputBlock) b).setHint(PlainTextObject.builder().text("hello").build());
        }
    });

    actionContext.respond(b -> b
        .replaceOriginal(true).blocks(request.getPayload().getView().getBlocks())
    );

    return actionContext.ack();

这是错误:

java.lang.NullPointerException: Parameter specified as non-null is null: method okhttp3.Request$Builder.url, parameter url
at okhttp3.Request$Builder.url(Request.kt) ~[okhttp-4.9.2.jar:na]
at com.slack.api.util.http.SlackHttpClient.postJsonBody(SlackHttpClient.java:184) ~[slack-api-client-1.14.0.jar:1.14.0]
at com.slack.api.app_backend.interactive_components.ActionResponseSender.send(ActionResponseSender.java:21) ~[slack-app-backend-1.14.0.jar:1.14.0]
at com.slack.api.bolt.util.Responder.send(Responder.java:52) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.context.ActionRespondUtility.respond(ActionRespondUtility.java:31) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.context.ActionRespondUtility.respond(ActionRespondUtility.java:36) ~[bolt-1.14.0.jar:1.14.0]
at com.workday.be.throg.service.upload_file.UploadFileService.checkFileAlreadyInRepo(UploadFileService.java:158) ~[main/:na]
at com.slack.api.bolt.App.runHandler(App.java:1147) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.App.lambda$runMiddleware$3(App.java:1003) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.middleware.builtin.IgnoringSelfEvents.apply(IgnoringSelfEvents.java:97) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.App.runMiddleware(App.java:1003) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.App.lambda$runMiddleware$4(App.java:1006) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.middleware.builtin.SingleTeamAuthorization.apply(SingleTeamAuthorization.java:87) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.App.runMiddleware(App.java:1006) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.App.lambda$runMiddleware$4(App.java:1006) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.middleware.builtin.RequestVerification.apply(RequestVerification.java:27) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.App.runMiddleware(App.java:1006) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.App.lambda$runMiddleware$4(App.java:1006) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.middleware.builtin.SSLCheck.apply(SSLCheck.java:51) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.App.runMiddleware(App.java:1006) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.App.run(App.java:575) ~[bolt-1.14.0.jar:1.14.0]
at com.slack.api.bolt.socket_mode.SocketModeApp.lambda$buildSocketModeClient$0(SocketModeApp.java:37) ~[bolt-socket-mode-1.14.0.jar:1.14.0]
at com.slack.api.socket_mode.SocketModeClient.processMessage(SocketModeClient.java:355) ~[slack-api-client-1.14.0.jar:1.14.0]
at com.slack.api.socket_mode.SocketModeClient.lambda$initializeMessageProcessorExecutor$0(SocketModeClient.java:157) ~[slack-api-client-1.14.0.jar:1.14.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_345]
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308) ~[na:1.8.0_345]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java) ~[na:1.8.0_345]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_345]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[na:1.8.0_345]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_345]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_345]
at java.lang.Thread.run(Thread.java:750) ~[na:1.8.0_345]

不确定为什么 responseUrl 为 null,我希望在 ActionContext 中填充

信息:

模态视图:

谁能提出解决方案?请发表评论以获取更多信息谢谢

【问题讨论】:

    标签: slack modal-view


    【解决方案1】:

    在与 Slack 支持团队交谈后,目前无法动态更改模态视图,他们表示这可能是未来的功能,具体日期尚未确定。

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-22
      • 1970-01-01
      • 2021-04-17
      相关资源
      最近更新 更多