diff options
| author | ame <[email protected]> | 2024-06-11 22:41:39 -0500 | 
|---|---|---|
| committer | ame <[email protected]> | 2024-06-11 22:41:39 -0500 | 
| commit | afcc8e57eea0ec75c2ce9b18ae72c5196bdc3292 (patch) | |
| tree | cfeaadfa3d36100cc5106b2d5a4b5c16d49c34ad | |
| parent | 25261521356055e9e2550ca484670ad18d0c49e3 (diff) | |
persistant stuff
34 files changed, 2024 insertions, 141 deletions
| @@ -71,4 +71,5 @@ db/*  #aaaaand any client secrets  .env -log
\ No newline at end of file +log +.node-persist diff --git a/.node-persist/interaction/0fd9de47bbda5b46e310c4ac6a4b03d1 b/.node-persist/interaction/0fd9de47bbda5b46e310c4ac6a4b03d1 new file mode 100644 index 0000000..f5301b2 --- /dev/null +++ b/.node-persist/interaction/0fd9de47bbda5b46e310c4ac6a4b03d1 @@ -0,0 +1,65 @@ +{"key":"1247898267921154143","value":{"data":{"user_id":"722022320683876416","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1247898267921154143","createdTimestamp":1717592531901,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F722022320683876416\u002F5074c3d9768f487c6712cd74af4c54da.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FHPPrWuk1QW6GyU4LXIgzS2tyUhoySkPnrSJFWYXbPa0\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F722022320683876416\u002F5074c3d9768f487c6712cd74af4c54da.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!722022320683876416\u003E","name":"User:","inline":true},{"value":"Sending NSFW of Minors","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717592611796,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","567337992122007552"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["814558111234654258","833027060665417769","586781513471885323","486957006628847626","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1247898267921154143","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1247898260820066404","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1699858099663,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":1717678881910,"userId":"722022320683876416","avatar":null,"flags":10,"displayName":"Ovi","roles":["1082346734576996412","818194523083112509","803662846709858305","1097025722746413137","1097025543020499076","749218500463165511","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F722022320683876416\u002F5074c3d9768f487c6712cd74af4c54da.webp"},"reason":"Sending NSFW of Minors","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F722022320683876416\u002F5074c3d9768f487c6712cd74af4c54da.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","inline":true},{"name":"User:","value":"\u003C@!722022320683876416\u003E","inline":true},{"name":"Ban Reason:","value":"Sending NSFW of Minors"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/118629fe60e0aecc0b12d4700a2550ff b/.node-persist/interaction/118629fe60e0aecc0b12d4700a2550ff new file mode 100644 index 0000000..9277d07 --- /dev/null +++ b/.node-persist/interaction/118629fe60e0aecc0b12d4700a2550ff @@ -0,0 +1,65 @@ +{"key":"1247994202860814469","value":{"data":{"user_id":"1063209304804565022","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"567337992122007552","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1247994202860814469","createdTimestamp":1717615404573,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1063209304804565022\u002F7563dd7a40b5b34c9b19db4dab8591aa.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FjFRZvCPZr7ForGcmQCv1dq3ioyMeDYInc3VH05D3XX4\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1063209304804565022\u002F7563dd7a40b5b34c9b19db4dab8591aa.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@567337992122007552\u003E,\u003C@534554607330787381\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1063209304804565022\u003E","name":"User:","inline":true},{"value":"scam","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717616365398,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["567337992122007552","534554607330787381"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["833027060665417769","814558111234654258","586781513471885323","486957006628847626","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1247994202860814469","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1247994195772178512","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"567337992122007552","member":"567337992122007552","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789380967"),"locale":"en-GB","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"567337992122007552"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717609160058,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1063209304804565022","avatar":null,"flags":42,"displayName":"Digital Hayden","roles":["749218503856488518","803662846709858305","820544781590462505","1019871422669131796","1097025722746413137","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1063209304804565022\u002F7563dd7a40b5b34c9b19db4dab8591aa.webp"},"reason":"scam","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1063209304804565022\u002F7563dd7a40b5b34c9b19db4dab8591aa.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@567337992122007552\u003E,\u003C@534554607330787381\u003E","inline":true},{"name":"User:","value":"\u003C@!1063209304804565022\u003E","inline":true},{"name":"Ban Reason:","value":"scam"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/1a1f80a9fe8a70f83609f90478223bd2 b/.node-persist/interaction/1a1f80a9fe8a70f83609f90478223bd2 new file mode 100644 index 0000000..9a82414 --- /dev/null +++ b/.node-persist/interaction/1a1f80a9fe8a70f83609f90478223bd2 @@ -0,0 +1,65 @@ +{"key":"1248097957417324560","value":{"data":{"user_id":"504356278718562314","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248097957417324560","createdTimestamp":1717640141587,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F504356278718562314\u002F3c3101fd9a8d7c241b7f48d449d6e317.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FyORVjlJtVet2f9XPz8bvOYT59XGvzm_DYV-RUeFpzYc\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F504356278718562314\u002F3c3101fd9a8d7c241b7f48d449d6e317.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!504356278718562314\u003E","name":"User:","inline":true},{"value":"Unusual DM Activity","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717642300123,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","534554607330787381"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["833027060665417769","814558111234654258","586781513471885323","486957006628847626","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248097957417324560","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248097951352623195","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1716920549394,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"504356278718562314","avatar":null,"flags":106,"displayName":"Ava Morales","roles":["749218789962285086","803662918255640607","818194523083112509","820544781590462505","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F504356278718562314\u002F3c3101fd9a8d7c241b7f48d449d6e317.webp"},"reason":"Unusual DM Activity","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F504356278718562314\u002F3c3101fd9a8d7c241b7f48d449d6e317.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","inline":true},{"name":"User:","value":"\u003C@!504356278718562314\u003E","inline":true},{"name":"Ban Reason:","value":"Unusual DM Activity"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/1aa8147f968509784eaa898a32624547 b/.node-persist/interaction/1aa8147f968509784eaa898a32624547 new file mode 100644 index 0000000..9cb4578 --- /dev/null +++ b/.node-persist/interaction/1aa8147f968509784eaa898a32624547 @@ -0,0 +1,65 @@ +{"key":"1248098054431707211","value":{"data":{"user_id":"1244654653535293522","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248098054431707211","createdTimestamp":1717640164717,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1244654653535293522\u002F92bae157d90bbfb8e9fe03e69ea30566.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FaZ9AwChpypQs9Q3NXw0LvGRgI6pgZclq1mk8dgLZHZc\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1244654653535293522\u002F92bae157d90bbfb8e9fe03e69ea30566.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1244654653535293522\u003E","name":"User:","inline":true},{"value":"Unusual DM Activity","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717642301524,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","534554607330787381"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["486957006628847626","833027060665417769","586781513471885323","814558111234654258","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248098054431707211","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248098048362414182","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717525528582,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1244654653535293522","avatar":null,"flags":106,"displayName":"Wallet","roles":["749218503856488518","803662846709858305","818194523083112509","1097025543020499076","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1244654653535293522\u002F92bae157d90bbfb8e9fe03e69ea30566.webp"},"reason":"Unusual DM Activity","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1244654653535293522\u002F92bae157d90bbfb8e9fe03e69ea30566.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","inline":true},{"name":"User:","value":"\u003C@!1244654653535293522\u003E","inline":true},{"name":"Ban Reason:","value":"Unusual DM Activity"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/336375a2bb8e10dda1af37207a1a897b b/.node-persist/interaction/336375a2bb8e10dda1af37207a1a897b new file mode 100644 index 0000000..41a21e2 --- /dev/null +++ b/.node-persist/interaction/336375a2bb8e10dda1af37207a1a897b @@ -0,0 +1,65 @@ +{"key":"1247791231476568078","value":{"data":{"user_id":"1191416458727657565","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1247791231476568078","createdTimestamp":1717567012424,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1191416458727657565\u002Fa50415a6bc6a559a097f3169b83aa235.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FxHCfe_OwNMwYKKXRYzQDWDKjxTzNmfm5zO3kxuUntHg\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1191416458727657565\u002Fa50415a6bc6a559a097f3169b83aa235.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1191416458727657565\u003E","name":"User:","inline":true},{"value":"Troll","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717567018294,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","567337992122007552"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["980379693435998258","814558111234654258","586781513471885323","486957006628847626","833027060665417769","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1247791230805606450","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1247791226124767302","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717565263138,"premiumSinceTimestamp":null,"nickname":"Floramora","pending":false,"communicationDisabledUntilTimestamp":1717570596097,"userId":"1191416458727657565","avatar":null,"flags":10,"displayName":"Floramora","roles":["820544781590462505","818194523083112509","803662918255640607","1051419794672455700","1126755158353793034","749218500463165511","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1191416458727657565\u002Fa50415a6bc6a559a097f3169b83aa235.webp"},"reason":"Troll","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1191416458727657565\u002Fa50415a6bc6a559a097f3169b83aa235.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","inline":true},{"name":"User:","value":"\u003C@!1191416458727657565\u003E","inline":true},{"name":"Ban Reason:","value":"Troll"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/337222fa4819a5d01795cdfbdbb6f700 b/.node-persist/interaction/337222fa4819a5d01795cdfbdbb6f700 new file mode 100644 index 0000000..4861426 --- /dev/null +++ b/.node-persist/interaction/337222fa4819a5d01795cdfbdbb6f700 @@ -0,0 +1,65 @@ +{"key":"1247759709029535810","value":{"data":{"user_id":"1176711530327310387","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1247759709029535810","createdTimestamp":1717559496887,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1176711530327310387\u002F41aedac670dc3bb641404f6b4d99f619.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FPG4sTxGQYfz5hhk4BeaPj7X6_N3vBNPDpnjIrcu8cJ8\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1176711530327310387\u002F41aedac670dc3bb641404f6b4d99f619.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@221467280821714944\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1176711530327310387\u003E","name":"User:","inline":true},{"value":"Sending NSFW Links of minors","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717559609884,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","221467280821714944"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["833027060665417769","814558111234654258","586781513471885323","486957006628847626","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1247759709029535810","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1247759703019225171","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1714639844054,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1176711530327310387","avatar":null,"flags":42,"displayName":"ray","roles":["1082346734576996412","803662846709858305","1097025543020499076","749218500463165511","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1176711530327310387\u002F41aedac670dc3bb641404f6b4d99f619.webp"},"reason":"Sending NSFW Links of minors","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1176711530327310387\u002F41aedac670dc3bb641404f6b4d99f619.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@221467280821714944\u003E","inline":true},{"name":"User:","value":"\u003C@!1176711530327310387\u003E","inline":true},{"name":"Ban Reason:","value":"Sending NSFW Links of minors"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/3cb5a5b393ebf44f8a674d85591d6898 b/.node-persist/interaction/3cb5a5b393ebf44f8a674d85591d6898 new file mode 100644 index 0000000..34059f4 --- /dev/null +++ b/.node-persist/interaction/3cb5a5b393ebf44f8a674d85591d6898 @@ -0,0 +1,65 @@ +{"key":"1249951001927090199","value":{"data":{"user_id":"846500477059072041","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1249951001927090199","createdTimestamp":1718081941826,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F846500477059072041\u002F4f0527fd5f527f236ebfdeea3f508feb.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FQQaNKrWHiV3f9p-nCjs9eGEJHyjuzhnqxXZsJhaOTXo\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F846500477059072041\u002F4f0527fd5f527f236ebfdeea3f508feb.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!846500477059072041\u003E","name":"User:","inline":true},{"value":"Unusual DM Actiivty","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1718082233580,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","534554607330787381"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["833027060665417769","814558111234654258","586781513471885323","486957006628847626","980379693435998258","555751551285723139"],"messages":["1249819811060514981","1249825496045195358","1249950911120412747","1249951001927090199"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1249951001927090199","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1249950995824246806","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1708366805475,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"846500477059072041","avatar":null,"flags":106,"displayName":"lily_.10","roles":["1082346734576996412","818194523083112509","803662918255640607","749218789962285086","1097025722746413137","1159868710010507294","1051419794672455700","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F846500477059072041\u002F4f0527fd5f527f236ebfdeea3f508feb.webp"},"reason":"Unusual DM Actiivty","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F846500477059072041\u002F4f0527fd5f527f236ebfdeea3f508feb.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","inline":true},{"name":"User:","value":"\u003C@!846500477059072041\u003E","inline":true},{"name":"Ban Reason:","value":"Unusual DM Actiivty"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/3da57cd84b2f846c1ab822a1e8c3c7c6 b/.node-persist/interaction/3da57cd84b2f846c1ab822a1e8c3c7c6 new file mode 100644 index 0000000..5e32a55 --- /dev/null +++ b/.node-persist/interaction/3da57cd84b2f846c1ab822a1e8c3c7c6 @@ -0,0 +1,65 @@ +{"key":"1249950911120412747","value":{"data":{"user_id":"1143900979117424741","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1249950911120412747","createdTimestamp":1718081920176,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1143900979117424741\u002Fad47918a9e88836631b5177c1a52ebd3.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FB9Yf_4XydP9mFKVQObe_zUslA1cpXss0wNJTXdfMWG0\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1143900979117424741\u002Fad47918a9e88836631b5177c1a52ebd3.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1143900979117424741\u003E","name":"User:","inline":true},{"value":"Unusual DM Activity","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1718082232058,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","534554607330787381"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["814558111234654258","833027060665417769","586781513471885323","486957006628847626","980379693435998258","555751551285723139"],"messages":["1249819811060514981","1249825496045195358","1249950911120412747"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1249950911120412747","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1249950904690409492","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1712183554846,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1143900979117424741","avatar":null,"flags":42,"displayName":"Benjamin martin","roles":["820544781590462505","1097025722746413137","1019871422669131796","1126755158353793034","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1143900979117424741\u002Fad47918a9e88836631b5177c1a52ebd3.webp"},"reason":"Unusual DM Activity","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1143900979117424741\u002Fad47918a9e88836631b5177c1a52ebd3.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","inline":true},{"name":"User:","value":"\u003C@!1143900979117424741\u003E","inline":true},{"name":"Ban Reason:","value":"Unusual DM Activity"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/5f1a73e22b1b157e5c27c0d2e8a218a6 b/.node-persist/interaction/5f1a73e22b1b157e5c27c0d2e8a218a6 new file mode 100644 index 0000000..8031095 --- /dev/null +++ b/.node-persist/interaction/5f1a73e22b1b157e5c27c0d2e8a218a6 @@ -0,0 +1,65 @@ +{"key":"1248665332881821858","value":{"data":{"user_id":"1239653325335695432","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248665332881821858","createdTimestamp":1717775414439,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1239653325335695432\u002F33f82a48cc86bead28533afcddc29e3f.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002F1a-jFrU_Nw2T3ZJ0XMwgJT4pmFjGy0Lw9jAk4SHHpqo\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1239653325335695432\u002F33f82a48cc86bead28533afcddc29e3f.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@256790428295102465\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1239653325335695432\u003E","name":"User:","inline":true},{"value":"Scamming and self promotion in wrong channel","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717776516236,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","256790428295102465"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["486957006628847626","833027060665417769","586781513471885323","814558111234654258","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211","1248222167771119782","1248323138475790442","1248417933374394431","1248613317065310321","1248665332881821858"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248665332881821858","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248665324992069764","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717775315209,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1239653325335695432","avatar":null,"flags":42,"displayName":"Raymond johnston","roles":["749218789962285086","803662846709858305","1097025543020499076","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1239653325335695432\u002F33f82a48cc86bead28533afcddc29e3f.webp"},"reason":"Scamming and self promotion in wrong channel","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1239653325335695432\u002F33f82a48cc86bead28533afcddc29e3f.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@256790428295102465\u003E","inline":true},{"name":"User:","value":"\u003C@!1239653325335695432\u003E","inline":true},{"name":"Ban Reason:","value":"Scamming and self promotion in wrong channel"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/761d31a64180175a10ad23730e49f438 b/.node-persist/interaction/761d31a64180175a10ad23730e49f438 new file mode 100644 index 0000000..3c5557a --- /dev/null +++ b/.node-persist/interaction/761d31a64180175a10ad23730e49f438 @@ -0,0 +1,65 @@ +{"key":"1250185493077950518","value":{"data":{"user_id":"1242519889957228587","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"567337992122007552","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1250185493077950518","createdTimestamp":1718137848873,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":256,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Fembed\u002Favatars\u002F5.png","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FE61lHGLVt4b1Izdu7X0KJRGmYDpyFMvs9buCRCdKcxY\u002Fhttps\u002Fcdn.discordapp.com\u002Fembed\u002Favatars\u002F5.png","height":256},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@567337992122007552\u003E,\u003C@534554607330787381\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1242519889957228587\u003E","name":"User:","inline":true},{"value":"scam","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1718138047480,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["567337992122007552","534554607330787381"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["486957006628847626","980379693435998258","586781513471885323","814558111234654258","833027060665417769","555751551285723139"],"messages":["1250185493077950518"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1250185493077950518","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1250185481186971658","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"567337992122007552","member":"567337992122007552","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789380967"),"locale":"en-GB","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"567337992122007552"},"user":{"guildId":"486957006628847626","joinedTimestamp":1718127712898,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1242519889957228587","avatar":null,"flags":42,"displayName":"vojtech","roles":["486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Fembed\u002Favatars\u002F5.png"},"reason":"scam","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Fembed\u002Favatars\u002F5.png"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@567337992122007552\u003E,\u003C@534554607330787381\u003E","inline":true},{"name":"User:","value":"\u003C@!1242519889957228587\u003E","inline":true},{"name":"Ban Reason:","value":"scam"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/81ea7d31ff55b098746e1c81986ddab7 b/.node-persist/interaction/81ea7d31ff55b098746e1c81986ddab7 new file mode 100644 index 0000000..ff56531 --- /dev/null +++ b/.node-persist/interaction/81ea7d31ff55b098746e1c81986ddab7 @@ -0,0 +1,65 @@ +{"key":"1248222167771119782","value":{"data":{"user_id":"708218327125852201","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"567337992122007552","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248222167771119782","createdTimestamp":1717669755643,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F708218327125852201\u002F77208c1a2173d585db3009c2ef18497c.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002F4c6UARuCZYIqYsPeNlV1091DXf7Wt7jHIvVl9HYY8z4\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F708218327125852201\u002F77208c1a2173d585db3009c2ef18497c.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@567337992122007552\u003E,\u003C@579124982215344138\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!708218327125852201\u003E","name":"User:","inline":true},{"value":"scam","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717673601225,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["567337992122007552","579124982215344138"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["980379693435998258","486957006628847626","586781513471885323","814558111234654258","833027060665417769","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211","1248222167771119782"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248222167771119782","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248222161630396438","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"567337992122007552","member":"567337992122007552","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789380967"),"locale":"en-GB","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"567337992122007552"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717668124029,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"708218327125852201","avatar":null,"flags":10,"displayName":"Ahmad","roles":["486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F708218327125852201\u002F77208c1a2173d585db3009c2ef18497c.webp"},"reason":"scam","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F708218327125852201\u002F77208c1a2173d585db3009c2ef18497c.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@567337992122007552\u003E,\u003C@579124982215344138\u003E","inline":true},{"name":"User:","value":"\u003C@!708218327125852201\u003E","inline":true},{"name":"Ban Reason:","value":"scam"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/936f0425a1e56370bece9fbe43693729 b/.node-persist/interaction/936f0425a1e56370bece9fbe43693729 new file mode 100644 index 0000000..e8d359c --- /dev/null +++ b/.node-persist/interaction/936f0425a1e56370bece9fbe43693729 @@ -0,0 +1,65 @@ +{"key":"1248323138475790442","value":{"data":{"user_id":"1237118406277464246","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"567337992122007552","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248323138475790442","createdTimestamp":1717693828935,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1237118406277464246\u002Faa7a1b29b38fe364fd5fa56aa56713e8.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002F-_304eJ47Bk8J97okMbUcYVuno_bt2kS4_IBy0wmzWo\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1237118406277464246\u002Faa7a1b29b38fe364fd5fa56aa56713e8.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@567337992122007552\u003E,\u003C@579124982215344138\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1237118406277464246\u003E","name":"User:","inline":true},{"value":"troll","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717693836406,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["567337992122007552","579124982215344138"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["833027060665417769","814558111234654258","586781513471885323","486957006628847626","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211","1248222167771119782","1248323138475790442"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248323138475790442","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248323131823624257","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"567337992122007552","member":"567337992122007552","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789380967"),"locale":"en-GB","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"567337992122007552"},"user":{"guildId":"486957006628847626","joinedTimestamp":1715026557437,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":1717779747898,"userId":"1237118406277464246","avatar":null,"flags":10,"displayName":"Ash'kii","roles":["486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1237118406277464246\u002Faa7a1b29b38fe364fd5fa56aa56713e8.webp"},"reason":"troll","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1237118406277464246\u002Faa7a1b29b38fe364fd5fa56aa56713e8.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@567337992122007552\u003E,\u003C@579124982215344138\u003E","inline":true},{"name":"User:","value":"\u003C@!1237118406277464246\u003E","inline":true},{"name":"Ban Reason:","value":"troll"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/93efb0c2a62eae647d4f74eb15265e24 b/.node-persist/interaction/93efb0c2a62eae647d4f74eb15265e24 new file mode 100644 index 0000000..bbdf0b1 --- /dev/null +++ b/.node-persist/interaction/93efb0c2a62eae647d4f74eb15265e24 @@ -0,0 +1,65 @@ +{"key":"1248719571863732257","value":{"data":{"user_id":"1052120093456355368","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"256790428295102465","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248719571863732257","createdTimestamp":1717788346020,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1052120093456355368\u002Fdbf52f1a1482c0c69757fa2cea9ace32.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002F1Ak6Fl0Jij8RGIsA0TdqQoHFnX6o5vtBR6kRcMv2n5o\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1052120093456355368\u002Fdbf52f1a1482c0c69757fa2cea9ace32.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@256790428295102465\u003E,\u003C@567337992122007552\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1052120093456355368\u003E","name":"User:","inline":true},{"value":"Scammer","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717788448037,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["256790428295102465","567337992122007552"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["814558111234654258","833027060665417769","586781513471885323","486957006628847626","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211","1248222167771119782","1248323138475790442","1248417933374394431","1248613317065310321","1248665332881821858","1248683623046185063","1248719571863732257"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248719571863732257","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248719561038106684","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"256790428295102465","member":"256790428295102465","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"256790428295102465"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717765024502,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1052120093456355368","avatar":null,"flags":42,"displayName":"Alfred","roles":["749218789962285086","803662846709858305","818194523083112509","924870780091768852","1097025543020499076","1097025722746413137","1159868710010507294","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1052120093456355368\u002Fdbf52f1a1482c0c69757fa2cea9ace32.webp"},"reason":"Scammer","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1052120093456355368\u002Fdbf52f1a1482c0c69757fa2cea9ace32.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@256790428295102465\u003E,\u003C@567337992122007552\u003E","inline":true},{"name":"User:","value":"\u003C@!1052120093456355368\u003E","inline":true},{"name":"Ban Reason:","value":"Scammer"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/9a8a7e8a0e82a91f3e546f295d17685f b/.node-persist/interaction/9a8a7e8a0e82a91f3e546f295d17685f new file mode 100644 index 0000000..4de257b --- /dev/null +++ b/.node-persist/interaction/9a8a7e8a0e82a91f3e546f295d17685f @@ -0,0 +1,65 @@ +{"key":"1248417933374394431","value":{"data":{"user_id":"1246439168762974375","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248417933374394431","createdTimestamp":1717716429800,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1246439168762974375\u002F6d0edc10eecfb3ee67b939005f1a5292.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002Ff8MBqHcPhDdX-76kJoF6qCAb8cD4rEkDmu5eBeiatLo\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1246439168762974375\u002F6d0edc10eecfb3ee67b939005f1a5292.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1246439168762974375\u003E","name":"User:","inline":true},{"value":"Unusual DM Activity\u002FDm Ads","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717720859039,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","534554607330787381"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["980379693435998258","486957006628847626","586781513471885323","814558111234654258","833027060665417769","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211","1248222167771119782","1248323138475790442","1248417933374394431"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248417933374394431","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248417927741309011","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717640253206,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1246439168762974375","avatar":null,"flags":42,"displayName":"Aryan","roles":["749218789962285086","803662846709858305","820544781590462505","924870780091768852","1019871422669131796","1097025543020499076","1097025722746413137","1126755158353793034","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1246439168762974375\u002F6d0edc10eecfb3ee67b939005f1a5292.webp"},"reason":"Unusual DM Activity\u002FDm Ads","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1246439168762974375\u002F6d0edc10eecfb3ee67b939005f1a5292.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","inline":true},{"name":"User:","value":"\u003C@!1246439168762974375\u003E","inline":true},{"name":"Ban Reason:","value":"Unusual DM Activity\u002FDm Ads"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/b0d05c3a09dc6df28ac0653d8ed2445c b/.node-persist/interaction/b0d05c3a09dc6df28ac0653d8ed2445c new file mode 100644 index 0000000..6d5c024 --- /dev/null +++ b/.node-persist/interaction/b0d05c3a09dc6df28ac0653d8ed2445c @@ -0,0 +1,65 @@ +{"key":"1248683623046185063","value":{"data":{"user_id":"1201225776238968936","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"567337992122007552","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248683623046185063","createdTimestamp":1717779775154,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1201225776238968936\u002F58d347fad48f42724c709104f5d39941.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FXk63uDMMX_KfgTuSf9HmnhtvV7xvRLUt4KEr51CYWNU\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1201225776238968936\u002F58d347fad48f42724c709104f5d39941.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@567337992122007552\u003E,\u003C@256790428295102465\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1201225776238968936\u003E","name":"User:","inline":true},{"value":"scam","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717779779718,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["567337992122007552","256790428295102465"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["980379693435998258","486957006628847626","586781513471885323","814558111234654258","833027060665417769","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211","1248222167771119782","1248323138475790442","1248417933374394431","1248613317065310321","1248665332881821858","1248683623046185063"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248683623046185063","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248683616750534728","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"567337992122007552","member":"567337992122007552","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789380967"),"locale":"en-GB","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"567337992122007552"},"user":{"guildId":"486957006628847626","joinedTimestamp":1706465363980,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1201225776238968936","avatar":null,"flags":10,"displayName":"philocalist","roles":["749218500463165511","753971741537206293","803662918255640607","818194523083112509","1051419794672455700","1082346734576996412","1159868710010507294","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1201225776238968936\u002F58d347fad48f42724c709104f5d39941.webp"},"reason":"scam","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1201225776238968936\u002F58d347fad48f42724c709104f5d39941.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@567337992122007552\u003E,\u003C@256790428295102465\u003E","inline":true},{"name":"User:","value":"\u003C@!1201225776238968936\u003E","inline":true},{"name":"Ban Reason:","value":"scam"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/b32d592dd8e7c0817a82cafb59d70c32 b/.node-persist/interaction/b32d592dd8e7c0817a82cafb59d70c32 new file mode 100644 index 0000000..16b66e6 --- /dev/null +++ b/.node-persist/interaction/b32d592dd8e7c0817a82cafb59d70c32 @@ -0,0 +1,65 @@ +{"key":"1248613317065310321","value":{"data":{"user_id":"1178787365112782981","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248613317065310321","createdTimestamp":1717763012902,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1178787365112782981\u002Fff1417e260d657d1bb325f3160ac2a06.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FXNgmQdNyjKnNenbYFe9fowfSq6xJ8XU-64VCQGBbbKE\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1178787365112782981\u002Fff1417e260d657d1bb325f3160ac2a06.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1178787365112782981\u003E","name":"User:","inline":true},{"value":"DM Ads\u002FScam account","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717763030003,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","567337992122007552"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["486957006628847626","833027060665417769","586781513471885323","814558111234654258","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211","1248222167771119782","1248323138475790442","1248417933374394431","1248613317065310321"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248613317065310321","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248613311356997673","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717236791542,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1178787365112782981","avatar":null,"flags":42,"displayName":"EmmaLucy","roles":["803662918255640607","1097025543020499076","1159868710010507294","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1178787365112782981\u002Fff1417e260d657d1bb325f3160ac2a06.webp"},"reason":"DM Ads\u002FScam account","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1178787365112782981\u002Fff1417e260d657d1bb325f3160ac2a06.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","inline":true},{"name":"User:","value":"\u003C@!1178787365112782981\u003E","inline":true},{"name":"Ban Reason:","value":"DM Ads\u002FScam account"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/c6443aa82f0dfff9995c4a4678827adb b/.node-persist/interaction/c6443aa82f0dfff9995c4a4678827adb new file mode 100644 index 0000000..3594e74 --- /dev/null +++ b/.node-persist/interaction/c6443aa82f0dfff9995c4a4678827adb @@ -0,0 +1,65 @@ +{"key":"1249819811060514981","value":{"data":{"user_id":"1239614913647870063","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"567337992122007552","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1249819811060514981","createdTimestamp":1718050663486,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1239614913647870063\u002Ff322b8781b69262444eb14d088d504ea.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002Feau3LWJCtLO5qJk5Mdu2Ewu41pOZPAxGs-CQ9A_31PU\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1239614913647870063\u002Ff322b8781b69262444eb14d088d504ea.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@567337992122007552\u003E,\u003C@256790428295102465\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1239614913647870063\u003E","name":"User:","inline":true},{"value":"dm ads","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1718050669080,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["567337992122007552","256790428295102465"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["486957006628847626","980379693435998258","586781513471885323","814558111234654258","833027060665417769","555751551285723139"],"messages":["1249819810104086633","1249819811060514981"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1249819811060514981","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1249819804660138124","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"567337992122007552","member":"567337992122007552","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789380967"),"locale":"en-GB","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"567337992122007552"},"user":{"guildId":"486957006628847626","joinedTimestamp":1718045771789,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1239614913647870063","avatar":null,"flags":106,"displayName":"sms","roles":["820544781590462505","1082346734576996412","818194523083112509","803662846709858305","749218789962285086","1097025722746413137","1019871422669131796","1126755158353793034","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1239614913647870063\u002Ff322b8781b69262444eb14d088d504ea.webp"},"reason":"dm ads","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1239614913647870063\u002Ff322b8781b69262444eb14d088d504ea.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@567337992122007552\u003E,\u003C@256790428295102465\u003E","inline":true},{"name":"User:","value":"\u003C@!1239614913647870063\u003E","inline":true},{"name":"Ban Reason:","value":"dm ads"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/cca7ef61978194fafa4f0e23f7332f8a b/.node-persist/interaction/cca7ef61978194fafa4f0e23f7332f8a new file mode 100644 index 0000000..6407476 --- /dev/null +++ b/.node-persist/interaction/cca7ef61978194fafa4f0e23f7332f8a @@ -0,0 +1,65 @@ +{"key":"1249175105347649569","value":{"data":{"user_id":"382898042107461635","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"256790428295102465","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1249175105347649569","createdTimestamp":1717896953666,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F382898042107461635\u002F91f128a160d9d51a94eb657b260ce3dc.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002F7O0ORIwaqP0n07X3gL2y9Pw_8EQuxqxP1oeO_B9YS6c\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F382898042107461635\u002F91f128a160d9d51a94eb657b260ce3dc.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@256790428295102465\u003E,\u003C@579124982215344138\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!382898042107461635\u003E","name":"User:","inline":true},{"value":"Questionable crypto work posting in paid request","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717897040195,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["256790428295102465","579124982215344138"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["814558111234654258","833027060665417769","586781513471885323","486957006628847626","980379693435998258","555751551285723139"],"messages":["1249158020559011903","1249175105347649569"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1249175105347649569","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1249175096158060577","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"256790428295102465","member":"256790428295102465","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"256790428295102465"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717674616804,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"382898042107461635","avatar":null,"flags":42,"displayName":"Hellson👑","roles":["1097025543020499076","749218500463165511","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F382898042107461635\u002F91f128a160d9d51a94eb657b260ce3dc.webp"},"reason":"Questionable crypto work posting in paid request","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F382898042107461635\u002F91f128a160d9d51a94eb657b260ce3dc.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@256790428295102465\u003E,\u003C@579124982215344138\u003E","inline":true},{"name":"User:","value":"\u003C@!382898042107461635\u003E","inline":true},{"name":"Ban Reason:","value":"Questionable crypto work posting in paid request"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/d3a8a42736324bab3a7734c867d43aaf b/.node-persist/interaction/d3a8a42736324bab3a7734c867d43aaf new file mode 100644 index 0000000..549a5be --- /dev/null +++ b/.node-persist/interaction/d3a8a42736324bab3a7734c867d43aaf @@ -0,0 +1,65 @@ +{"key":"1249825496045195358","value":{"data":{"user_id":"1114980179933138964","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"567337992122007552","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1249825496045195358","createdTimestamp":1718052018892,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1114980179933138964\u002F4533bb87d4bc94c63a469a200cded19a.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FR3dhXp_jIrUftImgCPN3OSm-DaefimHHN8hL07VA3g4\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1114980179933138964\u002F4533bb87d4bc94c63a469a200cded19a.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@567337992122007552\u003E,\u003C@534554607330787381\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1114980179933138964\u003E","name":"User:","inline":true},{"value":"dm ads","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1718052593544,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["567337992122007552","534554607330787381"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["814558111234654258","980379693435998258","586781513471885323","486957006628847626","833027060665417769","555751551285723139"],"messages":["1249819811060514981","1249825496045195358"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1249825496045195358","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1249825490156519504","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"567337992122007552","member":"567337992122007552","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789380967"),"locale":"en-GB","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"567337992122007552"},"user":{"guildId":"486957006628847626","joinedTimestamp":1690758670532,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1114980179933138964","avatar":null,"flags":42,"displayName":"Ash","roles":["803662918255640607","1097025722746413137","749218500463165511","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1114980179933138964\u002F4533bb87d4bc94c63a469a200cded19a.webp"},"reason":"dm ads","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1114980179933138964\u002F4533bb87d4bc94c63a469a200cded19a.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@567337992122007552\u003E,\u003C@534554607330787381\u003E","inline":true},{"name":"User:","value":"\u003C@!1114980179933138964\u003E","inline":true},{"name":"Ban Reason:","value":"dm ads"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/d766b81f862d8f98586b260e86bbe26c b/.node-persist/interaction/d766b81f862d8f98586b260e86bbe26c new file mode 100644 index 0000000..7df302f --- /dev/null +++ b/.node-persist/interaction/d766b81f862d8f98586b260e86bbe26c @@ -0,0 +1,65 @@ +{"key":"1249158020559011903","value":{"data":{"user_id":"1248984555902205955","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1249158020559011903","createdTimestamp":1717892880335,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1248984555902205955\u002F283dc0099eaed49c0076689adc4a61a7.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FawZ9ROiVUbVNcMPylo_fUT0CLntTtxpvmf0yt7TzG3E\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1248984555902205955\u002F283dc0099eaed49c0076689adc4a61a7.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1248984555902205955\u003E","name":"User:","inline":true},{"value":"Unusual DM Activity","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717893171344,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","567337992122007552"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["833027060665417769","486957006628847626","586781513471885323","814558111234654258","980379693435998258","555751551285723139"],"messages":["1249158020559011903"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1249158019481210903","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1249158014016028723","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717871916982,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1248984555902205955","avatar":null,"flags":106,"displayName":"Alena","roles":["486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1248984555902205955\u002F283dc0099eaed49c0076689adc4a61a7.webp"},"reason":"Unusual DM Activity","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1248984555902205955\u002F283dc0099eaed49c0076689adc4a61a7.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","inline":true},{"name":"User:","value":"\u003C@!1248984555902205955\u003E","inline":true},{"name":"Ban Reason:","value":"Unusual DM Activity"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/e070f33a7cddc72064f9f41b39acec67 b/.node-persist/interaction/e070f33a7cddc72064f9f41b39acec67 new file mode 100644 index 0000000..b99c749 --- /dev/null +++ b/.node-persist/interaction/e070f33a7cddc72064f9f41b39acec67 @@ -0,0 +1,65 @@ +{"key":"1247759213631897623","value":{"data":{"user_id":"1173685897376567368","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1247759213631897623","createdTimestamp":1717559378775,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1173685897376567368\u002Fac93178c21802d1f6da3260aba99a952.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002Ff_Ey8lKBc-MuTkWFaSmUTb661-RbuBkBK4UZzPHQ5pY\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1173685897376567368\u002Fac93178c21802d1f6da3260aba99a952.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1173685897376567368\u003E","name":"User:","inline":true},{"value":"DM Ads and Stolen Artowrk\u002FStolen Idenity","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717559899630,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","534554607330787381"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["833027060665417769","486957006628847626","586781513471885323","814558111234654258","980379693435998258","555751551285723139"],"messages":["1247666991699988483","1247759213631897623"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1247759213631897623","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1247759207793430699","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1716835848559,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1173685897376567368","avatar":null,"flags":42,"displayName":"Hallie98","roles":["820544781590462505","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1173685897376567368\u002Fac93178c21802d1f6da3260aba99a952.webp"},"reason":"DM Ads and Stolen Artowrk\u002FStolen Idenity","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1173685897376567368\u002Fac93178c21802d1f6da3260aba99a952.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@534554607330787381\u003E","inline":true},{"name":"User:","value":"\u003C@!1173685897376567368\u003E","inline":true},{"name":"Ban Reason:","value":"DM Ads and Stolen Artowrk\u002FStolen Idenity"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/e8920928beb408315d870affaa0bfb1a b/.node-persist/interaction/e8920928beb408315d870affaa0bfb1a new file mode 100644 index 0000000..6f503e9 --- /dev/null +++ b/.node-persist/interaction/e8920928beb408315d870affaa0bfb1a @@ -0,0 +1,65 @@ +{"key":"1248807634300305485","value":{"data":{"user_id":"633097202947850252","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248807634300305485","createdTimestamp":1717809341741,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F633097202947850252\u002Fccab045a3ba65e8e844db58687381852.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FOzMJwSo55BbIwjAy2mxpMcrDaBDWJbmUecD2g7xoAd8\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F633097202947850252\u002Fccab045a3ba65e8e844db58687381852.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@1056165892330893332\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!633097202947850252\u003E","name":"User:","inline":true},{"value":"Unusual DM Activity","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717810405191,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","1056165892330893332"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["980379693435998258","814558111234654258","586781513471885323","486957006628847626","833027060665417769","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211","1248222167771119782","1248323138475790442","1248417933374394431","1248613317065310321","1248665332881821858","1248683623046185063","1248719571863732257","1248807528721158178","1248807633549266974","1248807634300305485"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248807634300305485","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248807628214243348","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717181189453,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"633097202947850252","avatar":null,"flags":42,"displayName":"Angel Perry","roles":["752126346834083870","803662846709858305","818194523083112509","820544781590462505","1051419794672455700","1082346734576996412","1126755158353793034","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F633097202947850252\u002Fccab045a3ba65e8e844db58687381852.webp"},"reason":"Unusual DM Activity","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F633097202947850252\u002Fccab045a3ba65e8e844db58687381852.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@1056165892330893332\u003E","inline":true},{"name":"User:","value":"\u003C@!633097202947850252\u003E","inline":true},{"name":"Ban Reason:","value":"Unusual DM Activity"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/ec2d1dc7c55aac3318cb192223054609 b/.node-persist/interaction/ec2d1dc7c55aac3318cb192223054609 new file mode 100644 index 0000000..7f2b63f --- /dev/null +++ b/.node-persist/interaction/ec2d1dc7c55aac3318cb192223054609 @@ -0,0 +1,65 @@ +{"key":"1247666991699988483","value":{"data":{"user_id":"1212797096374050916","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1247666991699988483","createdTimestamp":1717537391353,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1212797096374050916\u002F04cb279661fa556af17f87615de32066.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002Fdd4BTJYNaJVsFvnCDfNYnH9jnIzH6sT7cUQaziOFgPc\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1212797096374050916\u002F04cb279661fa556af17f87615de32066.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1212797096374050916\u003E","name":"User:","inline":true},{"value":"Stolen Artwork\u002FAI and Self promotion in wrong channel","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717537468566,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","567337992122007552"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["814558111234654258","980379693435998258","586781513471885323","486957006628847626","833027060665417769","555751551285723139"],"messages":["1247666991699988483"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1247666991699988483","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1247666985760985138","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717535437141,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1212797096374050916","avatar":null,"flags":42,"displayName":"Yasser","roles":["749218503856488518","803662846709858305","1051419794672455700","1019871422669131796","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1212797096374050916\u002F04cb279661fa556af17f87615de32066.webp"},"reason":"Stolen Artwork\u002FAI and Self promotion in wrong channel","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1212797096374050916\u002F04cb279661fa556af17f87615de32066.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@567337992122007552\u003E","inline":true},{"name":"User:","value":"\u003C@!1212797096374050916\u003E","inline":true},{"name":"Ban Reason:","value":"Stolen Artwork\u002FAI and Self promotion in wrong channel"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/eec0a4e443fc14668517a6e3d8ca455d b/.node-persist/interaction/eec0a4e443fc14668517a6e3d8ca455d new file mode 100644 index 0000000..5b69d61 --- /dev/null +++ b/.node-persist/interaction/eec0a4e443fc14668517a6e3d8ca455d @@ -0,0 +1,65 @@ +{"key":"1248807528721158178","value":{"data":{"user_id":"956973246144733215","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"579124982215344138","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1248807528721158178","createdTimestamp":1717809316569,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F956973246144733215\u002F8d055392f66b8aa3833a622d54c07f91.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FMVeqqqklLEAxdjYDhnZ6CISPWzxy6j82ZArMHX5Nrhs\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F956973246144733215\u002F8d055392f66b8aa3833a622d54c07f91.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@579124982215344138\u003E,\u003C@1056165892330893332\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!956973246144733215\u003E","name":"User:","inline":true},{"value":"Unusual DM Activity and Reports on suspicious activity  by Members within the server itself.","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1717810405664,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["579124982215344138","1056165892330893332"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["814558111234654258","980379693435998258","586781513471885323","486957006628847626","833027060665417769","555751551285723139"],"messages":["1247666991699988483","1247759213631897623","1247759709029535810","1247791231476568078","1247898267921154143","1247994202860814469","1248097957417324560","1248098054431707211","1248222167771119782","1248323138475790442","1248417933374394431","1248613317065310321","1248665332881821858","1248683623046185063","1248719571863732257","1248807528721158178"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1248807528721158178","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1248807523029618758","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"579124982215344138","member":"579124982215344138","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789372737"),"locale":"en-US","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"579124982215344138"},"user":{"guildId":"486957006628847626","joinedTimestamp":1717717461574,"premiumSinceTimestamp":null,"nickname":null,"pending":false,"communicationDisabledUntilTimestamp":null,"userId":"956973246144733215","avatar":null,"flags":106,"displayName":"Suzane","roles":["749218789962285086","803662918255640607","818194523083112509","820544781590462505","924870780091768852","1019871422669131796","1051419794672455700","1082346734576996412","1097025543020499076","1097025722746413137","1126755158353793034","1159868710010507294","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F956973246144733215\u002F8d055392f66b8aa3833a622d54c07f91.webp"},"reason":"Unusual DM Activity and Reports on suspicious activity  by Members within the server itself.","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F956973246144733215\u002F8d055392f66b8aa3833a622d54c07f91.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@579124982215344138\u003E,\u003C@1056165892330893332\u003E","inline":true},{"name":"User:","value":"\u003C@!956973246144733215\u003E","inline":true},{"name":"Ban Reason:","value":"Unusual DM Activity and Reports on suspicious activity  by Members within the server itself."}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/.node-persist/interaction/f4eb6e12df2bc41f8f7f0cc789ca906e b/.node-persist/interaction/f4eb6e12df2bc41f8f7f0cc789ca906e new file mode 100644 index 0000000..3a1c7b3 --- /dev/null +++ b/.node-persist/interaction/f4eb6e12df2bc41f8f7f0cc789ca906e @@ -0,0 +1,65 @@ +{"key":"1250062353903386637","value":{"data":{"user_id":"1171467062925869168","settings":{"defaultColor":[43,45,49],"allowed-servers":["486957006628847626","545076257369358336"],"preloads":{"486957006628847626":{"753145819820982282":{"name":"admin-chan"},"748790869938929737":{"name":"logging"},"825023574221783102":{"name":"general"},"1200889277786116121":{"name":"staff-actions"}}}},"author":"567337992122007552","mess":{"channelId":"1200889277786116121","guildId":"486957006628847626","id":"1250062353903386637","createdTimestamp":1718108490206,"type":0,"system":false,"content":"","authorId":"762561860150362142","pinned":false,"tts":false,"nonce":null,"embeds":[{"type":"rich","title":"Ban Confirmed, Awaiting User Cleanup","thumbnail":{"width":128,"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1171467062925869168\u002F9dc100345de1b9625edfad1de54dac82.webp","proxy_url":"https:\u002F\u002Fimages-ext-1.discordapp.net\u002Fexternal\u002FMmWKbLYvkaZZCZUjoTPzdVcjFH15e_elSrvyAiUyu54\u002Fhttps\u002Fcdn.discordapp.com\u002Favatars\u002F1171467062925869168\u002F9dc100345de1b9625edfad1de54dac82.webp","height":128},"footer":{"text":"1\u002F1 confirmations"},"fields":[{"value":"\u003C@567337992122007552\u003E,\u003C@579124982215344138\u003E","name":"Confirmed by Staff:","inline":true},{"value":"\u003C@!1171467062925869168\u003E","name":"User:","inline":true},{"value":"scam","name":"Ban Reason:","inline":false}],"content_scan_version":1,"color":2829617}],"components":[],"attachments":[],"stickers":[],"position":null,"roleSubscriptionData":null,"editedTimestamp":1718109566924,"mentions":{"everyone":false,"users":[],"roles":[],"crosspostedChannels":[],"repliedUser":null,"members":[],"channels":[]},"webhookId":null,"groupActivityApplicationId":null,"applicationId":null,"activity":null,"flags":0,"reference":null,"interaction":null,"cleanContent":""},"confirms":["567337992122007552","579124982215344138"],"param":{"send_loc":{"s":undefined,"e":undefined,"n":undefined,"d":undefined,"_":undefined,"l":undefined,"o":undefined,"c":undefined,"type":0,"guild":"486957006628847626","guildId":"486957006628847626","permissionOverwrites":["980379693435998258","486957006628847626","586781513471885323","814558111234654258","833027060665417769","555751551285723139"],"messages":["1249819811060514981","1249825496045195358","1249950911120412747","1249951001927090199","1250062353903386637"],"threads":[],"nsfw":false,"flags":0,"id":"1200889277786116121","name":"📮staff-actions","rawPosition":2,"parentId":"486963918330396682","topic":null,"lastMessageId":"1250062352448098324","rateLimitPerUser":0,"createdTimestamp":1706384715268},"message":{"m":undefined,"e":undefined,"s":undefined,"a":undefined,"g":undefined,"type":2,"id":"1250062346806886522","applicationId":"762561860150362142","channelId":"1200889277786116121","guildId":"486957006628847626","user":"567337992122007552","member":"567337992122007552","version":1,"appPermissions":BigInt("2223201809976903"),"memberPermissions":BigInt("2249600789380967"),"locale":"en-GB","guildLocale":"en-US","commandId":"1241268932170485802","commandName":"ban","commandType":1,"commandGuildId":"486957006628847626","deferred":false,"replied":true,"ephemeral":true,"webhook":{"id":"762561860150362142"},"options":{},"author":"567337992122007552"},"user":{"guildId":"486957006628847626","joinedTimestamp":1718103229067,"premiumSinceTimestamp":null,"nickname":"Krishna","pending":false,"communicationDisabledUntilTimestamp":null,"userId":"1171467062925869168","avatar":null,"flags":10,"displayName":"Krishna","roles":["803662846709858305","749218789962285086","1097025543020499076","486957006628847626"],"avatarURL":null,"displayAvatarURL":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1171467062925869168\u002F9dc100345de1b9625edfad1de54dac82.webp"},"reason":"scam","details":null,"appeal":null,"thread":null},"embed":{"title":"Ban Confirmed","thumbnail":{"url":"https:\u002F\u002Fcdn.discordapp.com\u002Favatars\u002F1171467062925869168\u002F9dc100345de1b9625edfad1de54dac82.webp"},"footer":{"text":"1\u002F1 confirmations","icon_url":undefined},"color":2829617,"fields":[{"name":"Confirmed by Staff:","value":"\u003C@567337992122007552\u003E,\u003C@579124982215344138\u003E","inline":true},{"name":"User:","value":"\u003C@!1171467062925869168\u003E","inline":true},{"name":"Ban Reason:","value":"scam"}]}},"fn":async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) + +  }},"ttl":undefined}
\ No newline at end of file diff --git a/commands/mod/confirm.js b/commands/mod/confirm.js index ff1aa46..9ef0ed0 100644 --- a/commands/mod/confirm.js +++ b/commands/mod/confirm.js @@ -1,11 +1,13 @@  const Discord = require("discord.js") -const { EmbedBuilder, ActionRowBuilder,ButtonBuilder,ButtonStyle,ChannelType } = require("discord.js"); +let { EmbedBuilder, ActionRowBuilder,ButtonBuilder,ButtonStyle,ChannelType } = require("discord.js");  const { PermissionsBitField } = require('discord.js');  const settings = require("../../src/settings")  const fs = require('fs');  const message = require("../../events/message");  let config_loc = __filename+".json"  let config = JSON.parse(fs.readFileSync(config_loc)) +let { Events, ModalBuilder, TextInputBuilder, TextInputStyle } = require('discord.js'); +const preserve = require("../../src/interaction-preserve")  module.exports = {    name: "ban",    command: ["ban"], @@ -20,7 +22,7 @@ module.exports = {          {type:"string",name:"ban-reason",desc:"ban reason to be sent to the user",required:true,autocomplete:false},          {type:"string",name:"staff-note",desc:"viewable only to staff",required:false,autocomplete:false},          {type:"boolean",name:"send-appeal",desc:"whether to send your user id for appealing (default : false)", required:false,autocomplete:false}, -        {type:"boolean",name:"open-thread",desc:"open a thread for discussion (default : false)", required:false,autocomplete:false}, +        {type:"boolean",name:"open-thread",desc:"open a thread for discussion (default : false) (unused)", required:false,autocomplete:false},          //{type:"boolean",name:"delete-messages",desc:"delete recent messages from user (default : true)", required:false,autocomplete:false},      ],    async s_main(client,Discord,interaction){ @@ -36,6 +38,7 @@ module.exports = {      this.exec(client, { +        send_loc: interaction.channel,          message : interaction,          user : interaction.guild.members.cache.get(interaction.options.getUser("user").id),          reason : interaction.options.getString("ban-reason"), @@ -45,6 +48,53 @@ module.exports = {          //del_messages : interaction.options.getBoolean("delete-messages") ?? true,      })    }, +  async c_main(client,Discord,interaction){ +    const modal = new ModalBuilder() +        .setCustomId("ban") +        .setTitle("Ban") +     +    const ban_reason = new TextInputBuilder() +        .setCustomId("ban_reason") +        .setLabel("Ban reason to be sent to the user") +        .setStyle(TextInputStyle.Paragraph) +        .setRequired(true); +     +    const staff_note = new TextInputBuilder() +        .setCustomId("staff_note") +        .setLabel("Note only visible only to staff") +        .setStyle(TextInputStyle.Paragraph) +        .setRequired(false) + +    const f = new ActionRowBuilder().addComponents(ban_reason) +    const s = new ActionRowBuilder().addComponents(staff_note) + +    modal.addComponents(f, s); + +    await interaction.showModal(modal) + +    let sub; +    try{ +        sub = await interaction.awaitModalSubmit({ +        filter: i => i.user.id == interaction.user.id, +        time: 6000000 +    }) +    } catch(e){ +        return; +    } + +    if(sub){ +        this.exec(client, { +            send_loc: global.channels["staff-actions"], +            message: sub, +            user: interaction.guild.members.cache.get(interaction.targetId), +            reason: sub.fields.getTextInputValue("ban_reason"), +            details: sub.fields.getTextInputValue("staff_note"), +            appeal: false, +            thread: false, +            modal:true +        }) +    } +  },    async exec(client,param){      if(!param.user){          return param.message.reply({content:"user not found",ephemeral: true }) @@ -52,7 +102,7 @@ module.exports = {      let embed = new EmbedBuilder()          .setTitle("Waiting for Confirmation")          .setThumbnail(param.user.displayAvatarURL()) -        .setFooter({text:"0 confirmations"}) +        .setFooter({text:"0 confirmations"+(param.modal==true?" (sent via usercommand)":"")})          .setColor(settings.defaultColor)          embed.addFields( @@ -72,25 +122,32 @@ module.exports = {              .setLabel('Cancel')              .setStyle(ButtonStyle.Danger) -    const row = new ActionRowBuilder() +    let row = new ActionRowBuilder()              .addComponents(confirm_button, cancel_button);      let confirms = [param.message.author.id] +    //let nid; +    //row, nid = preserve.register(row, this.ban_btn_handle, {confirms:confirms, param:param, embed:embed})      //await param.message.deferReply();      //param.message.deferUpdate() -    let mess = await param.message.deferReply({ fetchReply: true }) -    param.message.editReply({embeds:[embed],components:[row]}) +    let tm = await param.message.reply({content:"building message",ephemeral:true}) +    tm.delete() +    let mess = await param.send_loc.send({embeds:[embed],components:[row]}) + +    //global.preserve.interactions[nid].data.mess = mess; +    await preserve.register(mess.id, this.ban_btn_handle, {user_id:param.user.id, settings:settings, author:param.message.author.id, mess:mess, confirms:confirms, param:param, embed:embed})      //await param.message.editReply({embeds:[embed],components:[row]})      //if(mess.partial) mess = mess.fetch() - +     +    /*      if(param.thread){ -        let th = await client.channels.cache.get(param.message.channelId).threads.create({ +        let th = await client.channels.cache.get(param.send_loc.channelId).threads.create({              name: param.user.user.username,              reason: 'Ban request discussion',              autoArchiveDuration: 60,              type: ChannelType.PublicThread,          }) -    } +    }*/      async function rec_read(){          const collectorFilter = i => i.user.id != param.message.author.id && !confirms.includes(i.user.id); @@ -152,6 +209,71 @@ module.exports = {              console.log(e)          }      } -    await rec_read(); +    //await rec_read(); +  }, +  ban_btn_handle: async function ban_btn_handle(data, interaction){ +    EmbedBuilder = require("discord.js").EmbedBuilder +    data.mess = await interaction.channel.messages.fetch(data.mess.id) +    data.embed = new EmbedBuilder(data.embed) +    let client = interaction.client + +    return new Promise(async (res, rej) => { +        interaction.deferUpdate(); +        switch(interaction.customId){ +            case "confirm": +                //if(data.confirms.includes(interaction.author.id)) +                   // break +                data.confirms.push(interaction.author.id) +                let comb_mod = "" +                for(let mod of data.confirms){ +                    comb_mod += "<@" + mod + ">" +                    if(mod != data.confirms[data.confirms.length-1]) comb_mod += "," +                } +                data.embed.setFooter({text:data.confirms.length - 1 + "/1 confirmations"}) +                data.embed.data.fields[0].value = comb_mod + +                if(data.confirms.length >= 2){ +                    let ban_embed = new EmbedBuilder() +                        .setTitle("Banned from Supernoobs") +                        .setFooter({text:"You have been banned from this server. Maybe in another life, we could have been friends. But not in this one. 💔"}) +                        .setColor(data.settings.defaultColor) +                        .setFields({name : "Reason", value : data.param.reason}) +                    if(data.param.appeal) ban_embed.addFields({name : "Appeal id", value : "" + data.param.message.author.id}) +                    let user = await client.users.cache.get(data.user_id); +                    let could_send = true +                    let could_ban = true +                    let could_del = true +                    data.embed.setTitle("Ban Confirmed, Awaiting User Cleanup"); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                    try { +                        await user.send({embeds:[ban_embed]}) +                    } catch (e) { +                        console.log(e) +                        could_send = false; +                    } +                    try{ +                        user = interaction.guild.members.cache.get(user.id) +                        await user.ban({deleteMessageSeconds: 60 * 60 * 24 * 7, reason: data.param.reason}) +                    } catch (e) { +                        console.log(e) +                        could_ban = false; +                    } +                     +                    data.embed.setTitle("Ban Confirmed" + (!could_send?" | Unable to Message":"") + (!could_ban?" | Unable to Ban":"") + (!could_del?" | Unable to Delete Msgs":"")); +                    data.mess.edit({embeds:[data.embed],components:[]}) +                } else { +                    data.mess.edit({embeds:[data.embed]}) +                } +                break +            case "cancel": +                data.embed.setFooter({text:"canceled"}) +                data.embed.setTitle("Ban Request Rejected") +                data.embed.addFields({name:"Removed By Staff:",value:"<@!"+data.author+">", inline : true}) +                data.mess.edit({embeds:[data.embed],components:[]}) +                break +        } +        res(data) +    }) +    }  }; diff --git a/events/interaction.js b/events/interaction.js index 571d8d0..8b61445 100644 --- a/events/interaction.js +++ b/events/interaction.js @@ -19,16 +19,17 @@ module.exports = {                  return console.log("denied interaction from (guild)"+interaction.guild.id)              let date = new Date()              interaction.author = interaction.user -            if(interaction.isChatInputCommand()){ +            if(interaction.isChatInputCommand() || interaction.isUserContextMenuCommand()){                  await interaction.guild.members.fetch()                  interaction.user = interaction.guild.members.cache.get(interaction.user.id)                  let mod = util.is_mod(interaction.member)                  let command = global.s_commands.find(o => o.name === interaction.commandName)                  if(command.command.config.mod_respect_restrict) mod = false +                                  if(!((!command.command.config.restrict||command.command.config.restrict.length==0||command.command.config.restrict.includes(interaction.channel.id))&&                      (!command.command.config.restricted||command.command.config.restricted.length==0||!command.command.config.restricted.includes(interaction.channel.id))) -                    &&!(!command.command.config.mod_respect_restrict&&mod)) +                    &&!(!command.command.config.mod_respect_restrict&&mod)&&!interaction.isUserContextMenuCommand())                      return interaction.reply({content:"you cannot send this here! try `sns help` for more info",ephemeral:true})                  if(command==null)                      return; @@ -40,10 +41,10 @@ module.exports = {                          ((date.getTime()-command.command.last_command[uid].getTime())/1000).toFixed(2)+"/"+command.command.config.cooldown+"s",ephemeral:true})                  command.command.last_command[uid] = new Date(); -                await command.command.s_main(client,Discord,interaction); +                await command.command[interaction.isChatInputCommand()?"s_main":"c_main"](client,Discord,interaction);              } else if (interaction.isAutocomplete()){ -                console.log(interaction.user.id) +                console.log(interaction.user.id + " : autocomplete")                  const focused = interaction.options.getFocused(true);                  let command = global.s_commands.find(o => o.name === interaction.commandName)                  if(interaction.options._subcommand!=null){ @@ -66,6 +67,23 @@ module.exports = {                      console.log("failed to send autocomplete")                  } +            } else if (interaction.isButton()){ +                console.log(global.preserve.interactions.length()) +                let sel = await global.preserve.interactions.getItem(interaction.message.id) +                if(sel != null){ +                    console.log("hi") +                    sel.data = await sel.fn(sel.data, interaction); +                    global.preserve.interactions.setItem(interaction.message.id, sel) +                } +                    //console.log(interaction) +                    /* +                let cid = interaction.customId.split(":") +                if(cid.length > 1){ +                    interaction.customId = cid[1]; +                    let sel = global.preserve.interactions[parseInt(cid[0])] +                    global.preserve.interactions[parseInt(cid[0])].data = await sel.fn(sel.data, interaction) +                } +                */              }          }) diff --git a/events/ready.js b/events/ready.js index 889c0b1..02064a8 100644 --- a/events/ready.js +++ b/events/ready.js @@ -5,6 +5,7 @@ const { EmbedBuilder } = require("discord.js");  let db = require("../src/db")  let settings = require('../src/settings')  let config_loc = __filename+".json" +  module.exports = {      name : "ready",      config_loc : config_loc, @@ -12,6 +13,7 @@ module.exports = {          await db._raw.sync()          let config = JSON.parse(fs.readFileSync(config_loc))          client.once("ready", async () => { +              //preload              global.channels = {}              for(let guild of Object.keys(settings.preloads)){ @@ -30,7 +32,7 @@ module.exports = {              }              //end -            //register slash commands +            //register slash/user commands              let passed = 0;              let failed = 0;              client.guilds.cache.forEach((g)=>{ @@ -12,148 +12,170 @@ console.log("["+process.pid+"] running under the name "+process.title)  /**   * Module Imports   */ -const { Client, Collection, EmbedBuilder, ActivityType, GatewayIntentBits, Partials, Events, SlashCommandBuilder, PermissionsBitField} = require("discord.js"); -const Discord = require('discord.js'); -const dotenv = require("dotenv").config(); -const TOKEN = process.env.TOKEN; -const path = require("path"); -let db = require("./src/db"); -let util = require("./src/util") -const client = new Client({ -  intents: [ -    GatewayIntentBits.Guilds, -    GatewayIntentBits.GuildMessages, -    GatewayIntentBits.DirectMessages, -    GatewayIntentBits.Guilds, -    GatewayIntentBits.GuildBans, -    GatewayIntentBits.GuildMessages, -    GatewayIntentBits.MessageContent, -    GatewayIntentBits.GuildVoiceStates, -    GatewayIntentBits.GuildMessageReactions, -    GatewayIntentBits.DirectMessages, -    GatewayIntentBits.GuildMembers, -    GatewayIntentBits.DirectMessageReactions, -    GatewayIntentBits.DirectMessageTyping, -    //GatewayIntentBits.GuildPresences -  ], -  partials: [Partials.Message, Partials.Channel, Partials.Reaction, Partials.User] -}); +async function main(){ +  const { Client, Collection, EmbedBuilder, ActivityType, GatewayIntentBits, Partials, Events, SlashCommandBuilder, PermissionsBitField} = require("discord.js"); +  const Discord = require('discord.js'); +  const dotenv = require("dotenv").config(); +  const TOKEN = process.env.TOKEN; +  const path = require("path"); +  let db = require("./src/db"); +  let util = require("./src/util") +  const { ModalBuilder, REST, Routes, ContextMenuCommandBuilder, ApplicationCommandType } = require('discord.js'); -client.login(TOKEN); +  const client = new Client({ +    intents: [ +      GatewayIntentBits.Guilds, +      GatewayIntentBits.GuildMessages, +      GatewayIntentBits.DirectMessages, +      GatewayIntentBits.Guilds, +      GatewayIntentBits.GuildBans, +      GatewayIntentBits.GuildMessages, +      GatewayIntentBits.MessageContent, +      GatewayIntentBits.GuildVoiceStates, +      GatewayIntentBits.GuildMessageReactions, +      GatewayIntentBits.DirectMessages, +      GatewayIntentBits.GuildMembers, +      GatewayIntentBits.DirectMessageReactions, +      GatewayIntentBits.DirectMessageTyping, +      //GatewayIntentBits.GuildPresences +    ], +    partials: [Partials.Message, Partials.Channel, Partials.Reaction, Partials.User] +  }); -function update_options(scom,options){ -  for(let opt of options){ -    let autocomplete = opt.autocomplete!=null&&opt.autocomplete!=false; -    switch(opt.type){ -      case 'string': -        scom.addStringOption(option => { +  client.login(TOKEN); + +  function update_options(scom,options){ +    for(let opt of options){ +      let autocomplete = opt.autocomplete!=null&&opt.autocomplete!=false; +      switch(opt.type){ +        case 'string': +          scom.addStringOption(option => { +            option.setName(opt.name) +              .setDescription(opt.desc) +              .setRequired(opt.required) +              .setAutocomplete(autocomplete) +              if(!autocomplete&&opt.choices!=null&&opt.choices!=false){ +                if(typeof opt.choices[0] === 'string'){ +                  for(let i in opt.choices) opt.choices[i] = {name:opt.choices[i],value:opt.choices[i]} +                } +                option.setChoices(...opt.choices) +              }  +              return option; +            }) +          break; +        case 'bool': case 'boolean': +          scom.addBooleanOption(option => +            option.setName(opt.name) +              .setDescription(opt.desc) +              .setRequired(opt.required)) +          break; +        case 'channel': +          scom.addChannelOption(option =>            option.setName(opt.name)              .setDescription(opt.desc) -            .setRequired(opt.required) -            .setAutocomplete(autocomplete) -            if(!autocomplete&&opt.choices!=null&&opt.choices!=false){ -              if(typeof opt.choices[0] === 'string'){ -                for(let i in opt.choices) opt.choices[i] = {name:opt.choices[i],value:opt.choices[i]} -              } -              option.setChoices(...opt.choices) -            }  -            return option; -          }) -        break; -      case 'bool': case 'boolean': -        scom.addBooleanOption(option => +            .setRequired(opt.required)) +          break; +        case 'user': +          scom.addUserOption(option => +          option.setName(opt.name) +            .setDescription(opt.desc) +            .setRequired(opt.required)) +          break; +        case 'role': +          scom.addRoleOption(option =>            option.setName(opt.name)              .setDescription(opt.desc)              .setRequired(opt.required)) -        break; -      case 'channel': -        scom.addChannelOption(option => -        option.setName(opt.name) -          .setDescription(opt.desc) -          .setRequired(opt.required)) -        break; -      case 'user': -        scom.addUserOption(option => -        option.setName(opt.name) -          .setDescription(opt.desc) -          .setRequired(opt.required)) -        break; -      case 'role': -        scom.addRoleOption(option => -        option.setName(opt.name) -          .setDescription(opt.desc) -          .setRequired(opt.required)) -        break; -      case 'attachment': -        scom.addAttachmentOption(option => -        option.setName(opt.name) -          .setDescription(opt.desc) -          .setRequired(opt.required)) -        break; -      case 'sub': -        scom.addSubcommand(subcommand => { -            subcommand -              .setName(opt.name) -              .setDescription("test") -            return update_options(subcommand, opt.options) -        }) -        break; +          break; +        case 'attachment': +          scom.addAttachmentOption(option => +          option.setName(opt.name) +            .setDescription(opt.desc) +            .setRequired(opt.required)) +          break; +        case 'sub': +          scom.addSubcommand(subcommand => { +              subcommand +                .setName(opt.name) +                .setDescription("test") +              return update_options(subcommand, opt.options) +          }) +          break; +      } +            } -     +    scom.opt = options +    return scom;    } -  scom.opt = options -  return scom; -} -let commands = [] -let s_commands = [] -fs.readdirSync("./commands/").forEach(folder => { -  fs.readdirSync("./commands/"+folder).forEach(file => { -    if(path.extname(file)==".js"){ -      try{ -        let com = require("./commands/"+folder+"/"+file) -        com.last_command = {}; -        commands.push(com) -        if(com.s_main!=null){ -          let scom = new SlashCommandBuilder() -            .setName(com.name.replace(/ /g,'-')) -            .setDescription(com.config.desc) -          if(com.mod_only) -            scom.setDefaultMemberPermissions(PermissionsBitField.Flags.ManageRoles) -          if(com.s_options!=null){ -            update_options(scom,com.s_options); +  let commands = [] +  let s_commands = [] +  fs.readdirSync("./commands/").forEach(folder => { +    fs.readdirSync("./commands/"+folder).forEach(file => { +      if(path.extname(file)==".js"){ +        try{ +          let com = require("./commands/"+folder+"/"+file) +          com.last_command = {}; +          commands.push(com) +          if(com.s_main!=null){ +            let scom = new SlashCommandBuilder() +              .setName(com.name.replace(/ /g,'-')) +              .setDescription(com.config.desc) +            if(com.mod_only) +              scom.setDefaultMemberPermissions(PermissionsBitField.Flags.ManageRoles) +            if(com.s_options!=null){ +              update_options(scom,com.s_options); +            } +            scom = scom.toJSON() +            scom.command = com +            s_commands.push(scom)            } -          scom = scom.toJSON() -          scom.command = com -          s_commands.push(scom) -        } -      } catch (e) { -        if(e.code=="ENOENT"){ -          console.log("[ENOENT] missing some config files:( run 'sh buildconfig.sh' to get them\nexiting~") +          if(com.c_main!=null){ +            let ccom = new ContextMenuCommandBuilder() +              .setName(com.name.replace(/ /g,'-')) +              .setType(ApplicationCommandType.User) +            if(com.mod_only) +              ccom.setDefaultMemberPermissions(PermissionsBitField.Flags.ManageRoles) +            ccom = ccom.toJSON() +            ccom.command = com +            s_commands.push(ccom) +          } +        } catch (e) { +          if(e.code=="ENOENT"){ +            console.log("[ENOENT] missing some config files:( run 'sh buildconfig.sh' to get them\nexiting~") +            process.exit(e.errno) +          } +          console.log("["+e.code+"]"+" unexpected error:( something is wrong with the ./commands/*/* files\n****\n") +          console.log(e) +                      process.exit(e.errno)          } -        console.log("["+e.code+"]"+" unexpected error:( something is wrong with the ./commands/*/* files\n****\n") -        console.log(e) -         -        process.exit(e.errno)        } -    } +    })    }) -}) -client.env = process.env -global.commands = commands; -global.s_commands = s_commands; -global.recent_messages = []; +  global.rest = new REST().setToken(TOKEN) +  global.c_commands = [new ContextMenuCommandBuilder() +    .setName('test') +    .setType(ApplicationCommandType.User) +    .setDefaultMemberPermissions(PermissionsBitField.Flags.ManageRoles) +] + +  client.env = process.env +  global.commands = commands; +  global.s_commands = s_commands; +  global.recent_messages = []; -fs.readdirSync("./events/").forEach(file => { -  if(path.extname(file)==".js") -    require("./events/"+file).main(client,Discord) -}) +  fs.readdirSync("./events/").forEach(file => { +    if(path.extname(file)==".js") +      require("./events/"+file).main(client,Discord) +  }) -try{ -  require("./src/webui") -} catch(e) { -  console.log("failed loading webui:c") +  try{ +    require("./src/webui") +  } catch(e) { +    console.log("failed loading webui:c") +  }  } +main() diff --git a/package.json b/package.json index 8374f33..f47cd6b 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,10 @@      "ffmpeg-static": "^4.2.3",      "git-changed-files": "^1.0.0",      "git-last-commit": "^1.0.1", +    "node-persist": "^2.1.0",      "os-utils": "^0.0.14",      "sequelize": "^6.32.1", +    "serialize-javascript": "^6.0.2",      "sharp": "^0.32.6",      "sqlite3": "^5.1.6",      "weeby-js": "^1.0.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 632a999..e78ebf7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,12 +35,18 @@ dependencies:    git-last-commit:      specifier: ^1.0.1      version: 1.0.1 +  node-persist: +    specifier: ^2.1.0 +    version: 2.1.0    os-utils:      specifier: ^0.0.14      version: 0.0.14    sequelize:      specifier: ^6.32.1      version: 6.33.0([email protected]) +  serialize-javascript: +    specifier: ^6.0.2 +    version: 6.0.2    sharp:      specifier: ^0.32.6      version: 0.32.6 @@ -1409,6 +1415,14 @@ packages:      engines: {node: '>= 0.10'}      dev: false +    resolution: {integrity: sha512-7Kr05z5LkcOpoMvxHN1PC11WbPabdNFmMYYo0eZvWu3BfVS0T03yoqYDczoCBx17xqk2x1XAZrcKiFVL88jxlQ==} +    engines: {node: '>=0.10.0'} +    dependencies: +      is-relative: 0.2.1 +      is-windows: 0.2.0 +    dev: false +      resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}      dev: false @@ -1441,6 +1455,25 @@ packages:      engines: {node: '>=8'}      dev: true +    resolution: {integrity: sha512-9AMzjRmLqcue629b4ezEVSK6kJsYJlUIhMcygmYORUgwUNJiavHcC3HkaGx0XYpyVKQSOqFbMEZmW42cY87sYw==} +    engines: {node: '>=0.10.0'} +    dependencies: +      is-unc-path: 0.1.2 +    dev: false + +    resolution: {integrity: sha512-HhLc5VDMH4pu3oMtIuunz/DFQUIoR561kMME3U3Afhj8b7vH085vkIkemrz1kLXCEIuoMAmO3yVmafWdSbGW8w==} +    engines: {node: '>=0.10.0'} +    dependencies: +      unc-path-regex: 0.1.2 +    dev: false + +    resolution: {integrity: sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==} +    engines: {node: '>=0.10.0'} +    dev: false +      resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1667,6 +1700,13 @@ packages:      resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}      dev: false +    resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} +    hasBin: true +    dependencies: +      minimist: 1.2.8 +    dev: false +      resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}      engines: {node: '>=10'} @@ -1760,6 +1800,14 @@ packages:      dev: false      optional: true +    resolution: {integrity: sha512-NI30KmynAIpKtvl3XaLE/Q/hPUNfh2bFM0U9zgWyIVzBUL/fh1EMk2/rTAqWY6KXrX8jqusVA6avPJ6I2S9B4w==} +    dependencies: +      is-absolute: 0.2.6 +      mkdirp: 0.5.6 +      q: 1.1.2 +    dev: false +      resolution: {integrity: sha512-xOqifvw/3N+tIeeC80/TNJXkoxDZm8JWc7/0VBkJ86ttQTlJvoicuVaeJlKKHYRlmC2O6ygNIhNPwLYX4bxqdA==}      engines: {node: '>=8'} @@ -1989,6 +2037,11 @@ packages:      engines: {node: '>=6'}      dev: true +    resolution: {integrity: sha512-ROtylwux7Vkc4C07oKE/ReigUmb33kVoLtcR4SJ1QVqwaZkBEDL3vX4/kwFzIERQ5PfCl0XafbU8u2YUhyGgVA==} +    engines: {node: '>=0.6.0', teleport: '>=0.2.0'} +    dev: false +      resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}      engines: {node: '>=0.6'} @@ -2004,6 +2057,12 @@ packages:      resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}      dev: false +    resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} +    dependencies: +      safe-buffer: 5.2.1 +    dev: false +      resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}      engines: {node: '>= 0.6'} @@ -2172,6 +2231,12 @@ packages:        - supports-color      dev: false +    resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} +    dependencies: +      randombytes: 2.1.0 +    dev: false +      resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}      engines: {node: '>= 0.8.0'} @@ -2470,6 +2535,11 @@ packages:      resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}      dev: false +    resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} +    engines: {node: '>=0.10.0'} +    dev: false +      resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==}      engines: {node: '>=14.0'} diff --git a/src/interaction-preserve.js b/src/interaction-preserve.js new file mode 100644 index 0000000..da4f1c9 --- /dev/null +++ b/src/interaction-preserve.js @@ -0,0 +1,18 @@ +const { stringify } = require('querystring'); +let serialize = require('serialize-javascript'); +function deserialize(i){ +    return eval('(' + i + ')'); +  } +global.preserve = {} +global.preserve.interactions = require('node-persist') +global.preserve.interactions.initSync({dir:"./.node-persist/interaction",parse:deserialize, +     stringify:serialize}) + +module.exports = { +    register: async (id, fn, data) => { +        await global.preserve.interactions.setItem(id, { +            data:data, +            fn:fn +        }) +    }, +}
\ No newline at end of file diff --git a/src/settings.js b/src/settings.js index 6baea47..556968a 100644 --- a/src/settings.js +++ b/src/settings.js @@ -14,6 +14,9 @@ module.exports = {              },              "825023574221783102":{                  name: "general" +            }, +            "1200889277786116121":{ +                name: "staff-actions"              }          }      } | 
