From 14066df05735cb10f15ef52d7c7541e28a849ba3 Mon Sep 17 00:00:00 2001 From: Bruce Downs Date: Wed, 22 Jan 2025 08:27:11 -0700 Subject: [PATCH 1/5] create undocumented message bot events * message_bot_add * message_bot_remove * these occur on add/remove of incoming webhook --- .../java/com/slack/api/bolt/AppConfig.java | 9 +++--- .../slack/api/bolt/context/SayUtility.java | 2 +- .../DefaultTokensRevokedEventHandler.java | 2 +- .../api/bolt/util/ListenerCodeSuggestion.java | 25 +++++++--------- .../api/model/event/MessageBotAddEvent.java | 30 +++++++++++++++++++ .../model/event/MessageBotRemoveEvent.java | 30 +++++++++++++++++++ 6 files changed, 77 insertions(+), 21 deletions(-) create mode 100644 slack-api-model/src/main/java/com/slack/api/model/event/MessageBotAddEvent.java create mode 100644 slack-api-model/src/main/java/com/slack/api/model/event/MessageBotRemoveEvent.java diff --git a/bolt/src/main/java/com/slack/api/bolt/AppConfig.java b/bolt/src/main/java/com/slack/api/bolt/AppConfig.java index 0d858b4ce..78c7aad84 100644 --- a/bolt/src/main/java/com/slack/api/bolt/AppConfig.java +++ b/bolt/src/main/java/com/slack/api/bolt/AppConfig.java @@ -79,8 +79,7 @@ private EnvVariableName() { private static SlackHttpClient buildSlackHttpClient() { Map userAgentCustomInfo = new HashMap<>(); userAgentCustomInfo.put("bolt", BoltLibraryVersion.get()); - SlackHttpClient client = new SlackHttpClient(SlackConfig.DEFAULT, userAgentCustomInfo); - return client; + return new SlackHttpClient(SlackConfig.DEFAULT, userAgentCustomInfo); } @Builder.Default @@ -286,7 +285,7 @@ public String getOauthInstallPath() { String path = this.oauthInstallPath; String legacyPath = this.oauthStartPath; if (path != null - && path.equals(DEFAULT_OAUTH_INSTALL_PATH) == false + && !path.equals(DEFAULT_OAUTH_INSTALL_PATH) && legacyPath.equals(DEFAULT_OAUTH_INSTALL_PATH)) { return path; } else { @@ -330,7 +329,7 @@ public String getOauthRedirectUriPath() { String path = this.oauthRedirectUriPath; String legacyPath = this.oauthCallbackPath; if (path != null - && path.equals(DEFAULT_OAUTH_REDIRECT_URI_PATH) == false + && !path.equals(DEFAULT_OAUTH_REDIRECT_URI_PATH) && legacyPath.equals(DEFAULT_OAUTH_REDIRECT_URI_PATH)) { return path; } else { @@ -407,4 +406,4 @@ public void setOauthRedirectUriPath(String oauthRedirectUriPath) { @Builder.Default private boolean ignoringSelfAssistantMessageEventsEnabled = true; -} \ No newline at end of file +} diff --git a/bolt/src/main/java/com/slack/api/bolt/context/SayUtility.java b/bolt/src/main/java/com/slack/api/bolt/context/SayUtility.java index a89ac23a9..952b1e5ac 100644 --- a/bolt/src/main/java/com/slack/api/bolt/context/SayUtility.java +++ b/bolt/src/main/java/com/slack/api/bolt/context/SayUtility.java @@ -26,7 +26,7 @@ default ChatPostMessageResponse say(String text) throws IOException, SlackApiExc } /** - * Using `say(blocks, text)` instead is highly recommended for even better user experience. + * Using `say(text, blocks)` instead is highly recommended for even better user experience. */ default ChatPostMessageResponse say(List blocks) throws IOException, SlackApiException { return say(null, blocks); diff --git a/bolt/src/main/java/com/slack/api/bolt/handler/builtin/DefaultTokensRevokedEventHandler.java b/bolt/src/main/java/com/slack/api/bolt/handler/builtin/DefaultTokensRevokedEventHandler.java index dbb7473e5..8aaa019e7 100644 --- a/bolt/src/main/java/com/slack/api/bolt/handler/builtin/DefaultTokensRevokedEventHandler.java +++ b/bolt/src/main/java/com/slack/api/bolt/handler/builtin/DefaultTokensRevokedEventHandler.java @@ -45,7 +45,7 @@ public Response apply( this.executorService.submit(() -> { TokensRevokedEvent.Tokens tokens = payload.getEvent().getTokens(); if (tokens.getOauth() != null) { // user tokens - for (String userId : tokens. getOauth()) { + for (String userId : tokens.getOauth()) { Installer installer = installationService.findInstaller(enterpriseId, teamId, userId); if (installer != null) { try { diff --git a/bolt/src/main/java/com/slack/api/bolt/util/ListenerCodeSuggestion.java b/bolt/src/main/java/com/slack/api/bolt/util/ListenerCodeSuggestion.java index 9d6696742..7507fae94 100644 --- a/bolt/src/main/java/com/slack/api/bolt/util/ListenerCodeSuggestion.java +++ b/bolt/src/main/java/com/slack/api/bolt/util/ListenerCodeSuggestion.java @@ -17,7 +17,7 @@ private ListenerCodeSuggestion() { "\n" + "app.step(step);\n"; - public static final String viewSubmission(String callbackId) { + public static String viewSubmission(String callbackId) { return COMMON_PREFIX + "app.viewSubmission(\"" + callbackId + "\", (req, ctx) -> {\n" + " // Sent inputs: req.getPayload().getView().getState().getValues()\n" + @@ -25,7 +25,7 @@ public static final String viewSubmission(String callbackId) { "});\n"; } - public static final String viewClosed(String callbackId) { + public static String viewClosed(String callbackId) { return COMMON_PREFIX + "app.viewClosed(\"" + callbackId + "\", (req, ctx) -> {\n" + " // Do something where\n" + @@ -33,7 +33,7 @@ public static final String viewClosed(String callbackId) { "});\n"; } - public static final String dialogSubmission(String callbackId) { + public static String dialogSubmission(String callbackId) { return COMMON_PREFIX + "app.dialogSubmission(\"" + callbackId + "\", (req, ctx) -> {\n" + " // Do something where\n" + @@ -41,7 +41,7 @@ public static final String dialogSubmission(String callbackId) { "});\n"; } - public static final String dialogSuggestion(String callbackId) { + public static String dialogSuggestion(String callbackId) { return COMMON_PREFIX + "app.dialogSubmission(\"" + callbackId + "\", (req, ctx) -> {\n" + " List