From 159ca9e87de0b5dc9196217136470e25d6a1256b Mon Sep 17 00:00:00 2001 From: Ceda EI Date: Mon, 27 Sep 2021 21:36:21 +0530 Subject: [PATCH 1/7] Add /suggest to upload gifs to ugoki api server --- .gitignore | 2 + bot.js | 4 +- commands/index.js | 5 +- commands/suggest.js | 83 +++++++++++ data/.gitkeep | 0 package-lock.json | 350 ++++++++++++++++++++++++++++++++++++++++---- package.json | 8 +- 7 files changed, 414 insertions(+), 38 deletions(-) create mode 100644 commands/suggest.js create mode 100644 data/.gitkeep diff --git a/.gitignore b/.gitignore index 3c3629e..b80f403 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ node_modules +data/* +!data/.gitkeep diff --git a/bot.js b/bot.js index 291b8ec..f7d431d 100644 --- a/bot.js +++ b/bot.js @@ -1,5 +1,5 @@ const Telegraf = require("telegraf"); -const { BOT_API_KEY, FEEDBACK_ID } = process.env; +const { BOT_API_KEY, FEEDBACK_ID, UGOKI_ROOT } = process.env; const fs = require("fs").promises; const commands = require("./commands"); const axios = require("axios"); @@ -21,6 +21,6 @@ const data = [ Promise.all(data) .then(data => - commands(bot, [...data, roleplay], FEEDBACK_ID, axios)); + commands(bot, [...data, roleplay], FEEDBACK_ID, BOT_API_KEY, UGOKI_ROOT, axios)); bot.launch(); diff --git a/commands/index.js b/commands/index.js index a972572..af4abd7 100644 --- a/commands/index.js +++ b/commands/index.js @@ -9,8 +9,9 @@ const media_wiki = require("./media_wiki"); const info = require("./info"); const expand = require("./expand"); const roleplay = require("./roleplay"); +const suggest = require("./suggest"); -module.exports = (bot, [ questions, kys, insults, commands_list, words, roleplay_data ], feedback_id, axios) => { +module.exports = (bot, [ questions, kys, insults, commands_list, words, roleplay_data ], feedback_id, apiToken, ugokiRoot, axios) => { bot.command("question", (ctx) => ctx.reply(random(questions)())); bot.command("word", (ctx) => ctx.reply(random(words)())); @@ -70,4 +71,6 @@ module.exports = (bot, [ questions, kys, insults, commands_list, words, roleplay Object.keys(roleplay_data).map(command => bot.command(command, ctx => roleplay(roleplay_data[command].forms, roleplay_data[command].gifs)(ctx))); + bot.command("suggest", (ctx) => suggest(axios, apiToken, ugokiRoot)(ctx)); + }; diff --git a/commands/suggest.js b/commands/suggest.js new file mode 100644 index 0000000..3f5c62d --- /dev/null +++ b/commands/suggest.js @@ -0,0 +1,83 @@ +const ffmpeg = require("fluent-ffmpeg"); +const fs = require("fs"); +const FormData = require("form-data"); + +function ugokiUpload(axios, ugokiRoot, ctx, category, path) { + + const form = new FormData(); + form.append("file", fs.createReadStream(path)); + return axios.post(`new_suggestion/${category}`, form, + { headers: form.getHeaders(), baseURL: ugokiRoot }) + .then(() => { + + ctx.reply("Suggestion added."); + fs.unlink(path, () => {}); + + }) + .catch((err) => { + + if (err.response.status == 404) + ctx.reply("Category doesn't exist"); + else if (err.response.status == 409) + ctx.reply("Already suggested / added."); + else + ctx.reply("No clue what the hell happened but adding suggestion failed."); + + }); + +} + +module.exports = (axios, apiToken, ugokiRoot) => (ctx) => { + + const category = ctx.message.text.split(" ")[1]; + const reply = ctx.message.reply_to_message; + + if (category && reply && reply.animation) { + + return ctx.telegram.getFile(reply.animation.file_id) + .then(resp => { + + return axios({ + method: "get", + url: `https://api.telegram.org/file/bot${apiToken}/${resp.file_path}`, + responseType: "stream" + }) + .then(async (response) => { + + let stream = response.data; + let path = `data/${resp.file_unique_id}`; + const writer = fs.createWriteStream(path); + if (!resp.file_path.match(/\.gif$/)) { + + await stream.pipe(writer); + stream = ffmpeg(path) + .on("error", function () { + + fs.unlink(path, () => {}); + ctx.reply("Something went wrong processing the gif"); + + + }) + .on("end", function () { + + fs.unlink(path, () => {}); + ugokiUpload(axios, ugokiRoot, ctx, category, path + ".gif"); + + }) + .output(path + ".gif") + .outputFormat("gif") + .run(); + + } else + ugokiUpload(axios, ugokiRoot, category, ctx, path); + + } + ); + + }); + + } else + ctx.reply("Reply to a gif with /suggest [category] " + + "to suggest it to be used for [category]"); + +}; diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/package-lock.json b/package-lock.json index 473ed50..36c4b52 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,51 +1,319 @@ { "name": "quadnite-bot", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "quadnite-bot", + "version": "1.0.0", + "license": "GPL-3.0", + "dependencies": { + "axios": "^0.21.0", + "fluent-ffmpeg": "^2.1.2", + "form-data": "^4.0.0", + "telegraf": "^3.27.1" + } + }, + "node_modules/@types/node": { + "version": "10.12.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.26.tgz", + "integrity": "sha512-nMRqS+mL1TOnIJrL6LKJcNZPB8V3eTfRo9FQA2b5gDvrHurC8XbSA86KNe0dShlEL7ReWJv/OU9NL7Z0dnqWTg==" + }, + "node_modules/async": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", + "integrity": "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/fluent-ffmpeg": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz", + "integrity": "sha1-yVLeIkD4EuvaCqgAbXd27irPfXQ=", + "dependencies": { + "async": ">=0.2.9", + "which": "^1.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", + "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/mime-db": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "dependencies": { + "mime-db": "1.49.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/node-fetch": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/sandwich-stream": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sandwich-stream/-/sandwich-stream-2.0.2.tgz", + "integrity": "sha512-jLYV0DORrzY3xaz/S9ydJL6Iz7essZeAfnAavsJ+zsJGZ1MOnsS52yRjU3uF3pJa/lla7+wisp//fxOwOH8SKQ==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/telegraf": { + "version": "3.27.1", + "integrity": "sha512-RQUnuNAEEWcLhRap81qwGUUqAy1KcvqANnA0G3pzZqFkhMe6LrTk5lVi9tdOaF0Ud/yOx5fdx0rNPYfiB27Z+w==", + "dependencies": { + "@types/node": "^10.1.2", + "debug": "^4.0.1", + "node-fetch": "^2.2.0", + "sandwich-stream": "^2.0.1", + "telegram-typings": "^3.6.0" + }, + "engines": { + "node": ">=6.2.0" + } + }, + "node_modules/telegram-typings": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/telegram-typings/-/telegram-typings-3.6.1.tgz", + "integrity": "sha512-njVv1EAhIZnmQVLocZEADYUyqA1WIXuVcDYlsp+mXua/XB0pxx+PKtMSPeZ/EE4wPWTw9h/hA9ASTT6yQelkiw==" + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + } + }, "dependencies": { "@types/node": { "version": "10.12.26", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.26.tgz", "integrity": "sha512-nMRqS+mL1TOnIJrL6LKJcNZPB8V3eTfRo9FQA2b5gDvrHurC8XbSA86KNe0dShlEL7ReWJv/OU9NL7Z0dnqWTg==" }, + "async": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", + "integrity": "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, "axios": { - "version": "0.18.0", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "^1.14.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" } }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "fluent-ffmpeg": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz", + "integrity": "sha1-yVLeIkD4EuvaCqgAbXd27irPfXQ=", + "requires": { + "async": ">=0.2.9", + "which": "^1.1.1" } }, "follow-redirects": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", - "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", + "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { - "debug": "^3.2.6" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "mime-db": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + }, + "mime-types": { + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "requires": { + "mime-db": "1.49.0" + } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node-fetch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", - "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "requires": { + "whatwg-url": "^5.0.0" + } }, "sandwich-stream": { "version": "2.0.2", @@ -54,28 +322,46 @@ }, "telegraf": { "version": "3.27.1", + "integrity": "sha512-RQUnuNAEEWcLhRap81qwGUUqAy1KcvqANnA0G3pzZqFkhMe6LrTk5lVi9tdOaF0Ud/yOx5fdx0rNPYfiB27Z+w==", "requires": { "@types/node": "^10.1.2", "debug": "^4.0.1", "node-fetch": "^2.2.0", "sandwich-stream": "^2.0.1", "telegram-typings": "^3.6.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } } }, "telegram-typings": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/telegram-typings/-/telegram-typings-3.6.1.tgz", "integrity": "sha512-njVv1EAhIZnmQVLocZEADYUyqA1WIXuVcDYlsp+mXua/XB0pxx+PKtMSPeZ/EE4wPWTw9h/hA9ASTT6yQelkiw==" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } } } } diff --git a/package.json b/package.json index ec1eb04..0f68dcf 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "quadnite-bot", - "version": "1.0.0", + "version": "2.0.0", "description": "A Telegram bot that makes chats in group more fun.", "main": "bot.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "start": "node bot.js" }, "repository": { "type": "git", @@ -22,7 +22,9 @@ }, "homepage": "https://gitlab.com/ceda_ei/Quadnite-Bot#readme", "dependencies": { - "axios": "^0.18.0", + "axios": "^0.21.0", + "fluent-ffmpeg": "^2.1.2", + "form-data": "^4.0.0", "telegraf": "^3.27.1" } } From 7527fb6a1aff50727a6e8fbb35146aba089219fe Mon Sep 17 00:00:00 2001 From: Ceda EI Date: Mon, 27 Sep 2021 22:10:34 +0530 Subject: [PATCH 2/7] Use ugoki server instead of hard coded gifs --- commands/index.js | 9 +- commands/roleplay.js | 6 +- roleplay.json | 692 ------------------------------------------- 3 files changed, 11 insertions(+), 696 deletions(-) diff --git a/commands/index.js b/commands/index.js index af4abd7..7cc479b 100644 --- a/commands/index.js +++ b/commands/index.js @@ -67,9 +67,16 @@ module.exports = (bot, [ questions, kys, insults, commands_list, words, roleplay + "chatting with me in private, you are most likely doing it wrong. " + "Add me to a group for fun. To give feedback, use /feedback")); + const getGetGif = (command) => () => axios.get( + `category/${command}/gif`, + { + baseURL: ugokiRoot + } + ); + // Add all roleplay commands Object.keys(roleplay_data).map(command => - bot.command(command, ctx => roleplay(roleplay_data[command].forms, roleplay_data[command].gifs)(ctx))); + bot.command(command, ctx => roleplay(roleplay_data[command].forms, getGetGif(command))(ctx))); bot.command("suggest", (ctx) => suggest(axios, apiToken, ugokiRoot)(ctx)); diff --git a/commands/roleplay.js b/commands/roleplay.js index 1c0701c..03a079e 100644 --- a/commands/roleplay.js +++ b/commands/roleplay.js @@ -8,9 +8,8 @@ function joinUsers(users) { } -module.exports = (forms, gifs) => (ctx) => { +module.exports = (forms, getGif) => (ctx) => { - const gif = gifs[Math.floor(Math.random() * gifs.length)]; const message = ctx.message.text.replace(/^[^ ]+\s*/, "") .match(/^((@\w+(\s+|$))*)(.*)/); const users = message[1].trim().split(" ").filter(i => i.length); @@ -39,6 +38,7 @@ module.exports = (forms, gifs) => (ctx) => { reply = forms.none .replace("{}", user); - ctx.replyWithAnimation(gif, {caption: reply}); + getGif() + .then(gif => ctx.replyWithAnimation(gif.data.url, {caption: reply})); }; diff --git a/roleplay.json b/roleplay.json index e37126d..7764610 100644 --- a/roleplay.json +++ b/roleplay.json @@ -1,16 +1,5 @@ { "angry": { - "gifs": [ - "https://webionite.com/quadnite/angry/0.gif", - "https://webionite.com/quadnite/angry/1.gif", - "https://webionite.com/quadnite/angry/2.gif", - "https://webionite.com/quadnite/angry/3.gif", - "https://webionite.com/quadnite/angry/4.gif", - "https://webionite.com/quadnite/angry/5.gif", - "https://webionite.com/quadnite/angry/6.gif", - "https://webionite.com/quadnite/angry/7.gif", - "https://webionite.com/quadnite/angry/8.gif" - ], "forms": { "none": "{} is angry", "others": "{} is angry at {}", @@ -19,17 +8,6 @@ } }, "bite": { - "gifs": [ - "https://webionite.com/quadnite/bite/0.gif", - "https://webionite.com/quadnite/bite/1.gif", - "https://webionite.com/quadnite/bite/2.gif", - "https://webionite.com/quadnite/bite/3.gif", - "https://webionite.com/quadnite/bite/4.gif", - "https://webionite.com/quadnite/bite/5.gif", - "https://webionite.com/quadnite/bite/6.gif", - "https://webionite.com/quadnite/bite/7.gif", - "https://webionite.com/quadnite/bite/8.gif" - ], "forms": { "none": "{} is biting", "others": "{} is biting {}", @@ -38,22 +16,6 @@ } }, "blush": { - "gifs": [ - "https://webionite.com/quadnite/blush/0.gif", - "https://webionite.com/quadnite/blush/1.gif", - "https://webionite.com/quadnite/blush/2.gif", - "https://webionite.com/quadnite/blush/3.gif", - "https://webionite.com/quadnite/blush/4.gif", - "https://webionite.com/quadnite/blush/5.gif", - "https://webionite.com/quadnite/blush/6.gif", - "https://webionite.com/quadnite/blush/7.gif", - "https://webionite.com/quadnite/blush/8.gif", - "https://webionite.com/quadnite/blush/9.gif", - "https://webionite.com/quadnite/blush/10.gif", - "https://webionite.com/quadnite/blush/11.gif", - "https://webionite.com/quadnite/blush/12.gif", - "https://webionite.com/quadnite/blush/13.gif" - ], "forms": { "none": "{} is blushing", "others": "{} is blushing at {}", @@ -62,13 +24,6 @@ } }, "bored": { - "gifs": [ - "https://webionite.com/quadnite/bored/0.gif", - "https://webionite.com/quadnite/bored/1.gif", - "https://webionite.com/quadnite/bored/2.gif", - "https://webionite.com/quadnite/bored/3.gif", - "https://webionite.com/quadnite/bored/4.gif" - ], "forms": { "none": "{} is bored", "others": "{}, {} are bored", @@ -77,23 +32,6 @@ } }, "bonk": { - "gifs": [ - "https://webionite.com/quadnite/bonk/0.gif", - "https://webionite.com/quadnite/bonk/1.gif", - "https://webionite.com/quadnite/bonk/2.gif", - "https://webionite.com/quadnite/bonk/3.gif", - "https://webionite.com/quadnite/bonk/4.gif", - "https://webionite.com/quadnite/bonk/5.gif", - "https://webionite.com/quadnite/bonk/6.gif", - "https://webionite.com/quadnite/bonk/7.gif", - "https://webionite.com/quadnite/bonk/8.gif", - "https://webionite.com/quadnite/bonk/9.gif", - "https://webionite.com/quadnite/bonk/10.gif", - "https://webionite.com/quadnite/bonk/11.gif", - "https://webionite.com/quadnite/bonk/12.gif", - "https://webionite.com/quadnite/bonk/13.gif", - "https://webionite.com/quadnite/bonk/14.gif" - ], "forms": { "none": "{} is bonking", "others": "{} is bonking {}", @@ -102,15 +40,6 @@ } }, "boop": { - "gifs": [ - "https://webionite.com/quadnite/boop/0.gif", - "https://webionite.com/quadnite/boop/1.gif", - "https://webionite.com/quadnite/boop/2.gif", - "https://webionite.com/quadnite/boop/3.gif", - "https://webionite.com/quadnite/boop/4.gif", - "https://webionite.com/quadnite/boop/5.gif", - "https://webionite.com/quadnite/boop/6.gif" - ], "forms": { "none": "{} is booping", "others": "{} is booping {}", @@ -119,13 +48,6 @@ } }, "chase": { - "gifs": [ - "https://webionite.com/quadnite/chase/0.gif", - "https://webionite.com/quadnite/chase/1.gif", - "https://webionite.com/quadnite/chase/2.gif", - "https://webionite.com/quadnite/chase/3.gif", - "https://webionite.com/quadnite/chase/4.gif" - ], "forms": { "none": "{} is chasing", "others": "{} is chasing {}", @@ -134,19 +56,6 @@ } }, "cheer": { - "gifs": [ - "https://webionite.com/quadnite/cheer/0.gif", - "https://webionite.com/quadnite/cheer/1.gif", - "https://webionite.com/quadnite/cheer/2.gif", - "https://webionite.com/quadnite/cheer/3.gif", - "https://webionite.com/quadnite/cheer/4.gif", - "https://webionite.com/quadnite/cheer/5.gif", - "https://webionite.com/quadnite/cheer/6.gif", - "https://webionite.com/quadnite/cheer/7.gif", - "https://webionite.com/quadnite/cheer/8.gif", - "https://webionite.com/quadnite/cheer/9.gif", - "https://webionite.com/quadnite/cheer/10.gif" - ], "forms": { "none": "{} is cheering", "others": "{} is cheering for {}", @@ -155,19 +64,6 @@ } }, "cringe": { - "gifs": [ - "https://webionite.com/quadnite/cringe/0.gif", - "https://webionite.com/quadnite/cringe/1.gif", - "https://webionite.com/quadnite/cringe/2.gif", - "https://webionite.com/quadnite/cringe/3.gif", - "https://webionite.com/quadnite/cringe/4.gif", - "https://webionite.com/quadnite/cringe/5.gif", - "https://webionite.com/quadnite/cringe/6.gif", - "https://webionite.com/quadnite/cringe/7.gif", - "https://webionite.com/quadnite/cringe/8.gif", - "https://webionite.com/quadnite/cringe/9.gif", - "https://webionite.com/quadnite/cringe/10.gif" - ], "forms": { "none": "{} is cringing", "others": "{} is cringing at {}", @@ -176,23 +72,6 @@ } }, "cry": { - "gifs": [ - "https://webionite.com/quadnite/cry/0.gif", - "https://webionite.com/quadnite/cry/1.gif", - "https://webionite.com/quadnite/cry/2.gif", - "https://webionite.com/quadnite/cry/3.gif", - "https://webionite.com/quadnite/cry/4.gif", - "https://webionite.com/quadnite/cry/5.gif", - "https://webionite.com/quadnite/cry/6.gif", - "https://webionite.com/quadnite/cry/7.gif", - "https://webionite.com/quadnite/cry/8.gif", - "https://webionite.com/quadnite/cry/9.gif", - "https://webionite.com/quadnite/cry/10.gif", - "https://webionite.com/quadnite/cry/11.gif", - "https://webionite.com/quadnite/cry/12.gif", - "https://webionite.com/quadnite/cry/13.gif", - "https://webionite.com/quadnite/cry/14.gif" - ], "forms": { "none": "{} is crying", "others": "{} is crying at {}", @@ -201,18 +80,6 @@ } }, "cuddle": { - "gifs": [ - "https://webionite.com/quadnite/cuddle/0.gif", - "https://webionite.com/quadnite/cuddle/1.gif", - "https://webionite.com/quadnite/cuddle/2.gif", - "https://webionite.com/quadnite/cuddle/3.gif", - "https://webionite.com/quadnite/cuddle/4.gif", - "https://webionite.com/quadnite/cuddle/5.gif", - "https://webionite.com/quadnite/cuddle/6.gif", - "https://webionite.com/quadnite/cuddle/7.gif", - "https://webionite.com/quadnite/cuddle/8.gif", - "https://webionite.com/quadnite/cuddle/9.gif" - ], "forms": { "none": "{} is cuddling", "others": "{} is cuddling with {}", @@ -221,13 +88,6 @@ } }, "dab": { - "gifs": [ - "https://webionite.com/quadnite/dab/0.gif", - "https://webionite.com/quadnite/dab/1.gif", - "https://webionite.com/quadnite/dab/2.gif", - "https://webionite.com/quadnite/dab/3.gif", - "https://webionite.com/quadnite/dab/4.gif" - ], "forms": { "none": "{} is dabing", "others": "{} is dabing at {}", @@ -236,24 +96,6 @@ } }, "dance": { - "gifs": [ - "https://webionite.com/quadnite/dance/0.gif", - "https://webionite.com/quadnite/dance/1.gif", - "https://webionite.com/quadnite/dance/2.gif", - "https://webionite.com/quadnite/dance/3.gif", - "https://webionite.com/quadnite/dance/4.gif", - "https://webionite.com/quadnite/dance/5.gif", - "https://webionite.com/quadnite/dance/6.gif", - "https://webionite.com/quadnite/dance/7.gif", - "https://webionite.com/quadnite/dance/8.gif", - "https://webionite.com/quadnite/dance/9.gif", - "https://webionite.com/quadnite/dance/10.gif", - "https://webionite.com/quadnite/dance/11.gif", - "https://webionite.com/quadnite/dance/12.gif", - "https://webionite.com/quadnite/dance/13.gif", - "https://webionite.com/quadnite/dance/14.gif", - "https://webionite.com/quadnite/dance/15.gif" - ], "forms": { "none": "{} is dancing", "others": "{} is dancing with {}", @@ -262,13 +104,6 @@ } }, "die": { - "gifs": [ - "https://webionite.com/quadnite/die/0.gif", - "https://webionite.com/quadnite/die/1.gif", - "https://webionite.com/quadnite/die/2.gif", - "https://webionite.com/quadnite/die/3.gif", - "https://webionite.com/quadnite/die/4.gif" - ], "forms": { "none": "{} is dying", "others": "{} is dying with {}", @@ -277,19 +112,6 @@ } }, "eat": { - "gifs": [ - "https://webionite.com/quadnite/eat/0.gif", - "https://webionite.com/quadnite/eat/1.gif", - "https://webionite.com/quadnite/eat/2.gif", - "https://webionite.com/quadnite/eat/3.gif", - "https://webionite.com/quadnite/eat/4.gif", - "https://webionite.com/quadnite/eat/5.gif", - "https://webionite.com/quadnite/eat/6.gif", - "https://webionite.com/quadnite/eat/7.gif", - "https://webionite.com/quadnite/eat/8.gif", - "https://webionite.com/quadnite/eat/9.gif", - "https://webionite.com/quadnite/eat/10.gif" - ], "forms": { "none": "{} is eating", "others": "{} is eating with {}", @@ -298,17 +120,6 @@ } }, "facepalm": { - "gifs": [ - "https://webionite.com/quadnite/facepalm/0.gif", - "https://webionite.com/quadnite/facepalm/1.gif", - "https://webionite.com/quadnite/facepalm/2.gif", - "https://webionite.com/quadnite/facepalm/3.gif", - "https://webionite.com/quadnite/facepalm/4.gif", - "https://webionite.com/quadnite/facepalm/5.gif", - "https://webionite.com/quadnite/facepalm/6.gif", - "https://webionite.com/quadnite/facepalm/7.gif", - "https://webionite.com/quadnite/facepalm/8.gif" - ], "forms": { "none": "{} is facepalming", "others": "{} is facepalming at {}", @@ -317,19 +128,6 @@ } }, "feed": { - "gifs": [ - "https://webionite.com/quadnite/feed/0.gif", - "https://webionite.com/quadnite/feed/1.gif", - "https://webionite.com/quadnite/feed/2.gif", - "https://webionite.com/quadnite/feed/3.gif", - "https://webionite.com/quadnite/feed/4.gif", - "https://webionite.com/quadnite/feed/5.gif", - "https://webionite.com/quadnite/feed/6.gif", - "https://webionite.com/quadnite/feed/7.gif", - "https://webionite.com/quadnite/feed/8.gif", - "https://webionite.com/quadnite/feed/9.gif", - "https://webionite.com/quadnite/feed/10.gif" - ], "forms": { "none": "{} is eating", "others": "{} is feeding {}", @@ -338,22 +136,6 @@ } }, "glomp": { - "gifs": [ - "https://webionite.com/quadnite/glomp/0.gif", - "https://webionite.com/quadnite/glomp/1.gif", - "https://webionite.com/quadnite/glomp/2.gif", - "https://webionite.com/quadnite/glomp/3.gif", - "https://webionite.com/quadnite/glomp/4.gif", - "https://webionite.com/quadnite/glomp/5.gif", - "https://webionite.com/quadnite/glomp/6.gif", - "https://webionite.com/quadnite/glomp/7.gif", - "https://webionite.com/quadnite/glomp/8.gif", - "https://webionite.com/quadnite/glomp/9.gif", - "https://webionite.com/quadnite/glomp/10.gif", - "https://webionite.com/quadnite/glomp/11.gif", - "https://webionite.com/quadnite/glomp/12.gif", - "https://webionite.com/quadnite/glomp/13.gif" - ], "forms": { "none": "{} is glomping", "others": "{} is glomping {}", @@ -362,13 +144,6 @@ } }, "happy": { - "gifs": [ - "https://webionite.com/quadnite/happy/0.gif", - "https://webionite.com/quadnite/happy/1.gif", - "https://webionite.com/quadnite/happy/2.gif", - "https://webionite.com/quadnite/happy/3.gif", - "https://webionite.com/quadnite/happy/4.gif" - ], "forms": { "none": "{} is happy", "others": "{} is happy with {}", @@ -377,13 +152,6 @@ } }, "hate": { - "gifs": [ - "https://webionite.com/quadnite/hate/0.gif", - "https://webionite.com/quadnite/hate/1.gif", - "https://webionite.com/quadnite/hate/2.gif", - "https://webionite.com/quadnite/hate/3.gif", - "https://webionite.com/quadnite/hate/4.gif" - ], "forms": { "none": "{} is hating", "others": "{} is hating {}", @@ -392,18 +160,6 @@ } }, "holdhands": { - "gifs": [ - "https://webionite.com/quadnite/holdhands/0.gif", - "https://webionite.com/quadnite/holdhands/1.gif", - "https://webionite.com/quadnite/holdhands/2.gif", - "https://webionite.com/quadnite/holdhands/3.gif", - "https://webionite.com/quadnite/holdhands/4.gif", - "https://webionite.com/quadnite/holdhands/5.gif", - "https://webionite.com/quadnite/holdhands/6.gif", - "https://webionite.com/quadnite/holdhands/7.gif", - "https://webionite.com/quadnite/holdhands/8.gif", - "https://webionite.com/quadnite/holdhands/9.gif" - ], "forms": { "none": "{} is holding hands", "others": "{} is holding hands with {}", @@ -412,19 +168,6 @@ } }, "hide": { - "gifs": [ - "https://webionite.com/quadnite/hide/0.gif", - "https://webionite.com/quadnite/hide/1.gif", - "https://webionite.com/quadnite/hide/2.gif", - "https://webionite.com/quadnite/hide/3.gif", - "https://webionite.com/quadnite/hide/4.gif", - "https://webionite.com/quadnite/hide/5.gif", - "https://webionite.com/quadnite/hide/6.gif", - "https://webionite.com/quadnite/hide/7.gif", - "https://webionite.com/quadnite/hide/8.gif", - "https://webionite.com/quadnite/hide/9.gif", - "https://webionite.com/quadnite/hide/10.gif" - ], "forms": { "none": "{} is hiding", "others": "{} is hiding from {}", @@ -433,18 +176,6 @@ } }, "highfive": { - "gifs": [ - "https://webionite.com/quadnite/highfive/0.gif", - "https://webionite.com/quadnite/highfive/1.gif", - "https://webionite.com/quadnite/highfive/2.gif", - "https://webionite.com/quadnite/highfive/3.gif", - "https://webionite.com/quadnite/highfive/4.gif", - "https://webionite.com/quadnite/highfive/5.gif", - "https://webionite.com/quadnite/highfive/6.gif", - "https://webionite.com/quadnite/highfive/7.gif", - "https://webionite.com/quadnite/highfive/8.gif", - "https://webionite.com/quadnite/highfive/9.gif" - ], "forms": { "none": "{} is high fiving", "others": "{} is high fiving with {}", @@ -453,37 +184,6 @@ } }, "hug": { - "gifs": [ - "https://webionite.com/quadnite/hug/0.gif", - "https://webionite.com/quadnite/hug/1.gif", - "https://webionite.com/quadnite/hug/2.gif", - "https://webionite.com/quadnite/hug/3.gif", - "https://webionite.com/quadnite/hug/4.gif", - "https://webionite.com/quadnite/hug/5.gif", - "https://webionite.com/quadnite/hug/6.gif", - "https://webionite.com/quadnite/hug/7.gif", - "https://webionite.com/quadnite/hug/8.gif", - "https://webionite.com/quadnite/hug/9.gif", - "https://webionite.com/quadnite/hug/10.gif", - "https://webionite.com/quadnite/hug/11.gif", - "https://webionite.com/quadnite/hug/12.gif", - "https://webionite.com/quadnite/hug/13.gif", - "https://webionite.com/quadnite/hug/14.gif", - "https://webionite.com/quadnite/hug/15.gif", - "https://webionite.com/quadnite/hug/16.gif", - "https://webionite.com/quadnite/hug/17.gif", - "https://webionite.com/quadnite/hug/18.gif", - "https://webionite.com/quadnite/hug/19.gif", - "https://webionite.com/quadnite/hug/20.gif", - "https://webionite.com/quadnite/hug/21.gif", - "https://webionite.com/quadnite/hug/22.gif", - "https://webionite.com/quadnite/hug/23.gif", - "https://webionite.com/quadnite/hug/24.gif", - "https://webionite.com/quadnite/hug/25.gif", - "https://webionite.com/quadnite/hug/26.gif", - "https://webionite.com/quadnite/hug/27.gif", - "https://webionite.com/quadnite/hug/28.gif" - ], "forms": { "none": "{} is hugging", "others": "{} is hugging {}", @@ -492,17 +192,6 @@ } }, "kill": { - "gifs": [ - "https://webionite.com/quadnite/kill/0.gif", - "https://webionite.com/quadnite/kill/1.gif", - "https://webionite.com/quadnite/kill/2.gif", - "https://webionite.com/quadnite/kill/3.gif", - "https://webionite.com/quadnite/kill/4.gif", - "https://webionite.com/quadnite/kill/5.gif", - "https://webionite.com/quadnite/kill/6.gif", - "https://webionite.com/quadnite/kill/7.gif", - "https://webionite.com/quadnite/kill/8.gif" - ], "forms": { "none": "{} is killing", "others": "{} is killing {}", @@ -511,24 +200,6 @@ } }, "kiss": { - "gifs": [ - "https://webionite.com/quadnite/kiss/0.gif", - "https://webionite.com/quadnite/kiss/1.gif", - "https://webionite.com/quadnite/kiss/2.gif", - "https://webionite.com/quadnite/kiss/3.gif", - "https://webionite.com/quadnite/kiss/4.gif", - "https://webionite.com/quadnite/kiss/5.gif", - "https://webionite.com/quadnite/kiss/6.gif", - "https://webionite.com/quadnite/kiss/7.gif", - "https://webionite.com/quadnite/kiss/8.gif", - "https://webionite.com/quadnite/kiss/9.gif", - "https://webionite.com/quadnite/kiss/10.gif", - "https://webionite.com/quadnite/kiss/11.gif", - "https://webionite.com/quadnite/kiss/12.gif", - "https://webionite.com/quadnite/kiss/13.gif", - "https://webionite.com/quadnite/kiss/14.gif", - "https://webionite.com/quadnite/kiss/15.gif" - ], "forms": { "none": "{} is kissing", "others": "{} is kissing {}", @@ -537,17 +208,6 @@ } }, "laugh": { - "gifs": [ - "https://webionite.com/quadnite/laugh/0.gif", - "https://webionite.com/quadnite/laugh/1.gif", - "https://webionite.com/quadnite/laugh/2.gif", - "https://webionite.com/quadnite/laugh/3.gif", - "https://webionite.com/quadnite/laugh/4.gif", - "https://webionite.com/quadnite/laugh/5.gif", - "https://webionite.com/quadnite/laugh/6.gif", - "https://webionite.com/quadnite/laugh/7.gif", - "https://webionite.com/quadnite/laugh/8.gif" - ], "forms": { "none": "{} is laughing", "others": "{} is laughing with {}", @@ -556,19 +216,6 @@ } }, "lick": { - "gifs": [ - "https://webionite.com/quadnite/lick/0.gif", - "https://webionite.com/quadnite/lick/1.gif", - "https://webionite.com/quadnite/lick/2.gif", - "https://webionite.com/quadnite/lick/3.gif", - "https://webionite.com/quadnite/lick/4.gif", - "https://webionite.com/quadnite/lick/5.gif", - "https://webionite.com/quadnite/lick/6.gif", - "https://webionite.com/quadnite/lick/7.gif", - "https://webionite.com/quadnite/lick/8.gif", - "https://webionite.com/quadnite/lick/9.gif", - "https://webionite.com/quadnite/lick/10.gif" - ], "forms": { "none": "{} is licking", "others": "{} is licking {}", @@ -577,18 +224,6 @@ } }, "love": { - "gifs": [ - "https://webionite.com/quadnite/love/0.gif", - "https://webionite.com/quadnite/love/1.gif", - "https://webionite.com/quadnite/love/2.gif", - "https://webionite.com/quadnite/love/3.gif", - "https://webionite.com/quadnite/love/4.gif", - "https://webionite.com/quadnite/love/5.gif", - "https://webionite.com/quadnite/love/6.gif", - "https://webionite.com/quadnite/love/7.gif", - "https://webionite.com/quadnite/love/8.gif", - "https://webionite.com/quadnite/love/9.gif" - ], "forms": { "none": "{} is loving", "others": "{} is loving {}", @@ -597,17 +232,6 @@ } }, "lurk": { - "gifs": [ - "https://webionite.com/quadnite/lurk/0.gif", - "https://webionite.com/quadnite/lurk/1.gif", - "https://webionite.com/quadnite/lurk/2.gif", - "https://webionite.com/quadnite/lurk/3.gif", - "https://webionite.com/quadnite/lurk/4.gif", - "https://webionite.com/quadnite/lurk/5.gif", - "https://webionite.com/quadnite/lurk/6.gif", - "https://webionite.com/quadnite/lurk/7.gif", - "https://webionite.com/quadnite/lurk/8.gif" - ], "forms": { "none": "{} is lurking", "others": "{} is lurking from {}", @@ -616,17 +240,6 @@ } }, "nervous": { - "gifs": [ - "https://webionite.com/quadnite/nervous/0.gif", - "https://webionite.com/quadnite/nervous/1.gif", - "https://webionite.com/quadnite/nervous/2.gif", - "https://webionite.com/quadnite/nervous/3.gif", - "https://webionite.com/quadnite/nervous/4.gif", - "https://webionite.com/quadnite/nervous/5.gif", - "https://webionite.com/quadnite/nervous/6.gif", - "https://webionite.com/quadnite/nervous/7.gif", - "https://webionite.com/quadnite/nervous/8.gif" - ], "forms": { "none": "{} is nervous", "others": "{} is nervous with {}", @@ -635,22 +248,6 @@ } }, "no": { - "gifs": [ - "https://webionite.com/quadnite/no/0.gif", - "https://webionite.com/quadnite/no/1.gif", - "https://webionite.com/quadnite/no/2.gif", - "https://webionite.com/quadnite/no/3.gif", - "https://webionite.com/quadnite/no/4.gif", - "https://webionite.com/quadnite/no/5.gif", - "https://webionite.com/quadnite/no/6.gif", - "https://webionite.com/quadnite/no/7.gif", - "https://webionite.com/quadnite/no/8.gif", - "https://webionite.com/quadnite/no/9.gif", - "https://webionite.com/quadnite/no/10.gif", - "https://webionite.com/quadnite/no/11.gif", - "https://webionite.com/quadnite/no/12.gif", - "https://webionite.com/quadnite/no/13.gif" - ], "forms": { "none": "{} is saying no", "others": "{} is saying no to {}", @@ -659,14 +256,6 @@ } }, "nom": { - "gifs": [ - "https://webionite.com/quadnite/nom/0.gif", - "https://webionite.com/quadnite/nom/1.gif", - "https://webionite.com/quadnite/nom/2.gif", - "https://webionite.com/quadnite/nom/3.gif", - "https://webionite.com/quadnite/nom/4.gif", - "https://webionite.com/quadnite/nom/5.gif" - ], "forms": { "none": "{} is noming", "others": "{} is noming {}", @@ -675,18 +264,6 @@ } }, "nuzzle": { - "gifs": [ - "https://webionite.com/quadnite/nuzzle/0.gif", - "https://webionite.com/quadnite/nuzzle/1.gif", - "https://webionite.com/quadnite/nuzzle/2.gif", - "https://webionite.com/quadnite/nuzzle/3.gif", - "https://webionite.com/quadnite/nuzzle/4.gif", - "https://webionite.com/quadnite/nuzzle/5.gif", - "https://webionite.com/quadnite/nuzzle/6.gif", - "https://webionite.com/quadnite/nuzzle/7.gif", - "https://webionite.com/quadnite/nuzzle/8.gif", - "https://webionite.com/quadnite/nuzzle/9.gif" - ], "forms": { "none": "{} is nuzzling", "others": "{} is nuzzling {}", @@ -695,17 +272,6 @@ } }, "panic": { - "gifs": [ - "https://webionite.com/quadnite/panic/0.gif", - "https://webionite.com/quadnite/panic/1.gif", - "https://webionite.com/quadnite/panic/2.gif", - "https://webionite.com/quadnite/panic/3.gif", - "https://webionite.com/quadnite/panic/4.gif", - "https://webionite.com/quadnite/panic/5.gif", - "https://webionite.com/quadnite/panic/6.gif", - "https://webionite.com/quadnite/panic/7.gif", - "https://webionite.com/quadnite/panic/8.gif" - ], "forms": { "none": "{} is panicking", "others": "{} is panicking at {}", @@ -714,15 +280,6 @@ } }, "pat": { - "gifs": [ - "https://webionite.com/quadnite/pat/0.gif", - "https://webionite.com/quadnite/pat/1.gif", - "https://webionite.com/quadnite/pat/2.gif", - "https://webionite.com/quadnite/pat/3.gif", - "https://webionite.com/quadnite/pat/4.gif", - "https://webionite.com/quadnite/pat/5.gif", - "https://webionite.com/quadnite/pat/6.gif" - ], "forms": { "none": "{} is patting", "others": "{} is patting {}", @@ -731,18 +288,6 @@ } }, "peck": { - "gifs": [ - "https://webionite.com/quadnite/peck/0.gif", - "https://webionite.com/quadnite/peck/1.gif", - "https://webionite.com/quadnite/peck/2.gif", - "https://webionite.com/quadnite/peck/3.gif", - "https://webionite.com/quadnite/peck/4.gif", - "https://webionite.com/quadnite/peck/5.gif", - "https://webionite.com/quadnite/peck/6.gif", - "https://webionite.com/quadnite/peck/7.gif", - "https://webionite.com/quadnite/peck/8.gif", - "https://webionite.com/quadnite/peck/9.gif" - ], "forms": { "none": "{} is pecking", "others": "{} is pecking {}", @@ -751,20 +296,6 @@ } }, "poke": { - "gifs": [ - "https://webionite.com/quadnite/poke/0.gif", - "https://webionite.com/quadnite/poke/1.gif", - "https://webionite.com/quadnite/poke/2.gif", - "https://webionite.com/quadnite/poke/3.gif", - "https://webionite.com/quadnite/poke/4.gif", - "https://webionite.com/quadnite/poke/5.gif", - "https://webionite.com/quadnite/poke/6.gif", - "https://webionite.com/quadnite/poke/7.gif", - "https://webionite.com/quadnite/poke/8.gif", - "https://webionite.com/quadnite/poke/9.gif", - "https://webionite.com/quadnite/poke/10.gif", - "https://webionite.com/quadnite/poke/11.gif" - ], "forms": { "none": "{} is poking", "others": "{} is poking {}", @@ -773,14 +304,6 @@ } }, "pout": { - "gifs": [ - "https://webionite.com/quadnite/pout/0.gif", - "https://webionite.com/quadnite/pout/1.gif", - "https://webionite.com/quadnite/pout/2.gif", - "https://webionite.com/quadnite/pout/3.gif", - "https://webionite.com/quadnite/pout/4.gif", - "https://webionite.com/quadnite/pout/5.gif" - ], "forms": { "none": "{} is pouting", "others": "{} is pouting at {}", @@ -789,23 +312,6 @@ } }, "run": { - "gifs": [ - "https://webionite.com/quadnite/run/0.gif", - "https://webionite.com/quadnite/run/1.gif", - "https://webionite.com/quadnite/run/2.gif", - "https://webionite.com/quadnite/run/3.gif", - "https://webionite.com/quadnite/run/4.gif", - "https://webionite.com/quadnite/run/5.gif", - "https://webionite.com/quadnite/run/6.gif", - "https://webionite.com/quadnite/run/7.gif", - "https://webionite.com/quadnite/run/8.gif", - "https://webionite.com/quadnite/run/9.gif", - "https://webionite.com/quadnite/run/10.gif", - "https://webionite.com/quadnite/run/11.gif", - "https://webionite.com/quadnite/run/12.gif", - "https://webionite.com/quadnite/run/13.gif", - "https://webionite.com/quadnite/run/14.gif" - ], "forms": { "none": "{} is running", "others": "{} is running from {}", @@ -814,14 +320,6 @@ } }, "shoot": { - "gifs": [ - "https://webionite.com/quadnite/shoot/0.gif", - "https://webionite.com/quadnite/shoot/1.gif", - "https://webionite.com/quadnite/shoot/2.gif", - "https://webionite.com/quadnite/shoot/3.gif", - "https://webionite.com/quadnite/shoot/4.gif", - "https://webionite.com/quadnite/shoot/5.gif" - ], "forms": { "none": "{} is shooting", "others": "{} is shooting {}", @@ -830,21 +328,6 @@ } }, "shrug": { - "gifs": [ - "https://webionite.com/quadnite/shrug/0.gif", - "https://webionite.com/quadnite/shrug/1.gif", - "https://webionite.com/quadnite/shrug/2.gif", - "https://webionite.com/quadnite/shrug/3.gif", - "https://webionite.com/quadnite/shrug/4.gif", - "https://webionite.com/quadnite/shrug/5.gif", - "https://webionite.com/quadnite/shrug/6.gif", - "https://webionite.com/quadnite/shrug/7.gif", - "https://webionite.com/quadnite/shrug/8.gif", - "https://webionite.com/quadnite/shrug/9.gif", - "https://webionite.com/quadnite/shrug/10.gif", - "https://webionite.com/quadnite/shrug/11.gif", - "https://webionite.com/quadnite/shrug/12.gif" - ], "forms": { "none": "{} is shrugging", "others": "{} is shrugging at {}", @@ -853,18 +336,6 @@ } }, "sip": { - "gifs": [ - "https://webionite.com/quadnite/sip/0.gif", - "https://webionite.com/quadnite/sip/1.gif", - "https://webionite.com/quadnite/sip/2.gif", - "https://webionite.com/quadnite/sip/3.gif", - "https://webionite.com/quadnite/sip/4.gif", - "https://webionite.com/quadnite/sip/5.gif", - "https://webionite.com/quadnite/sip/6.gif", - "https://webionite.com/quadnite/sip/7.gif", - "https://webionite.com/quadnite/sip/8.gif", - "https://webionite.com/quadnite/sip/9.gif" - ], "forms": { "none": "{} is sipping", "others": "{} is sipping with {}", @@ -873,20 +344,6 @@ } }, "slap": { - "gifs": [ - "https://webionite.com/quadnite/slap/0.gif", - "https://webionite.com/quadnite/slap/1.gif", - "https://webionite.com/quadnite/slap/2.gif", - "https://webionite.com/quadnite/slap/3.gif", - "https://webionite.com/quadnite/slap/4.gif", - "https://webionite.com/quadnite/slap/5.gif", - "https://webionite.com/quadnite/slap/6.gif", - "https://webionite.com/quadnite/slap/7.gif", - "https://webionite.com/quadnite/slap/8.gif", - "https://webionite.com/quadnite/slap/9.gif", - "https://webionite.com/quadnite/slap/10.gif", - "https://webionite.com/quadnite/slap/11.gif" - ], "forms": { "none": "{} is slapping", "others": "{} is slapping {}", @@ -895,22 +352,6 @@ } }, "sleep": { - "gifs": [ - "https://webionite.com/quadnite/sleep/0.gif", - "https://webionite.com/quadnite/sleep/1.gif", - "https://webionite.com/quadnite/sleep/2.gif", - "https://webionite.com/quadnite/sleep/3.gif", - "https://webionite.com/quadnite/sleep/4.gif", - "https://webionite.com/quadnite/sleep/5.gif", - "https://webionite.com/quadnite/sleep/6.gif", - "https://webionite.com/quadnite/sleep/7.gif", - "https://webionite.com/quadnite/sleep/8.gif", - "https://webionite.com/quadnite/sleep/9.gif", - "https://webionite.com/quadnite/sleep/10.gif", - "https://webionite.com/quadnite/sleep/11.gif", - "https://webionite.com/quadnite/sleep/12.gif", - "https://webionite.com/quadnite/sleep/13.gif" - ], "forms": { "none": "{} is sleeping", "others": "{} is sleeping with {}", @@ -919,16 +360,6 @@ } }, "snuggle": { - "gifs": [ - "https://webionite.com/quadnite/snuggle/0.gif", - "https://webionite.com/quadnite/snuggle/1.gif", - "https://webionite.com/quadnite/snuggle/2.gif", - "https://webionite.com/quadnite/snuggle/3.gif", - "https://webionite.com/quadnite/snuggle/4.gif", - "https://webionite.com/quadnite/snuggle/5.gif", - "https://webionite.com/quadnite/snuggle/6.gif", - "https://webionite.com/quadnite/snuggle/7.gif" - ], "forms": { "none": "{} is snuggling", "others": "{} is snuggling {}", @@ -937,13 +368,6 @@ } }, "stab": { - "gifs": [ - "https://webionite.com/quadnite/stab/0.gif", - "https://webionite.com/quadnite/stab/1.gif", - "https://webionite.com/quadnite/stab/2.gif", - "https://webionite.com/quadnite/stab/3.gif", - "https://webionite.com/quadnite/stab/4.gif" - ], "forms": { "none": "{} is stabbing", "others": "{} is stabbing {}", @@ -952,17 +376,6 @@ } }, "tease": { - "gifs": [ - "https://webionite.com/quadnite/tease/0.gif", - "https://webionite.com/quadnite/tease/1.gif", - "https://webionite.com/quadnite/tease/2.gif", - "https://webionite.com/quadnite/tease/3.gif", - "https://webionite.com/quadnite/tease/4.gif", - "https://webionite.com/quadnite/tease/5.gif", - "https://webionite.com/quadnite/tease/6.gif", - "https://webionite.com/quadnite/tease/7.gif", - "https://webionite.com/quadnite/tease/8.gif" - ], "forms": { "none": "{} is teasing", "others": "{} is teasing {}", @@ -971,16 +384,6 @@ } }, "think": { - "gifs": [ - "https://webionite.com/quadnite/think/0.gif", - "https://webionite.com/quadnite/think/1.gif", - "https://webionite.com/quadnite/think/2.gif", - "https://webionite.com/quadnite/think/3.gif", - "https://webionite.com/quadnite/think/4.gif", - "https://webionite.com/quadnite/think/5.gif", - "https://webionite.com/quadnite/think/6.gif", - "https://webionite.com/quadnite/think/7.gif" - ], "forms": { "none": "{} is thinking", "others": "{} is thinking with {}", @@ -989,15 +392,6 @@ } }, "thumbsup": { - "gifs": [ - "https://webionite.com/quadnite/thumbsup/0.gif", - "https://webionite.com/quadnite/thumbsup/1.gif", - "https://webionite.com/quadnite/thumbsup/2.gif", - "https://webionite.com/quadnite/thumbsup/3.gif", - "https://webionite.com/quadnite/thumbsup/4.gif", - "https://webionite.com/quadnite/thumbsup/5.gif", - "https://webionite.com/quadnite/thumbsup/6.gif" - ], "forms": { "none": "{} is giving a thumbs up", "others": "{} is giving a thumbs up to {}", @@ -1006,15 +400,6 @@ } }, "tickle": { - "gifs": [ - "https://webionite.com/quadnite/tickle/0.gif", - "https://webionite.com/quadnite/tickle/1.gif", - "https://webionite.com/quadnite/tickle/2.gif", - "https://webionite.com/quadnite/tickle/3.gif", - "https://webionite.com/quadnite/tickle/4.gif", - "https://webionite.com/quadnite/tickle/5.gif", - "https://webionite.com/quadnite/tickle/6.gif" - ], "forms": { "none": "{} is tickling", "others": "{} is tickling {}", @@ -1023,16 +408,6 @@ } }, "triggered": { - "gifs": [ - "https://webionite.com/quadnite/triggered/0.gif", - "https://webionite.com/quadnite/triggered/1.gif", - "https://webionite.com/quadnite/triggered/2.gif", - "https://webionite.com/quadnite/triggered/3.gif", - "https://webionite.com/quadnite/triggered/4.gif", - "https://webionite.com/quadnite/triggered/5.gif", - "https://webionite.com/quadnite/triggered/6.gif", - "https://webionite.com/quadnite/triggered/7.gif" - ], "forms": { "none": "{} is triggered", "others": "{} is triggered by {}", @@ -1041,28 +416,6 @@ } }, "twerk": { - "gifs": [ - "https://webionite.com/quadnite/twerk/0.gif", - "https://webionite.com/quadnite/twerk/1.gif", - "https://webionite.com/quadnite/twerk/2.gif", - "https://webionite.com/quadnite/twerk/3.gif", - "https://webionite.com/quadnite/twerk/4.gif", - "https://webionite.com/quadnite/twerk/5.gif", - "https://webionite.com/quadnite/twerk/6.gif", - "https://webionite.com/quadnite/twerk/7.gif", - "https://webionite.com/quadnite/twerk/8.gif", - "https://webionite.com/quadnite/twerk/9.gif", - "https://webionite.com/quadnite/twerk/10.gif", - "https://webionite.com/quadnite/twerk/11.gif", - "https://webionite.com/quadnite/twerk/12.gif", - "https://webionite.com/quadnite/twerk/13.gif", - "https://webionite.com/quadnite/twerk/14.gif", - "https://webionite.com/quadnite/twerk/15.gif", - "https://webionite.com/quadnite/twerk/16.gif", - "https://webionite.com/quadnite/twerk/17.gif", - "https://webionite.com/quadnite/twerk/18.gif", - "https://webionite.com/quadnite/twerk/19.gif" - ], "forms": { "none": "{} is twerking", "others": "{} is twerking with {}", @@ -1071,15 +424,6 @@ } }, "wag": { - "gifs": [ - "https://webionite.com/quadnite/wag/0.gif", - "https://webionite.com/quadnite/wag/1.gif", - "https://webionite.com/quadnite/wag/2.gif", - "https://webionite.com/quadnite/wag/3.gif", - "https://webionite.com/quadnite/wag/4.gif", - "https://webionite.com/quadnite/wag/5.gif", - "https://webionite.com/quadnite/wag/6.gif" - ], "forms": { "none": "{} is wagging", "others": "{} is wagging at {}", @@ -1088,16 +432,6 @@ } }, "wave": { - "gifs": [ - "https://webionite.com/quadnite/wave/0.gif", - "https://webionite.com/quadnite/wave/1.gif", - "https://webionite.com/quadnite/wave/2.gif", - "https://webionite.com/quadnite/wave/3.gif", - "https://webionite.com/quadnite/wave/4.gif", - "https://webionite.com/quadnite/wave/5.gif", - "https://webionite.com/quadnite/wave/6.gif", - "https://webionite.com/quadnite/wave/7.gif" - ], "forms": { "none": "{} is waving", "others": "{} is waving at {}", @@ -1106,19 +440,6 @@ } }, "wink": { - "gifs": [ - "https://webionite.com/quadnite/wink/0.gif", - "https://webionite.com/quadnite/wink/1.gif", - "https://webionite.com/quadnite/wink/2.gif", - "https://webionite.com/quadnite/wink/3.gif", - "https://webionite.com/quadnite/wink/4.gif", - "https://webionite.com/quadnite/wink/5.gif", - "https://webionite.com/quadnite/wink/6.gif", - "https://webionite.com/quadnite/wink/7.gif", - "https://webionite.com/quadnite/wink/8.gif", - "https://webionite.com/quadnite/wink/9.gif", - "https://webionite.com/quadnite/wink/10.gif" - ], "forms": { "none": "{} is winking", "others": "{} is winking at {}", @@ -1127,19 +448,6 @@ } }, "yes": { - "gifs": [ - "https://webionite.com/quadnite/yes/0.gif", - "https://webionite.com/quadnite/yes/1.gif", - "https://webionite.com/quadnite/yes/2.gif", - "https://webionite.com/quadnite/yes/3.gif", - "https://webionite.com/quadnite/yes/4.gif", - "https://webionite.com/quadnite/yes/5.gif", - "https://webionite.com/quadnite/yes/6.gif", - "https://webionite.com/quadnite/yes/7.gif", - "https://webionite.com/quadnite/yes/8.gif", - "https://webionite.com/quadnite/yes/9.gif", - "https://webionite.com/quadnite/yes/10.gif" - ], "forms": { "none": "{} is saying yes", "others": "{} is saying yes to {}", From ce9611f079b03eece23e5c1410af16fb53552705 Mon Sep 17 00:00:00 2001 From: Ceda EI Date: Mon, 27 Sep 2021 23:53:33 +0530 Subject: [PATCH 3/7] Move text files to static/ --- bot.js | 4 +- shrinkwrap.yaml | 81 ------------------- commands_list.txt => static/commands_list.txt | 0 insults.txt => static/insults.txt | 0 kys.txt => static/kys.txt | 0 questions.txt => static/questions.txt | 0 roleplay.json => static/roleplay.json | 0 words.txt => static/words.txt | 0 8 files changed, 2 insertions(+), 83 deletions(-) delete mode 100644 shrinkwrap.yaml rename commands_list.txt => static/commands_list.txt (100%) rename insults.txt => static/insults.txt (100%) rename kys.txt => static/kys.txt (100%) rename questions.txt => static/questions.txt (100%) rename roleplay.json => static/roleplay.json (100%) rename words.txt => static/words.txt (100%) diff --git a/bot.js b/bot.js index f7d431d..dfae4f9 100644 --- a/bot.js +++ b/bot.js @@ -3,7 +3,7 @@ const { BOT_API_KEY, FEEDBACK_ID, UGOKI_ROOT } = process.env; const fs = require("fs").promises; const commands = require("./commands"); const axios = require("axios"); -const roleplay = require("./roleplay.json"); +const roleplay = require("./static/roleplay.json"); const bot = new Telegraf(BOT_API_KEY); bot.catch((err) => console.log(err)); @@ -15,7 +15,7 @@ const data = [ "commands_list", "words" ].map(file => - fs.readFile(file + ".txt", "utf-8") + fs.readFile("static/" + file + ".txt", "utf-8") .then(list => list.split("\n"))); diff --git a/shrinkwrap.yaml b/shrinkwrap.yaml deleted file mode 100644 index e540d2b..0000000 --- a/shrinkwrap.yaml +++ /dev/null @@ -1,81 +0,0 @@ -dependencies: - axios: 0.18.0 - telegraf: 3.27.1 -packages: - /@types/node/10.12.24: - dev: false - resolution: - integrity: sha512-GWWbvt+z9G5otRBW8rssOFgRY87J9N/qbhqfjMZ+gUuL6zoL+Hm6gP/8qQBG4jjimqdaNLCehcVapZ/Fs2WjCQ== - /axios/0.18.0: - dependencies: - follow-redirects: 1.6.1 - is-buffer: 1.1.6 - dev: false - resolution: - integrity: sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI= - /debug/3.1.0: - dependencies: - ms: 2.0.0 - dev: false - resolution: - integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - /debug/4.1.1: - dependencies: - ms: 2.1.1 - dev: false - resolution: - integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - /follow-redirects/1.6.1: - dependencies: - debug: 3.1.0 - dev: false - engines: - node: '>=4.0' - resolution: - integrity: sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ== - /is-buffer/1.1.6: - dev: false - resolution: - integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - /ms/2.0.0: - dev: false - resolution: - integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - /ms/2.1.1: - dev: false - resolution: - integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - /node-fetch/2.3.0: - dev: false - engines: - node: 4.x || >=6.0.0 - resolution: - integrity: sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA== - /sandwich-stream/2.0.2: - dev: false - engines: - node: '>= 0.10' - resolution: - integrity: sha512-jLYV0DORrzY3xaz/S9ydJL6Iz7essZeAfnAavsJ+zsJGZ1MOnsS52yRjU3uF3pJa/lla7+wisp//fxOwOH8SKQ== - /telegraf/3.27.1: - dependencies: - '@types/node': 10.12.24 - debug: 4.1.1 - node-fetch: 2.3.0 - sandwich-stream: 2.0.2 - telegram-typings: 3.6.1 - dev: false - engines: - node: '>=6.2.0' - resolution: - integrity: sha512-RQUnuNAEEWcLhRap81qwGUUqAy1KcvqANnA0G3pzZqFkhMe6LrTk5lVi9tdOaF0Ud/yOx5fdx0rNPYfiB27Z+w== - /telegram-typings/3.6.1: - dev: false - resolution: - integrity: sha512-njVv1EAhIZnmQVLocZEADYUyqA1WIXuVcDYlsp+mXua/XB0pxx+PKtMSPeZ/EE4wPWTw9h/hA9ASTT6yQelkiw== -registry: 'https://registry.npmjs.org/' -shrinkwrapMinorVersion: 9 -shrinkwrapVersion: 3 -specifiers: - axios: ^0.18.0 - telegraf: ^3.27.1 diff --git a/commands_list.txt b/static/commands_list.txt similarity index 100% rename from commands_list.txt rename to static/commands_list.txt diff --git a/insults.txt b/static/insults.txt similarity index 100% rename from insults.txt rename to static/insults.txt diff --git a/kys.txt b/static/kys.txt similarity index 100% rename from kys.txt rename to static/kys.txt diff --git a/questions.txt b/static/questions.txt similarity index 100% rename from questions.txt rename to static/questions.txt diff --git a/roleplay.json b/static/roleplay.json similarity index 100% rename from roleplay.json rename to static/roleplay.json diff --git a/words.txt b/static/words.txt similarity index 100% rename from words.txt rename to static/words.txt From 5ac1c1e4a6c432e9920dcda9641904a956aafe02 Mon Sep 17 00:00:00 2001 From: Ceda EI Date: Mon, 27 Sep 2021 23:53:59 +0530 Subject: [PATCH 4/7] Better logging for ugokiUpload failures --- commands/suggest.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/commands/suggest.js b/commands/suggest.js index 3f5c62d..18ac6d9 100644 --- a/commands/suggest.js +++ b/commands/suggest.js @@ -16,9 +16,10 @@ function ugokiUpload(axios, ugokiRoot, ctx, category, path) { }) .catch((err) => { - if (err.response.status == 404) + console.error(err); + if (err.response && err.response.status == 404) ctx.reply("Category doesn't exist"); - else if (err.response.status == 409) + else if (err.response && err.response.status == 409) ctx.reply("Already suggested / added."); else ctx.reply("No clue what the hell happened but adding suggestion failed."); From f1740ce4c0512556110e3e532d35c5961cd9688a Mon Sep 17 00:00:00 2001 From: Ceda EI Date: Tue, 28 Sep 2021 14:54:05 +0530 Subject: [PATCH 5/7] Update README --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d665b9d..df66af6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,16 @@ # Quadnite-Bot -Source code for @quadnite_bot + +Source code for [@quadnite\_bot](https://t.me/quadnite_bot) + +## Running your own instance + +Quadnite bot depends on [Ugoki](https://gitlab.com/ceda_ei/ugoki) for providing +roleplay gifs. Once you have an instance of Ugoki (and optionally +[Ugoki Frontend](https://gitlab.com/ceda_ei/ugoki-frontend)) running: + +- Clone this repo +- `npm install` +- `export BOT_API_KEY="your-token-for-bot"` +- `export FEEDBACK_ID="chat-id-where-feedback-is-forwarded-to"` +- `export UGOKI_ROOT="https://root.of.ugoki.api/server/"` +- `npm start` From 4b8aecf28a8d61b7945469b70bdb200032e77a3e Mon Sep 17 00:00:00 2001 From: Ceda EI Date: Wed, 6 Oct 2021 22:59:08 +0530 Subject: [PATCH 6/7] Allow aliases in roleplay.json. Add runs, sob, sobs, handhold aliases --- commands/index.js | 33 ++++++++++++++++++++++++++------- static/roleplay.json | 18 ++++++++++++++++++ 2 files changed, 44 insertions(+), 7 deletions(-) diff --git a/commands/index.js b/commands/index.js index 7cc479b..443cb84 100644 --- a/commands/index.js +++ b/commands/index.js @@ -67,16 +67,35 @@ module.exports = (bot, [ questions, kys, insults, commands_list, words, roleplay + "chatting with me in private, you are most likely doing it wrong. " + "Add me to a group for fun. To give feedback, use /feedback")); - const getGetGif = (command) => () => axios.get( - `category/${command}/gif`, - { - baseURL: ugokiRoot - } - ); + function getGetGif(command) { + + const alias = roleplay_data[command].alias; + if (alias) + return getGetGif(alias); + + return () => axios.get( + `category/${command}/gif`, + { + baseURL: ugokiRoot + } + ); + + } + + function getForms(name) { + + if (roleplay_data[name].forms) + return roleplay_data[name].forms; + return getForms(roleplay_data[name].alias); + + } // Add all roleplay commands Object.keys(roleplay_data).map(command => - bot.command(command, ctx => roleplay(roleplay_data[command].forms, getGetGif(command))(ctx))); + bot.command(command, + (ctx) => roleplay(getForms(command), getGetGif(command))(ctx) + ) + ); bot.command("suggest", (ctx) => suggest(axios, apiToken, ugokiRoot)(ctx)); diff --git a/static/roleplay.json b/static/roleplay.json index 7764610..bb6115f 100644 --- a/static/roleplay.json +++ b/static/roleplay.json @@ -143,6 +143,9 @@ "both": "{} is glomping {} for {}" } }, + "handhold": { + "alias": "holdhands" + }, "happy": { "forms": { "none": "{} is happy", @@ -319,6 +322,9 @@ "both": "{} is running from {} for {}" } }, + "runs": { + "alias": "run" + }, "shoot": { "forms": { "none": "{} is shooting", @@ -359,6 +365,18 @@ "both": "{} is sleeping {} for {}" } }, + "sob": { + "alias": "sobs" + }, + "sobs": { + "alias": "cry", + "forms": { + "none": "{} is sobbing", + "others": "{} is sobbing due to {}", + "reason": "{} is sobbing because {}", + "both": "{} is sobbing due to {} because {}" + } + }, "snuggle": { "forms": { "none": "{} is snuggling", From ae21f68cc7b196e32da1b436004ee76299111db6 Mon Sep 17 00:00:00 2001 From: Ceda EI Date: Thu, 25 Nov 2021 00:05:57 +0530 Subject: [PATCH 7/7] Add /donate --- commands/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/commands/index.js b/commands/index.js index 443cb84..2292574 100644 --- a/commands/index.js +++ b/commands/index.js @@ -66,6 +66,9 @@ module.exports = (bot, [ questions, kys, insults, commands_list, words, roleplay bot.command("start", (ctx) => ctx.reply("Hi, I am Quadnite. If you are " + "chatting with me in private, you are most likely doing it wrong. " + "Add me to a group for fun. To give feedback, use /feedback")); + bot.command("donate", (ctx) => ctx.reply("Thanks for considering to donate." + + " To support the development and hosting of Quadnite Bot, you can " + + "donate here: https://liberapay.com/ceda_ei/")); function getGetGif(command) {