From 0396702d8b973615c3c6c07e9ca8420fa94b3551 Mon Sep 17 00:00:00 2001 From: Badong Date: Sat, 30 Apr 2022 19:20:48 +0200 Subject: [PATCH 01/18] Init event handler & update package-lock version --- package-lock.json | 4 ++-- src/events/message.js | 21 +++++++++++++++++++++ src/index.js | 2 +- 3 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 src/events/message.js diff --git a/package-lock.json b/package-lock.json index c030b37..c4ed016 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rocabot", - "version": "0.0.1", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "rocabot", - "version": "0.0.1", + "version": "1.0.0", "license": "ISC", "dependencies": { "@discordjs/builders": "^0.6.0", diff --git a/src/events/message.js b/src/events/message.js new file mode 100644 index 0000000..b4929c7 --- /dev/null +++ b/src/events/message.js @@ -0,0 +1,21 @@ +const { bold, userMention, channelMention } = require('@discordjs/builders'); +const config = require (__dirname + '/../../config.json'); +const { readFileSync } = require('fs'); + +const NO_KICK_TLDS = ['fr', 'com', 'net', 'eu', 'info', 'org',]; +//stolen from https://regexr.com/2rj36 +const URL_REGEX = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi; + +module.exports = { + name: 'messageCreate', + once: false, + execute: (client, message) => { + console.log(message.content); + //Get message urls + let urls = message.content.match(URL_REGEX); + + if (!urls) { + return; + } + }, +}; \ No newline at end of file diff --git a/src/index.js b/src/index.js index eae6e72..b660d70 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,7 @@ require('dotenv').config({ path: __dirname + '/../.env' }); const fs = require('fs'); const { Client, Collection, Intents } = require('discord.js'); -const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS] }); +const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_MESSAGES] }); // Set local commands client.commands = new Collection(); From 9b000ab9507711d021fa35cb853def71fe5cbe6c Mon Sep 17 00:00:00 2001 From: Badong Date: Sat, 30 Apr 2022 19:25:05 +0200 Subject: [PATCH 02/18] install simple-git --- package-lock.json | 71 +++++++++++++++++++++++++++++++++++++++-------- package.json | 1 + 2 files changed, 60 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index c4ed016..d9605de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "discord-api-types": "^0.22.0", "discord.js": "^13.1.0", "dotenv": "^10.0.0", + "simple-git": "^3.7.1", "ts-node": "^10.2.1" }, "devDependencies": { @@ -254,6 +255,19 @@ "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", "dev": true }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + }, "node_modules/@sapphire/async-queue": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.4.tgz", @@ -529,10 +543,9 @@ } }, "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==", - "dev": true, + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -1235,8 +1248,7 @@ "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==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/natural-compare": { "version": "1.4.0", @@ -1435,6 +1447,20 @@ "node": ">=8" } }, + "node_modules/simple-git": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz", + "integrity": "sha512-+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==", + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/steveukx/" + } + }, "node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -1927,6 +1953,19 @@ "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", "dev": true }, + "@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "requires": { + "debug": "^4.1.1" + } + }, + "@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + }, "@sapphire/async-queue": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.4.tgz", @@ -2136,10 +2175,9 @@ } }, "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } @@ -2675,8 +2713,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "natural-compare": { "version": "1.4.0", @@ -2815,6 +2852,16 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "simple-git": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz", + "integrity": "sha512-+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==", + "requires": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.3" + } + }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", diff --git a/package.json b/package.json index 6889032..87bad04 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "discord-api-types": "^0.22.0", "discord.js": "^13.1.0", "dotenv": "^10.0.0", + "simple-git": "^3.7.1", "ts-node": "^10.2.1" }, "devDependencies": { From 7c86b47db046b65929732cf639fe11b7806fbbde Mon Sep 17 00:00:00 2001 From: Badong Date: Sat, 30 Apr 2022 19:33:11 +0200 Subject: [PATCH 03/18] testing simplegit --- src/events/tld_whitelist.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/events/tld_whitelist.txt diff --git a/src/events/tld_whitelist.txt b/src/events/tld_whitelist.txt new file mode 100644 index 0000000..e69de29 From ee487c94a041ef0030a06e70b23b884e91e27810 Mon Sep 17 00:00:00 2001 From: Badong Date: Sat, 30 Apr 2022 19:34:46 +0200 Subject: [PATCH 04/18] testing simplegit --- src/events/url_whitelist.txt | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/events/url_whitelist.txt diff --git a/src/events/url_whitelist.txt b/src/events/url_whitelist.txt new file mode 100644 index 0000000..28eb203 --- /dev/null +++ b/src/events/url_whitelist.txt @@ -0,0 +1,44 @@ +pokemonworkshop.fr +pokemonworkshop.com +twitter.com +t.co +reliccastle.com +www.pokecommunity.com +gitlab.com +app.clickup.com +www.rubydoc.info +ruby-doc.org +www.deviantart.com +www.spriters-resource.com +twitch.tv +www.twitch.tv +www.youtube.com +youtu.be +cdn.discordapp.com +www.google.com +discord.gg +discord.com +www.instagram.com +instagram.com +www.soundcloud.com +soundcloud.com +www.pokepedia.fr +pokemondb.net +bulbapedia.bulbagarden.net +www.figma.com +figma.com +www.webtoons.com +psdk.pokemonworkshop.fr +download.psdk.pokemonworkshop.fr +download.psdk.pokemonworkshop.com +discordapp.com +media.discordapp.net +media.tenor.co +images-ext-2.discordapp.net +media1.giphy.com +vm.tiktok.com +tenor.com +github.io +wikipedia.org +itch.io +puu.sh \ No newline at end of file From 4e3d3aa963a3ab69a57fdd48a567814f4179e3e2 Mon Sep 17 00:00:00 2001 From: Badong Date: Sat, 30 Apr 2022 19:37:41 +0200 Subject: [PATCH 05/18] moved whitelist files --- src/events/{ => message}/tld_whitelist.txt | 0 src/events/{ => message}/url_whitelist.txt | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/events/{ => message}/tld_whitelist.txt (100%) rename src/events/{ => message}/url_whitelist.txt (100%) diff --git a/src/events/tld_whitelist.txt b/src/events/message/tld_whitelist.txt similarity index 100% rename from src/events/tld_whitelist.txt rename to src/events/message/tld_whitelist.txt diff --git a/src/events/url_whitelist.txt b/src/events/message/url_whitelist.txt similarity index 100% rename from src/events/url_whitelist.txt rename to src/events/message/url_whitelist.txt From 0fd57302d3c23dee1c0b20e581c286850fe7fe99 Mon Sep 17 00:00:00 2001 From: Badong Date: Sat, 30 Apr 2022 19:56:53 +0200 Subject: [PATCH 06/18] wip algorithm & set base tld whitelist --- src/events/message.js | 27 +++++++++++++++++++++++++-- src/events/message/tld_whitelist.txt | 6 ++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/events/message.js b/src/events/message.js index b4929c7..4d5f651 100644 --- a/src/events/message.js +++ b/src/events/message.js @@ -1,6 +1,7 @@ const { bold, userMention, channelMention } = require('@discordjs/builders'); const config = require (__dirname + '/../../config.json'); const { readFileSync } = require('fs'); +const os = require('os'); const NO_KICK_TLDS = ['fr', 'com', 'net', 'eu', 'info', 'org',]; //stolen from https://regexr.com/2rj36 @@ -12,10 +13,32 @@ module.exports = { execute: (client, message) => { console.log(message.content); //Get message urls - let urls = message.content.match(URL_REGEX); + let messageUrls = message.content.match(URL_REGEX); - if (!urls) { + if (!messageUrls) { return; } + + const allowedUrls = readFileSync(__dirname + '/message/url_whitelist.txt', 'utf-8').split(os.EOL); + const deniedMessageUrls = messageUrls.filter(messageUrl => !allowedUrls.includes(messageUrl)); + + if (!deniedMessageUrls) { + return; + } + + const allowedTlds = readFileSync(__dirname + '/message/tld_whitelist.txt', 'utf-8').split(os.EOL); + const deniedMessageTlds = messageUrls.filter(messageUrl => !allowedTlds.includes(messageUrl.split('.').pop())); + + console.log(deniedMessageTlds); + + if (deniedMessageTlds) { + //kick person + } + + if (deniedMessageUrls) { + //remove message + } + + }, }; \ No newline at end of file diff --git a/src/events/message/tld_whitelist.txt b/src/events/message/tld_whitelist.txt index e69de29..fc5d5c4 100644 --- a/src/events/message/tld_whitelist.txt +++ b/src/events/message/tld_whitelist.txt @@ -0,0 +1,6 @@ +fr +com +net +eu +info +org \ No newline at end of file From a14214828048b77ce2dfe269fd4cc35bad36f243 Mon Sep 17 00:00:00 2001 From: Badong Date: Sun, 1 May 2022 13:46:38 +0200 Subject: [PATCH 07/18] working remove/kick --- src/events/message.js | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/src/events/message.js b/src/events/message.js index 4d5f651..854f735 100644 --- a/src/events/message.js +++ b/src/events/message.js @@ -1,44 +1,37 @@ -const { bold, userMention, channelMention } = require('@discordjs/builders'); -const config = require (__dirname + '/../../config.json'); const { readFileSync } = require('fs'); const os = require('os'); -const NO_KICK_TLDS = ['fr', 'com', 'net', 'eu', 'info', 'org',]; //stolen from https://regexr.com/2rj36 const URL_REGEX = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi; module.exports = { name: 'messageCreate', once: false, - execute: (client, message) => { - console.log(message.content); - //Get message urls + execute: (client, message) => { + //Check for unkickable roles + const userRoles = message.member.roles.cache; + let userIsStaff = false; + userRoles.forEach(role => { + if (role.name === 'staff') { + userIsStaff = true; + } + }); + if (userIsStaff) return; + let messageUrls = message.content.match(URL_REGEX); + if (!messageUrls) return; - if (!messageUrls) { - return; - } - const allowedUrls = readFileSync(__dirname + '/message/url_whitelist.txt', 'utf-8').split(os.EOL); const deniedMessageUrls = messageUrls.filter(messageUrl => !allowedUrls.includes(messageUrl)); - - if (!deniedMessageUrls) { - return; - } - + const allowedTlds = readFileSync(__dirname + '/message/tld_whitelist.txt', 'utf-8').split(os.EOL); const deniedMessageTlds = messageUrls.filter(messageUrl => !allowedTlds.includes(messageUrl.split('.').pop())); - console.log(deniedMessageTlds); - - if (deniedMessageTlds) { - //kick person + if (deniedMessageTlds.length) { + message.member.kick(`Posted link with invalid tld ${deniedMessageTlds.join(', ')}`); } - - if (deniedMessageUrls) { - //remove message + if (deniedMessageUrls.length) { + message.delete().catch(console.error); } - - }, }; \ No newline at end of file From 6bd7823079ecef3541ad046535d73162dd72adf3 Mon Sep 17 00:00:00 2001 From: Badong Date: Sat, 14 May 2022 17:18:22 +0200 Subject: [PATCH 08/18] test simple git --- config.json | 2 +- src/commands/admin.js | 28 +++++++++++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/config.json b/config.json index 4a47ef2..a00ca4d 100644 --- a/config.json +++ b/config.json @@ -1,6 +1,6 @@ { "guild": { - "id": "143824995867557888" + "id": "590200804850401311" }, "channel": { "bot": "733359360968884244", diff --git a/src/commands/admin.js b/src/commands/admin.js index f40e51b..44d32ee 100644 --- a/src/commands/admin.js +++ b/src/commands/admin.js @@ -3,6 +3,8 @@ */ const { MessageActionRow, MessageButton} = require('discord.js'); const { SlashCommandBuilder } = require('@discordjs/builders'); +const simpleGit = require('simple-git'); + // Global config const config = require('../../config.json'); @@ -57,6 +59,7 @@ module.exports = { ['Send lang role prompt', 'sendLangRolePrompt'], ['Send PSDK access prompt', 'sendPSDKAccessPrompt'], ['Send Event prompt', 'sendEventPrompt'], + ['Manage allowed URLs and TLDs', 'manageUrlAndTlds'] ])), // Command permissions @@ -164,11 +167,30 @@ module.exports = { ); break; + + case 'manageUrlAndTlds': + console.log(interaction.guild.channels) + replyChannel = interaction.channelId; + + replyEmbed = { + color: 0x5aa264, + title: 'command ran', + description: 'yay', + }; + + simpleGit().remote(['-v']).then(res => console.log(res)) + break; + } - const row = new MessageActionRow() - .addComponents(buttons); - interaction.guild.channels.cache.get(replyChannel).send({ embeds: [replyEmbed], components: [row] }); + if (buttons.length) { + const row = new MessageActionRow() + .addComponents(buttons); + interaction.guild.channels.cache.get(replyChannel).send({ embeds: [replyEmbed], components: [row] }); + } else { + interaction.guild.channels.cache.get(replyChannel).send({ embeds: [replyEmbed] }); + } + await interaction.reply({ content: 'Message sent!', ephemeral: true }); }, From af1d3115200c937d00c65cf1926f5789a39ad760 Mon Sep 17 00:00:00 2001 From: Badong Date: Sat, 14 May 2022 17:27:07 +0200 Subject: [PATCH 09/18] test cloning repo on heroku --- src/commands/admin.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/commands/admin.js b/src/commands/admin.js index 44d32ee..9a001d6 100644 --- a/src/commands/admin.js +++ b/src/commands/admin.js @@ -178,7 +178,10 @@ module.exports = { description: 'yay', }; - simpleGit().remote(['-v']).then(res => console.log(res)) + simpleGit() + .clone('https://github.com/Walven/rocaBot.git') + .then(() => console.log('finished')) + .catch((err) => console.error('failed: ', err)); break; } From 11c23c99d894f4840dd03c10cb7549fe1f3f3647 Mon Sep 17 00:00:00 2001 From: Rocabot Date: Sat, 14 May 2022 17:57:35 +0200 Subject: [PATCH 10/18] Added new url from runtime --- src/events/message/url_whitelist.txt | 45 +--------------------------- 1 file changed, 1 insertion(+), 44 deletions(-) diff --git a/src/events/message/url_whitelist.txt b/src/events/message/url_whitelist.txt index 28eb203..a2b1484 100644 --- a/src/events/message/url_whitelist.txt +++ b/src/events/message/url_whitelist.txt @@ -1,44 +1 @@ -pokemonworkshop.fr -pokemonworkshop.com -twitter.com -t.co -reliccastle.com -www.pokecommunity.com -gitlab.com -app.clickup.com -www.rubydoc.info -ruby-doc.org -www.deviantart.com -www.spriters-resource.com -twitch.tv -www.twitch.tv -www.youtube.com -youtu.be -cdn.discordapp.com -www.google.com -discord.gg -discord.com -www.instagram.com -instagram.com -www.soundcloud.com -soundcloud.com -www.pokepedia.fr -pokemondb.net -bulbapedia.bulbagarden.net -www.figma.com -figma.com -www.webtoons.com -psdk.pokemonworkshop.fr -download.psdk.pokemonworkshop.fr -download.psdk.pokemonworkshop.com -discordapp.com -media.discordapp.net -media.tenor.co -images-ext-2.discordapp.net -media1.giphy.com -vm.tiktok.com -tenor.com -github.io -wikipedia.org -itch.io -puu.sh \ No newline at end of file +twitch.it \ No newline at end of file From 7bd1cc999eac1a0399f84feabd73ecef302f8d3f Mon Sep 17 00:00:00 2001 From: Rocabot Date: Sat, 14 May 2022 18:00:28 +0200 Subject: [PATCH 11/18] test write & push to master --- src/commands/admin.js | 18 +++++++++++++++++- src/events/message/url_whitelist.txt | 1 - 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/commands/admin.js b/src/commands/admin.js index 9a001d6..3dbf2c6 100644 --- a/src/commands/admin.js +++ b/src/commands/admin.js @@ -3,6 +3,7 @@ */ const { MessageActionRow, MessageButton} = require('discord.js'); const { SlashCommandBuilder } = require('@discordjs/builders'); +const fs = require('fs'); const simpleGit = require('simple-git'); @@ -177,11 +178,26 @@ module.exports = { title: 'command ran', description: 'yay', }; - + + //Init repo simpleGit() .clone('https://github.com/Walven/rocaBot.git') .then(() => console.log('finished')) .catch((err) => console.error('failed: ', err)); + + //Extract args from message + let newUrlToAdd = 'twitch.it'; + + //Write to whitelist + fs.writeFileSync(__dirname + '/../events/message/url_whitelist.txt', newUrlToAdd, 'utf8'); + + + simpleGit() + .addConfig('user.name', 'Rocabot') + .addConfig('user.email', 'rocabot@dev.fr') + .add(__dirname + '/../events/message/url_whitelist.txt') + .commit('Added new url from runtime') + .push('origin', 'master') break; } diff --git a/src/events/message/url_whitelist.txt b/src/events/message/url_whitelist.txt index a2b1484..e69de29 100644 --- a/src/events/message/url_whitelist.txt +++ b/src/events/message/url_whitelist.txt @@ -1 +0,0 @@ -twitch.it \ No newline at end of file From ff1865e73fe74aee391466bf0755a0a3eb0ee500 Mon Sep 17 00:00:00 2001 From: Rocabot Date: Sat, 14 May 2022 18:04:36 +0200 Subject: [PATCH 12/18] new test --- src/commands/admin.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/commands/admin.js b/src/commands/admin.js index 3dbf2c6..1df7654 100644 --- a/src/commands/admin.js +++ b/src/commands/admin.js @@ -170,7 +170,6 @@ module.exports = { break; case 'manageUrlAndTlds': - console.log(interaction.guild.channels) replyChannel = interaction.channelId; replyEmbed = { @@ -198,6 +197,8 @@ module.exports = { .add(__dirname + '/../events/message/url_whitelist.txt') .commit('Added new url from runtime') .push('origin', 'master') + .then(() => console.log('push finished')) + .catch((err) => console.error('failed: ', err)); break; } From e469aec7658c0de45de7a57e40f06c7b73ff27ac Mon Sep 17 00:00:00 2001 From: Rocabot Date: Sat, 14 May 2022 18:11:40 +0200 Subject: [PATCH 13/18] test 2 with logs --- src/commands/admin.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/commands/admin.js b/src/commands/admin.js index 1df7654..e221978 100644 --- a/src/commands/admin.js +++ b/src/commands/admin.js @@ -183,12 +183,14 @@ module.exports = { .clone('https://github.com/Walven/rocaBot.git') .then(() => console.log('finished')) .catch((err) => console.error('failed: ', err)); - + + console.log('inited repo') //Extract args from message let newUrlToAdd = 'twitch.it'; //Write to whitelist fs.writeFileSync(__dirname + '/../events/message/url_whitelist.txt', newUrlToAdd, 'utf8'); + console.log('wrote to file'); simpleGit() From 69734a00653e996f6b5a7e74d71e8434e9140141 Mon Sep 17 00:00:00 2001 From: Rocabot Date: Sat, 14 May 2022 18:40:15 +0200 Subject: [PATCH 14/18] Added new url from runtime --- src/events/message/url_whitelist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/events/message/url_whitelist.txt b/src/events/message/url_whitelist.txt index e69de29..a2b1484 100644 --- a/src/events/message/url_whitelist.txt +++ b/src/events/message/url_whitelist.txt @@ -0,0 +1 @@ +twitch.it \ No newline at end of file From 4d55bcbad221d426fd37e7343bde7e7560d65a7a Mon Sep 17 00:00:00 2001 From: Rocabot Date: Sat, 14 May 2022 19:55:00 +0200 Subject: [PATCH 15/18] still testing --- src/commands/admin.js | 53 +++++++++++++++++----------- src/events/message/url_whitelist.txt | 1 - 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/src/commands/admin.js b/src/commands/admin.js index e221978..09ae564 100644 --- a/src/commands/admin.js +++ b/src/commands/admin.js @@ -178,29 +178,40 @@ module.exports = { description: 'yay', }; - //Init repo + //Clone Repo simpleGit() .clone('https://github.com/Walven/rocaBot.git') - .then(() => console.log('finished')) - .catch((err) => console.error('failed: ', err)); - - console.log('inited repo') - //Extract args from message - let newUrlToAdd = 'twitch.it'; - - //Write to whitelist - fs.writeFileSync(__dirname + '/../events/message/url_whitelist.txt', newUrlToAdd, 'utf8'); - console.log('wrote to file'); - - - simpleGit() - .addConfig('user.name', 'Rocabot') - .addConfig('user.email', 'rocabot@dev.fr') - .add(__dirname + '/../events/message/url_whitelist.txt') - .commit('Added new url from runtime') - .push('origin', 'master') - .then(() => console.log('push finished')) - .catch((err) => console.error('failed: ', err)); + .then(() => { + simpleGit(__dirname + '/../../rocaBot') + //REMOVE THIS BEFORE PROD + .checkout('origin/messageFilter') + .then(() => { + console.log('checked out messageFilter') + + console.log('Cloned') + //Extract args from message + let newUrlToAdd = 'twitch.it'; + + //Write to whitelist + fs.mkdirSync(__dirname + '/../../rocaBot/src/events/message', {recursive: true}, ) + fs.appendFile(__dirname + '/../../rocaBot/src/events/message/url_whitelist.txt', newUrlToAdd, { flag: 'a+' }, err => {console.log(err)}); + console.log('wrote to filedd'); + + //Commit & push + simpleGit(__dirname + '/../../rocaBot') + .addConfig('user.name', 'Rocabot') + .addConfig('user.email', 'rocabot@dev.fr') + .add(__dirname + '/../events/message/url_whitelist.txt') + .commit('Added new url from runtime') + .push('origin', 'messageFilter') + .then((pushResp) => console.log('push finished', pushResp)) + .catch((err) => console.error('failed: ', err)); + }) + + + }) + .catch((err) => console.error('Could not clone: ', err)); + break; } diff --git a/src/events/message/url_whitelist.txt b/src/events/message/url_whitelist.txt index a2b1484..e69de29 100644 --- a/src/events/message/url_whitelist.txt +++ b/src/events/message/url_whitelist.txt @@ -1 +0,0 @@ -twitch.it \ No newline at end of file From da210d1d16322353648f213101de31a42b4a9bf0 Mon Sep 17 00:00:00 2001 From: Rocabot Date: Sat, 14 May 2022 20:14:44 +0200 Subject: [PATCH 16/18] test --- src/events/message/url_whitelist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/events/message/url_whitelist.txt b/src/events/message/url_whitelist.txt index e69de29..5dcd581 100644 --- a/src/events/message/url_whitelist.txt +++ b/src/events/message/url_whitelist.txt @@ -0,0 +1 @@ +bla \ No newline at end of file From 17f68e835e97f8f503d5640861afa2580416f465 Mon Sep 17 00:00:00 2001 From: Rocabot Date: Sat, 14 May 2022 20:29:46 +0200 Subject: [PATCH 17/18] Added new url from runtime --- src/events/message/url_whitelist.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/events/message/url_whitelist.txt b/src/events/message/url_whitelist.txt index 5dcd581..0e2ccc2 100644 --- a/src/events/message/url_whitelist.txt +++ b/src/events/message/url_whitelist.txt @@ -1 +1 @@ -bla \ No newline at end of file +blatwitch.ittt \ No newline at end of file From 022b342d2f494b7732a91c19452cd4ab3772e974 Mon Sep 17 00:00:00 2001 From: Rocabot Date: Sat, 14 May 2022 20:42:10 +0200 Subject: [PATCH 18/18] Manage a first push from local --- src/commands/admin.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/commands/admin.js b/src/commands/admin.js index 09ae564..ffd2eda 100644 --- a/src/commands/admin.js +++ b/src/commands/admin.js @@ -184,24 +184,25 @@ module.exports = { .then(() => { simpleGit(__dirname + '/../../rocaBot') //REMOVE THIS BEFORE PROD - .checkout('origin/messageFilter') - .then(() => { - console.log('checked out messageFilter') - - console.log('Cloned') + .fetch(['--all']) + .checkout('messageFilter') + .branch() + .then((resp) => { //Extract args from message - let newUrlToAdd = 'twitch.it'; + let newUrlToAdd = 'twitch.ittt'; //Write to whitelist fs.mkdirSync(__dirname + '/../../rocaBot/src/events/message', {recursive: true}, ) - fs.appendFile(__dirname + '/../../rocaBot/src/events/message/url_whitelist.txt', newUrlToAdd, { flag: 'a+' }, err => {console.log(err)}); + fs.appendFileSync(__dirname + '/../../rocaBot/src/events/message/url_whitelist.txt', newUrlToAdd, { flag: 'a+' }); console.log('wrote to filedd'); //Commit & push simpleGit(__dirname + '/../../rocaBot') .addConfig('user.name', 'Rocabot') .addConfig('user.email', 'rocabot@dev.fr') - .add(__dirname + '/../events/message/url_whitelist.txt') + .status() + .add(__dirname + '/../../rocaBot/src/events/message/url_whitelist.txt') + .status() .commit('Added new url from runtime') .push('origin', 'messageFilter') .then((pushResp) => console.log('push finished', pushResp)) @@ -212,19 +213,19 @@ module.exports = { }) .catch((err) => console.error('Could not clone: ', err)); - break; + break; } - if (buttons.length) { + /*if (buttons.length) { const row = new MessageActionRow() .addComponents(buttons); interaction.guild.channels.cache.get(replyChannel).send({ embeds: [replyEmbed], components: [row] }); } else { interaction.guild.channels.cache.get(replyChannel).send({ embeds: [replyEmbed] }); - } + }*/ - await interaction.reply({ content: 'Message sent!', ephemeral: true }); + //await interaction.reply({ content: 'Message sent!', ephemeral: true }); }, }; \ No newline at end of file