summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2021-10-06 21:07:29 -0700
committerFuwn <[email protected]>2021-10-06 21:07:29 -0700
commit55327a3ce7afff8e9d5420b53bdcbe58c5783b7a (patch)
tree85a47b40229d0d0495740b5f023944cc82547f53
downloadbot-55327a3ce7afff8e9d5420b53bdcbe58c5783b7a.tar.xz
bot-55327a3ce7afff8e9d5420b53bdcbe58c5783b7a.zip
feat: discord.js rewrite
-rw-r--r--.gitignore6
-rw-r--r--Procfile1
-rw-r--r--bot.js124
-rw-r--r--package.json14
-rw-r--r--yarn.lock237
5 files changed, 382 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..dd9c80f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+# IDE
+/.idea/
+
+# Bot
+/node_modules/
+/.env
diff --git a/Procfile b/Procfile
new file mode 100644
index 0000000..44899d9
--- /dev/null
+++ b/Procfile
@@ -0,0 +1 @@
+worker: node bot.js
diff --git a/bot.js b/bot.js
new file mode 100644
index 0000000..20c8ec5
--- /dev/null
+++ b/bot.js
@@ -0,0 +1,124 @@
+const { REST } = require("@discordjs/rest");
+const { Routes } = require("discord-api-types/v9");
+const Discord = require("discord.js");
+
+const client = new Discord.Client({ intents: [Discord.Intents.FLAGS.GUILDS] });
+const commands = [
+ {
+ name: "apply",
+ description: "Replies with the application link for yucky! aiming."
+ },
+ {
+ name: "discord",
+ description: "Replies with the invite link to yucky! aimings Discord server."
+ },
+ {
+ name: "twitter",
+ description: "Replies with the link to yucky! aimings Twitter."
+ },
+ {
+ name: "github",
+ description: "Replies with the link to yucky! aimings GitHub."
+ },
+ {
+ name: "steam",
+ description: "Replies with the invite link to yucky! aimings Steam group."
+ },
+ {
+ name: "youtube",
+ description: "Replies with the link to yucky! aimings YouTube channel."
+ },
+ {
+ name: "press",
+ description: "Replies with the link to yucky! aimings press pack."
+ },
+];
+const rest = new REST({ version: "9" })
+ .setToken("ODg5NDE0MDUzNjE1Nzk2Mjg3.YUg5Yg.2i3KiNfOXC2AbuBg-8jM3InxmuI");
+
+(async () => {
+ try {
+ console.log("started resfreshing application (/) commands.");
+
+ await rest.put(
+ Routes.applicationGuildCommands(
+ "889414053615796287",
+ "888524070432423957"
+ ),
+ { body: commands },
+ );
+
+ console.log("successfully reloaded application (/) commands.");
+ } catch (error) {
+ console.error(error);
+ }
+})();
+
+client.on("ready", () => {
+ console.log(`logged in as ${client.user.tag}.`);
+ client.user.setActivity("your applications", { type: "WATCHING" });
+});
+
+client.on("error", console.error)
+
+client.on("interactionCreate", async interaction => {
+ if (!interaction.isCommand()) { return; }
+
+ switch (interaction.commandName) {
+ case "apply": {
+ await interaction.reply("https://fuwn.link/apply2yucky")
+ } break;
+ case "discord": {
+ await interaction.reply("https://discord.io/yucky")
+ } break;
+ case "twitter": {
+ await interaction.reply("https://twitter.com/yuckyaiming")
+ } break;
+ case "github": {
+ await interaction.reply("https://github.com/yuckyaiming")
+ } break;
+ case "steam": {
+ await interaction.reply("https://steamcommunity.com/groups/yucky_de")
+ } break;
+ case "youtube": {
+ await interaction.reply("https://www.youtube.com/channel/UCDZsU0eaFU0HjcM_1bpYbUA")
+ } break;
+ case "press": {
+ await interaction
+ .reply("https://drive.google.com/drive/folders/1A7TJ-PXqYqJ5VHBtzvYInFOEpA3Gk8zC?usp=sharing")
+ } break;
+ }
+});
+
+// client.on("messageCreate", async message => {
+// let arguments;
+// let command;
+//
+// console.log(message);
+//
+// if (message.content.startsWith(">")) {
+// arguments = message.content.slice(">".length).split(/ +/);
+// command = arguments.shift().toLowerCase();
+//
+// console.log(arguments);
+// console.log(command);
+// } else {
+// return;
+// }
+//
+// switch (message) {
+// case "say": {
+// if (message.author.id === "217348698294714370") {
+// await message.delete();
+//
+// message.channel.startTyping();
+//
+// message.channel.send(arguments.join(" "));
+//
+// return message.channel.stopTyping();
+// }
+// } break;
+// }
+// });
+
+client.login("ODg5NDE0MDUzNjE1Nzk2Mjg3.YUg5Yg.2i3KiNfOXC2AbuBg-8jM3InxmuI");
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..6cb9198
--- /dev/null
+++ b/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "bot",
+ "version": "0.1.0",
+ "main": "bot.js",
+ "repository": "https://github.com/yuckyaiming/bot",
+ "author": "Fuwn",
+ "license": "All rights reserved",
+ "private": true,
+ "dependencies": {
+ "@discordjs/rest": "^0.1.0-canary.0",
+ "discord-api-types": "^0.23.1",
+ "discord.js": "^13.2.0"
+ }
+}
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..1817bb2
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,237 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@discordjs/builders@^0.6.0":
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-0.6.0.tgz#4724d18990a97d84d0250eba5b50991b71a450a5"
+ integrity sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==
+ dependencies:
+ "@sindresorhus/is" "^4.0.1"
+ discord-api-types "^0.22.0"
+ ow "^0.27.0"
+ ts-mixer "^6.0.0"
+ tslib "^2.3.1"
+
+"@discordjs/collection@^0.1.6":
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.1.6.tgz#9e9a7637f4e4e0688fd8b2b5c63133c91607682c"
+ integrity sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==
+
+"@discordjs/collection@^0.2.1":
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.2.1.tgz#ea4bc7b41b7b7b6daa82e439141222ec95c469b2"
+ integrity sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==
+
+"@discordjs/form-data@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@discordjs/form-data/-/form-data-3.0.1.tgz#5c9e6be992e2e57d0dfa0e39979a850225fb4697"
+ integrity sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
+"@discordjs/rest@^0.1.0-canary.0":
+ version "0.1.0-canary.0"
+ resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-0.1.0-canary.0.tgz#666f9a1a0c1f2f5a09a3a79f77aeddaeafbcbcc1"
+ integrity sha512-d+s//ISYVV+e0w/926wMEeO7vju+Pn11x1JM4tcmVMCHSDgpi6pnFCNAXF1TEdnDcy7xf9tq5cf2pQkb/7ySTQ==
+ dependencies:
+ "@discordjs/collection" "^0.1.6"
+ "@sapphire/async-queue" "^1.1.4"
+ "@sapphire/snowflake" "^1.3.5"
+ abort-controller "^3.0.0"
+ discord-api-types "^0.18.1"
+ form-data "^4.0.0"
+ node-fetch "^2.6.1"
+ tslib "^2.3.0"
+
+"@sapphire/async-queue@^1.1.4", "@sapphire/async-queue@^1.1.5":
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.1.5.tgz#2a52774ad9c24b1e9be88f4a211e735419014e4e"
+ integrity sha512-NQ8GeTBeOkeAylVYTnO9zfEZO74iMNGCRrR3uIRnCrhkyPC+nsewyQtTamjSDWxXFTf+xGSJ9khiY2p56k/bMA==
+
+"@sapphire/snowflake@^1.3.5":
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-1.3.6.tgz#166e8c5c08d01c861edd7e2edc80b5739741715f"
+ integrity sha512-QnzuLp+p9D7agynVub/zqlDVriDza9y3STArBhNiNBUgIX8+GL5FpQxstRfw1jDr5jkZUjcuKYAHxjIuXKdJAg==
+
+"@sindresorhus/is@^4.0.1":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.2.0.tgz#667bfc6186ae7c9e0b45a08960c551437176e1ca"
+ integrity sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==
+
+"@types/node@*":
+ version "16.10.3"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.3.tgz#7a8f2838603ea314d1d22bb3171d899e15c57bd5"
+ integrity sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ==
+
+"@types/ws@^8.2.0":
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.0.tgz#75faefbe2328f3b833cb8dc640658328990d04f3"
+ integrity sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==
+ dependencies:
+ "@types/node" "*"
+
+abort-controller@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
+ integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
+ dependencies:
+ event-target-shim "^5.0.0"
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+callsites@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+combined-stream@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+discord-api-types@^0.18.1:
+ version "0.18.1"
+ resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.18.1.tgz#5d08ed1263236be9c21a22065d0e6b51f790f492"
+ integrity sha512-hNC38R9ZF4uaujaZQtQfm5CdQO58uhdkoHQAVvMfIL0LgOSZeW575W8H6upngQOuoxWd8tiRII3LLJm9zuQKYg==
+
+discord-api-types@^0.22.0:
+ version "0.22.0"
+ resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.22.0.tgz#34dc57fe8e016e5eaac5e393646cd42a7e1ccc2a"
+ integrity sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==
+
+discord-api-types@^0.23.1:
+ version "0.23.1"
+ resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.23.1.tgz#832d0ee2b3c8e2eae02947c1dbf38121d6d357d5"
+ integrity sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ==
+
+discord.js@^13.2.0:
+ version "13.2.0"
+ resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-13.2.0.tgz#db2e7f643bbc661d1c63b3ebad0ccc6572c0065b"
+ integrity sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==
+ dependencies:
+ "@discordjs/builders" "^0.6.0"
+ "@discordjs/collection" "^0.2.1"
+ "@discordjs/form-data" "^3.0.1"
+ "@sapphire/async-queue" "^1.1.5"
+ "@types/ws" "^8.2.0"
+ discord-api-types "^0.23.1"
+ node-fetch "^2.6.1"
+ ws "^8.2.3"
+
+dot-prop@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
+ integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
+ dependencies:
+ is-obj "^2.0.0"
+
+event-target-shim@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
+ integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
+
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+
+lodash.isequal@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+ integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
+
+ version "1.50.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f"
+ integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==
+
+mime-types@^2.1.12:
+ version "2.1.33"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb"
+ integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==
+ dependencies:
+ mime-db "1.50.0"
+
+node-fetch@^2.6.1:
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd"
+ integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==
+ dependencies:
+ whatwg-url "^5.0.0"
+
+ow@^0.27.0:
+ version "0.27.0"
+ resolved "https://registry.yarnpkg.com/ow/-/ow-0.27.0.tgz#d44da088e8184fa11de64b5813206f9f86ab68d0"
+ integrity sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==
+ dependencies:
+ "@sindresorhus/is" "^4.0.1"
+ callsites "^3.1.0"
+ dot-prop "^6.0.1"
+ lodash.isequal "^4.5.0"
+ type-fest "^1.2.1"
+ vali-date "^1.0.0"
+
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
+
+ts-mixer@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.0.tgz#4e631d3a36e3fa9521b973b132e8353bc7267f9f"
+ integrity sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ==
+
+tslib@^2.3.0, tslib@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
+ integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
+
+type-fest@^1.2.1:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1"
+ integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
+
+vali-date@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6"
+ integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=
+
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
+
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
+ws@^8.2.3:
+ version "8.2.3"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba"
+ integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==