new detectors and reactions
This commit is contained in:
parent
73b906fd9b
commit
fe3fd9b1b6
11 changed files with 266 additions and 10 deletions
27
detectors/basicDetector.js
Normal file
27
detectors/basicDetector.js
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import Detector from "./Detector.js";
|
||||
import { cleanMessageContent } from "../utils/strings.js";
|
||||
|
||||
//check the regex for "quoi"
|
||||
// trigger if it's at the end of the sentence (tu fais quoi)
|
||||
// trigger if it's followed by 1 to 3 words (c'est quoi ça)
|
||||
// skip if in the middle of a long sentence (je sais pas quoi faire demain)
|
||||
|
||||
const answers = [
|
||||
...Array(10).fill('feur'),
|
||||
'# feur',
|
||||
'||quoicoubeh|| feur'
|
||||
];
|
||||
|
||||
export default class BasicDetector extends Detector {
|
||||
detect(message) {
|
||||
return /(?:^|\b)quoi\b ?\??(\s\S+){0,3}$/i.test(cleanMessageContent(message));
|
||||
}
|
||||
|
||||
// randomize answer
|
||||
createSpecificReply(message) {
|
||||
if (this.detect(message)) {
|
||||
return Promise.resolve(answers[Math.floor(Math.random() * answers.length)]);
|
||||
}
|
||||
return Promise.resolve(null);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue