From: Elias Fleckenstein Date: Sun, 6 Mar 2022 14:23:05 +0000 (+0100) Subject: Add more commands to the random category X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=b26b4669ead4f600d5e230e1f02e69d9231a2eba;p=furrybot-discord.git Add more commands to the random category --- diff --git a/package-lock.json b/package-lock.json index a38aca2..e0cb31f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,8 @@ "discord.js": "^14.0.0-dev.1646395406.6f7a366", "free-google-images": "^1.0.4", "node-fetch": "^2.0.0", - "pseudo-random": "^0.6.0" + "pseudo-random": "^0.6.0", + "sha1": "^1.1.1" } }, "node_modules/@discordjs/builders": { @@ -131,6 +132,14 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "engines": { + "node": "*" + } + }, "node_modules/cheerio": { "version": "1.0.0-rc.10", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", @@ -177,6 +186,14 @@ "node": ">= 0.8" } }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "engines": { + "node": "*" + } + }, "node_modules/css-select": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", @@ -417,6 +434,18 @@ "resolved": "https://registry.npmjs.org/pseudo-random/-/pseudo-random-0.6.0.tgz", "integrity": "sha1-c9AAwgaN0sYTzA/CPQvRp4XVcDY=" }, + "node_modules/sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=", + "dependencies": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -576,6 +605,11 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, "cheerio": { "version": "1.0.0-rc.10", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", @@ -610,6 +644,11 @@ "delayed-stream": "~1.0.0" } }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, "css-select": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", @@ -784,6 +823,15 @@ "resolved": "https://registry.npmjs.org/pseudo-random/-/pseudo-random-0.6.0.tgz", "integrity": "sha1-c9AAwgaN0sYTzA/CPQvRp4XVcDY=" }, + "sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=", + "requires": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" + } + }, "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", diff --git a/package.json b/package.json index 4146b41..fa47dd6 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "discord.js": "^14.0.0-dev.1646395406.6f7a366", "free-google-images": "^1.0.4", "node-fetch": "^2.0.0", - "pseudo-random": "^0.6.0" + "pseudo-random": "^0.6.0", + "sha1": "^1.1.1" } } diff --git a/random.js b/random.js index 11c387e..b336688 100644 --- a/random.js +++ b/random.js @@ -6,62 +6,30 @@ module.exports = { }, coinflip: { func: msg => msg.channel.send(`<@!${msg.author.id}> flipped a coin and got ${common.choose(["Heads", "Tails"])}.`) - } + }, + choose: { + func: (msg, options) => msg.reply(options.length < 2 ? "Not enough options" : `I choose ${common.choose(options)}.`) + }, + uwu: { + func: msg => msg.reply( + new Array(1 + Math.floor(Math.random() * 10)) + .fill(null) + .map(_ => new Array(3) + .fill(common.choose(["u", "ü", "o", "ö"])[common.choose(["toUpperCase", "toLowerCase"])]()) + .fill("w"[common.choose(["toUpperCase", "toLowerCase"])](), 1, 2) + .join("") + ) + .join(" ") + ) + }, + /*extinct: { + func: (msg, [rawSpecies]) => { + const species = common.uppercase(rawSpecies + (rawSpecies.slice(-1) == "s" ? "" : "s")) + msg.reply(`${species} are ${"extinct"}`) + } + }*/ } /* -furrybot.commands.rolldice = { - func = function(name) - furrybot.ping_message(name, "rolled a dice and got a " .. furrybot.random(1, 6, furrybot.colors.system) .. ".", furrybot.colors.system) - end, -} - -furrybot.commands.coinflip = { - func = function(name) - furrybot.ping_message(name, "flipped a coin and got " .. furrybot.choose({"Heads", "Tails"}, furrybot.colors.system) .. ".", furrybot.colors.system) - end, -} - -furrybot.commands.choose = { - func = function(name, ...) - local options = {...} - if #options > 1 then - furrybot.ping_message(name, "I choose " .. furrybot.choose(options, "", furrybot.colors.system) .. ".", furrybot.colors.system) - else - furrybot.error_message(name, "Not enough options") - end - end, -} - -furrybot.commands.uwu = { - func = function() - local msg = "" - - local m = math.random(10) - - for i = 1, m do - local u_list = {"u", "ü", "o", "ö"} - - local u = u_list[math.random(#u_list)] - local w = "w" - - if math.random() < 0.5 then - u = u:upper() - end - - if math.random() < 0.5 then - w = w:upper() - end - - msg = msg .. u .. w .. u - - if i ~= m then - msg = msg .. " " - end - end - - furrybot.send(msg, furrybot.colors.system) - end, -} furrybot.commands.extinct = { func = function(name, species)