diff --git a/src/lib/addons/slack-app.ts b/src/lib/addons/slack-app.ts index e2e330e820..641682eca8 100644 --- a/src/lib/addons/slack-app.ts +++ b/src/lib/addons/slack-app.ts @@ -70,9 +70,7 @@ export default class SlackAppAddon extends Addon { ); return; } - this.logger.debug( - `Found candidate channels: ${JSON.stringify(eventChannels)}.`, - ); + this.logger.debug(`Found candidate channels: ${eventChannels}.`); if (!this.slackClient || this.accessToken !== accessToken) { const client = new WebClient(accessToken); @@ -92,13 +90,17 @@ export default class SlackAppAddon extends Addon { }); this.slackChannels = slackConversationsList.channels || []; this.logger.debug( - `Fetched ${this.slackChannels.length} Slack channels`, + `Fetched ${ + this.slackChannels.length + } available Slack channels: ${this.slackChannels.map( + ({ name }) => name, + )}`, ); } const currentSlackChannels = [...this.slackChannels]; if (!currentSlackChannels.length) { - this.logger.warn('No Slack channels found.'); + this.logger.warn('No available Slack channels found.'); return; } @@ -109,6 +111,16 @@ export default class SlackAppAddon extends Addon { ({ id, name }) => id && name && eventChannels.includes(name), ); + if (!slackChannelsToPostTo.length) { + this.logger.info('No eligible Slack channel found.'); + return; + } + this.logger.debug( + `Posting event to ${slackChannelsToPostTo.map( + ({ name }) => name, + )}.`, + ); + const requests = slackChannelsToPostTo.map(({ id }) => this.slackClient!.chat.postMessage({ channel: id!,