From b6edbb8b3b3451dafad3a033097bd0c062e6aa73 Mon Sep 17 00:00:00 2001 From: Ceda EI Date: Tue, 12 Feb 2019 03:09:42 +0530 Subject: [PATCH] Disallow insult / kys on bot --- commands/index.js | 22 +++++++++++++++++----- commands/insult.js | 8 +++++++- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/commands/index.js b/commands/index.js index b9ad612..a3636e1 100644 --- a/commands/index.js +++ b/commands/index.js @@ -4,12 +4,24 @@ const is = require("./is"); module.exports = (bot, [ questions, kys, insults, commands_list ]) => { bot.command("question", (ctx) => ctx.reply(random(questions)())); + bot.telegram.getMe() + .then(bot_user => { - const default_text = (command, text) => `Do you want to ${text} yourself?\n` - + `If no, reply to someone with /${command} to kill them or run /${command} username/name.\n` - + `You can suggest more /${command} replies using /feedback`; - bot.command("insult", (ctx) => ctx.reply(insults_fun(random, insults, default_text("insult", "insult"))(ctx))); - bot.command("kys", (ctx) => ctx.reply(insults_fun(random, kys, default_text("kys", "kill"))(ctx))); + console.log(bot_user); + const default_text = (command, text) => `Do you want to ${text} ` + + `yourself?\nIf no, reply to someone with /${command} to kill` + + ` them or run /${command} username/name.\nYou can suggest ` + + `more /${command} replies using /feedback`; + + bot.command("insult", (ctx) => ctx.reply(insults_fun(random, + insults, default_text("insult", "insult"), "Watch who you talk" + + " to.", ["@" + bot_user.username, bot_user.firstName])(ctx))); + + bot.command("kys", (ctx) => ctx.reply(insults_fun(random, kys, + default_text("kys", "kill"), "I can't be killed.", + ["@" + bot_user.username, bot_user.firstName])(ctx))); + + }); bot.command("commands", (ctx) => ctx.reply(commands_list.join("\n"))); bot.command("is", (ctx) => ctx.reply(is(random)(ctx))); diff --git a/commands/insult.js b/commands/insult.js index bc081f1..707efe7 100644 --- a/commands/insult.js +++ b/commands/insult.js @@ -1,9 +1,11 @@ -module.exports = (random, kys, default_text) => (ctx) => { +module.exports = (random, kys, default_text, bot_text, excluded_names) => (ctx) => { if (ctx.message.reply_to_message) { const { from } = ctx.message.reply_to_message; const name = from.username ? "@" + from.username : from.firstName; + if (name == excluded_names[0]) + return bot_text; return random(kys)().replace(/##name##/g, name); } else { @@ -12,6 +14,10 @@ module.exports = (random, kys, default_text) => (ctx) => { if (text_array.length > 1) { const name = text_array[1]; + if (excluded_names.includes(name) + || excluded_names.includes("@" + name)) + return bot_text; + return random(kys)().replace(/##name##/g, name); } else