Disallow insult / kys on bot
This commit is contained in:
		| @@ -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))); | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user