diff --git a/commands/CommandParser.js b/commands/CommandParser.js index edcb15ab63f55ba13b7de72ebef21d4a72bd2545..5b903eb1b1290ec0e26d3110bfabe79c0463a2e4 100644 --- a/commands/CommandParser.js +++ b/commands/CommandParser.js @@ -1,20 +1,26 @@ const InformeMoi = require('./InformeMoi.js'); const DatabaseCommand = require('./DatabaseCommand.js'); const CommandVoteParser = require('./CommandVoteParser.js'); +const CommandQui = require('./CommandQui.js'); -class CommandParser{ - - constructor(client, voteParser){ + +class CommandParser { + + constructor(client, voteParser) { this.client = client; this.informeMoi = new InformeMoi(client); this.databaseCommand = new DatabaseCommand(client); this.commandVoteParser = new CommandVoteParser(voteParser); + this.commandQui = new CommandQui(client); } - parse(message){ - this.informeMoi.parse(message); - this.databaseCommand.parse(message); - this.commandVoteParser.parse(message); + parse(message) { + if (message.author.id !== this.client.application.id) { + this.informeMoi.parse(message); + this.databaseCommand.parse(message); + this.commandVoteParser.parse(message); + this.commandQui.parse(message); + } } } diff --git a/commands/CommandQui.js b/commands/CommandQui.js new file mode 100644 index 0000000000000000000000000000000000000000..856f45ca5010ed3dcd62f29b356352a1537923fe --- /dev/null +++ b/commands/CommandQui.js @@ -0,0 +1,32 @@ + +const complotDB = require('../database/ComplotDB.js'); + +class CommandQui{ + constructor(client){ + this.client = client; + this.sentences = ["Sûrement <who>...", "<who>", "<who> !", "<who> ??", "Vous parlez de <who> ?", "C'est <who>.", "Bah, <who>.", "Bah <who> connard", "Mmmh <who> ?", "<who> ?", "<who>, on te parle"]; + this.quiRegExp = new RegExp('[^a-z]qui[^a-z]', 'i'); + } + + getRandomQui(){ + const actor = complotDB.getRandomActor(); + + return this.sentences[Math.floor(Math.random()*this.sentences.length)].replace('<who>', actor); + } + + parse(message){ + if(this.shouldRespond(message)){ + message.reply(this.getRandomQui()); + } + } + + shouldRespond(message){ + const resRE = message.content.match(this.quiRegExp); + if(resRE){ + return message.content.slice(resRE.index).includes('?'); /**Contient un '?' après le ' qui ' */ + } + return false; + } +} + +module.exports = CommandQui; \ No newline at end of file diff --git a/database/complot_db.json b/database/complot_db.json index 5d67a55e59ef1e20ddc9f0cf24974a03c9930ec8..b7a7653560b0673f5f6ff970885038355e0d568c 100644 --- a/database/complot_db.json +++ b/database/complot_db.json @@ -1 +1 @@ -{"actors":["Macron","TSP","Le BDE","Les Francs-Maçons","La CIA","Laurent Prével","Mouilleron","Rioboo","Forest","Jean Lassalle","Sylvain Duriff","Rocket","Titi","Nathalie Arthaud","Le fantôme d'Hitler","JeanMarIIE","Le Bar-C","Le C-19","Michel Drucker","Sardoche","i-TV","Ta mère","Diiese","Le CBDE","Le MEDEF","L'artiste Gaber","Le grand Patronat","Te Deum","Frédéric Chaumont","Didier Raoult","Alain Soral"],"actions":["pirater Arise","vacciner la population","installer des antennes 5G","creer un nouveau variant du coronavirus","détruire Evry","bombarder TSP","faire des TikTok","comprendre les cours de Rioboo","vendre des informations aux Japonais","racheter MyPizza","annexer l'IMT-BS","radier le tout le BdE de l'AEIIE","interdire la vente d'alcool à Le Bar (c)","installer Windows sur les PCs de l'école","enlever les hentai du Baka","mettre Jean MarIIE à la tête du Bde","soudoyer des iiens","payer des petits chinois","lancer une shitstorm par mail","investir dans l'immobilier","débrancher un switch pendant une NJV"],"reasons":["gagner l'élection 2022","contrôler l'humanité","éradiquer l'humanité","instaurer une dictature","capter la 5G","gagner contre Pignôle au babyfoot","faire fermer l'ENSIIE","deban tigriz","dissoudre le Bakaclub","supprimer internet","gagner le carambar d'or","intégrer TSP","éradiquer tous les viieux","gagner la campagne BdE","prendre la place de tactac","rouvrir l'antenne de Strasbourg","obtenir tous les boucliers verts","passer master sur LoL","faire gagnér l'emote fipa","faire arriver le RER D à l'heure","préserver les iiens de souche"],"sources":["QAnon","IImondE","une amie qui travaille au gouvernement", "Réinfo Covid", "FranceSoir", "Médiavenir", "LesMoutonsRebelles", "un poste Facebook", "un twittos", "Kim Glow", "l'AFP"],"sentences":["<actor> <want> <action> pour <reason> !","Selon <source>, <actor> <want> <action> afin de <reason>.","<actor> <want> <action> rien que pour <reason>.....", "Grâce à <source>, je sais que <actor> <want> <action> pour <reason>.", "On dit que <actor> <want> <action>, tout ça pour <reason>...", "<actor> <want> <action> afin de <reason>, ça fait réfléchir...", "Vous verrez que <actor> va <action> pour <reason>, vous l'aurez lu ici en premier...", "🚨ALERTE INFO🚨 :\n <actor> <want> <action> pour <reason> \n (Source : <source>)", "<actor> <want> <action> rien que pour <reason>....."]} \ No newline at end of file +{"actors":["Macron","TSP","Le BDE","Les Francs-Maçons","La CIA","Laurent Prével","Mouilleron","Rioboo","Forest","Jean Lassalle","Sylvain Duriff","Rocket","Titi","Nathalie Arthaud","Le fantôme d'Hitler","JeanMarIIE","Le Bar-C","Le C-19","Michel Drucker","Sardoche","i-TV","Ta mère","Diiese","Le CBDE","Le MEDEF","L'artiste Gaber","Le grand Patronat","Te Deum","Frédéric Chaumont","Didier Raoult","Alain Soral","Cortex 91 des pyramides","Les témoins de Jéhovah","Génération identitaire","Michel"],"actions":["pirater Arise","vacciner la population","installer des antennes 5G","creer un nouveau variant du coronavirus","détruire Evry","bombarder TSP","faire des TikTok","comprendre les cours de Rioboo","vendre des informations aux Japonais","racheter MyPizza","annexer l'IMT-BS","radier le tout le BdE de l'AEIIE","interdire la vente d'alcool à Le Bar (c)","installer Windows sur les PCs de l'école","enlever les hentai du Baka","mettre Jean MarIIE à la tête du Bde","soudoyer des iiens","payer des petits chinois","lancer une shitstorm par mail","investir dans l'immobilier","débrancher un switch pendant une NJV","spéculer sur l'effondrement de l'économie africaine"],"reasons":["gagner l'élection 2022","contrôler l'humanité","éradiquer l'humanité","instaurer une dictature","capter la 5G","gagner contre Pignôle au babyfoot","faire fermer l'ENSIIE","deban tigriz","dissoudre le Bakaclub","supprimer internet","gagner le carambar d'or","intégrer TSP","éradiquer tous les viieux","gagner la campagne BdE","prendre la place de tactac","rouvrir l'antenne de Strasbourg","obtenir tous les boucliers verts","passer master sur LoL","faire gagnér l'emote fipa","faire arriver le RER D à l'heure","préserver les iiens de souche","imposer un régime communiste","empêcher pignôle (<@590627154400903228> ) de faire des blagues"],"sources":["QAnon","IImondE","une amie qui travaille au gouvernement","Réinfo Covid","FranceSoir","Médiavenir","LesMoutonsRebelles","un poste Facebook","un twittos","Kim Glow","l'AFP","ma maman","Jean-Jacques Bourdin","Stéphane Bern","CNews","Louis Fouché","Didier Raoult","Francis Lalane","Eddy Malou","mon oncle sur Whatsapp","un ami directeur de production à France Télévisions","un prix nobel désavoué par sa profession","démotivateur","Madmoizelle.com","Buzz feed","intuition"],"sentences":["<actor> <want> <action> pour <reason> !","Selon <source>, <actor> <want> <action> afin de <reason>.","<actor> <want> <action> rien que pour <reason>.....","Grâce à <source>, je sais que <actor> <want> <action> pour <reason>.","On dit que <actor> <want> <action>, tout ça pour <reason>...","<actor> <want> <action> afin de <reason>, ça fait réfléchir...","Vous verrez que <actor> va <action> pour <reason>, vous l'aurez lu ici en premier...","🚨ALERTE INFO🚨 :\n <actor> <want> <action> pour <reason> \n (Source : <source>)","<actor> <want> <action> rien que pour <reason>.....","Je sais par <source> que <actor> <want> <action> pour <reason>!!!","<actor> <want> <reason>, ça dit beaucou au sujé de sociéter"]} \ No newline at end of file diff --git a/vote/VoteParser.js b/vote/VoteParser.js index 572d8110ca24e672fa56fbd92df7aa8b4cbfc9b9..ec3c8b3b07636319f9c716759fbc01e04e87c98c 100644 --- a/vote/VoteParser.js +++ b/vote/VoteParser.js @@ -38,6 +38,9 @@ class VoteParser{ } parse(message){ + if(message.author.id === this.client.application.id){ + return; + } if(this.categories.has(message.channelId)){ const category = this.categories.get(message.channelId); const reactions = message.reactions.resolve(this.upVote);