From 1ca9932b848c7483d71cd5eb5789961af645df5e Mon Sep 17 00:00:00 2001 From: HF Date: Tue, 28 Apr 2020 02:30:13 +0200 Subject: [PATCH] add subsitution regexp for chat messages (currently unused) --- src/core/ChatProvider.js | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/core/ChatProvider.js b/src/core/ChatProvider.js index e7fae9e..2443791 100644 --- a/src/core/ChatProvider.js +++ b/src/core/ChatProvider.js @@ -18,26 +18,19 @@ class ChatProvider { this.history = []; this.filters = [ { - regexp: /ADMIN/g, + regexp: /ADMIN/gi, matches: 2, }, { - regexp: /FUCK/g, + regexp: /FUCK/gi, matches: 2, }, { - regexp: /admin/g, - matches: 3, - }, - { - regexp: /fuck/g, - matches: 3, - }, - { - regexp: /FACK/g, + regexp: /FACK/gi, matches: 3, }, ]; + this.substitutes = []; } addMessage(name, message) { @@ -48,7 +41,7 @@ class ChatProvider { } async sendMessage(user, message) { - if (message.length > 300) { + if (message.length > 200) { // eslint-disable-next-line max-len return 'You can\'t send a message this long :('; } @@ -63,7 +56,7 @@ class ChatProvider { } if (message === message.toUpperCase()) { - return null; + return 'Stop shouting'; } for (let i = 0; i < this.filters.length; i += 1) { @@ -75,6 +68,11 @@ class ChatProvider { } } + for (let i = 0; i < this.substitutes.length; i += 1) { + const subsitute = this.substitutes[i]; + message = message.replace(subsitute.regexp, subsitute.replace); + } + if (user.isAdmin() && message.charAt(0) === '/') { // admin commands const cmd = message.split(' ');