File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1919 "NEW_MEMBER_CHANNEL_ID" : " xxxxxxxxxxx"
2020 },
2121 "guildId" : " xxxxxxxxxx" ,
22- "PARKING_CHANNEL_ID" : " xxxxxxxx"
22+ "PARKING_CHANNEL_ID" : " xxxxxxxx" ,
23+ "WORDLE_BOT_ID" : " xxxxxxxxxx"
2324}
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ const { CommandHandler } = require(handlersPath + '/CommandHandler');
77const { NonPrefixHandler } = require ( handlersPath + '/NonPrefixHandler' ) ;
88const { createNonPrefixRegex } = require ( utilPath + '/NonPrefixRegexCreator' ) ;
99const { ScamDetector } = require ( utilPath + '/ScamDetector' ) ;
10+ const { WordleFilter } = require ( utilPath + '/WordleFilter' ) ;
1011
1112/**
1213 * Class which handles interpreting an input message and invoking the correct
@@ -25,6 +26,7 @@ class MessageHandler {
2526 this . commandHandler = new CommandHandler ( ) ;
2627 this . nonPrefixHandler = new NonPrefixHandler ( ) ;
2728 this . scamDetector = new ScamDetector ( ) ;
29+ this . wordleFilter = new WordleFilter ( ) ;
2830 }
2931
3032 /**
@@ -47,6 +49,13 @@ class MessageHandler {
4749 try {
4850 // Add a botStartTime field to the message object
4951 message . botStartTime = this . startTime ;
52+
53+ // Delete Wordle messages except streak results
54+ if ( this . wordleFilter . isWordleSpam ( message ) ) {
55+ await this . wordleFilter . handleWordleSpam ( message ) ;
56+ return ;
57+ }
58+
5059 if ( message . author . bot ) {
5160 return ;
5261 }
Original file line number Diff line number Diff line change 1+ const logger = require ( './logger' ) ;
2+ const config = require ( '../../config.json' ) ;
3+
4+ class WordleFilter {
5+ isWordleSpam ( message ) {
6+ if ( message . author . id !== config . WORDLE_BOT_ID ) {
7+ return false ;
8+ }
9+ // keep streak result messages, delete everything else
10+ return ! message . content . toLowerCase ( ) . includes ( 'your group' ) ;
11+ }
12+
13+ async handleWordleSpam ( message ) {
14+ try {
15+ await message . delete ( ) ;
16+ return true ;
17+ } catch ( error ) {
18+ logger . error ( 'Error deleting Wordle message:' , error ) ;
19+ return false ;
20+ }
21+ }
22+ }
23+
24+ module . exports = { WordleFilter } ;
You can’t perform that action at this time.
0 commit comments