From b3f6dd454689c43b06e86bc5bd5673fadd143aca Mon Sep 17 00:00:00 2001 From: Nikita Date: Fri, 2 Oct 2020 19:05:32 +0300 Subject: [PATCH 1/2] Corrected regexp in messageHasMentions in order to ignore messages with @here, @channel, etc --- lib/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/index.js b/lib/index.js index ab0ca90..9787019 100644 --- a/lib/index.js +++ b/lib/index.js @@ -7,7 +7,7 @@ const messageFromAnyThread = message => message.thread_ts !== undefined const messageHasMentions = (message) => { - const mentionsRegex = /<@(.*?)>/ + const mentionsRegex = /<[@!](.*?)>/ return mentionsRegex.test(message.text) } From ae9d3deb29c0b6049264aed6e65ed1e20eaa88ff Mon Sep 17 00:00:00 2001 From: Nikita Date: Fri, 2 Oct 2020 19:06:30 +0300 Subject: [PATCH 2/2] Added test for greeting feature for case when slack group mentioned --- specs/greetingSpec.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/specs/greetingSpec.js b/specs/greetingSpec.js index a7747c6..13429eb 100644 --- a/specs/greetingSpec.js +++ b/specs/greetingSpec.js @@ -60,6 +60,16 @@ describe('Sample hears controller', () => { }]).then(message => assert.deepEqual(message, {})) }) + it('does not return any greeting if slack group mentioned', async () => { + await this.controller.usersInput([{ + type: 'message', + channel: 'channelId', + messages: [{ + text: ', hey', isAssertion: true, + }], + }]).then(message => assert.deepEqual(message, {})) + }) + it('does not return any greeting in threads', async () => { await this.controller.usersInput([{ type: 'message',