mirror of https://github.com/clickscodes/nucleus
parent
e625d78976
commit
663dc4769b
@ -1,3 +1,5 @@
|
||||
dist/
|
||||
.history/
|
||||
node_modules/
|
||||
node_modules/
|
||||
src/config/
|
||||
.vscode/
|
||||
@ -1,28 +0,0 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
|
||||
{
|
||||
"command": "npm run dev",
|
||||
"name": "Run npm dev",
|
||||
"request": "launch",
|
||||
"type": "node-terminal"
|
||||
},
|
||||
{
|
||||
"type": "pwa-node",
|
||||
"request": "launch",
|
||||
"name": "Launch Program",
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
],
|
||||
"program": "${workspaceFolder}/dist/index.js",
|
||||
"preLaunchTask": "tsc: build - tsconfig.json",
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,62 +0,0 @@
|
||||
{
|
||||
"cSpell.ignoreWords": [
|
||||
"BLOCKCROSS",
|
||||
"CLICKSDEVELOPER",
|
||||
"Captchas",
|
||||
"Categorises",
|
||||
"MODLEVEL",
|
||||
"NUCLEUSDEVELOPER",
|
||||
"Texttools",
|
||||
"Tfme",
|
||||
"bitfield",
|
||||
"categorised",
|
||||
"clcks",
|
||||
"closeticket",
|
||||
"colour",
|
||||
"createtestbutton",
|
||||
"createticket",
|
||||
"hcaptcha",
|
||||
"maxtickets",
|
||||
"noopener",
|
||||
"noreferrer",
|
||||
"pypi",
|
||||
"roleall",
|
||||
"rolemenu",
|
||||
"setlog",
|
||||
"setprefix",
|
||||
"setverify",
|
||||
"stafflog",
|
||||
"supportping",
|
||||
"tesseract",
|
||||
"unscan",
|
||||
"verifybutton",
|
||||
"viewas"
|
||||
],
|
||||
"cSpell.words": [
|
||||
"automations",
|
||||
"categorise",
|
||||
"CFSERVICE",
|
||||
"CLEARHISTORY",
|
||||
"CLICKSFORMS",
|
||||
"CMPING",
|
||||
"discordjs",
|
||||
"ffffe",
|
||||
"ICONCHANGE",
|
||||
"jshaiku",
|
||||
"MODERATIONUPDATE",
|
||||
"slowmode",
|
||||
"SOFTBAN",
|
||||
"softbanned",
|
||||
"softbanning",
|
||||
"TOOBIG",
|
||||
"TOOSMALL",
|
||||
"TOPICUPDATE",
|
||||
"Unban",
|
||||
"Unbans",
|
||||
"Uncategorised",
|
||||
"UNDEAFEN",
|
||||
"UNMUTE",
|
||||
"Unmutes",
|
||||
"VOICEMUTE"
|
||||
]
|
||||
}
|
||||
@ -1,18 +1,72 @@
|
||||
import { CommandInteraction } from "discord.js";
|
||||
import humanizeDuration from 'humanize-duration';
|
||||
import { CommandInteraction, GuildMember, TextChannel } from "discord.js";
|
||||
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
|
||||
import { WrappedCheck } from "jshaiku";
|
||||
import keyValueList from "../../utils/generateKeyValueList.js";
|
||||
import confirmationMessage from "../../utils/confirmationMessage.js";
|
||||
import generateEmojiEmbed from "../../utils/generateEmojiEmbed.js";
|
||||
|
||||
const command = (builder: SlashCommandSubcommandBuilder) =>
|
||||
builder
|
||||
.setName("slowmode")
|
||||
.setDescription("Manages slowmode in a channel")
|
||||
.addStringOption(option => option.setName("time").setDescription("The delay between messages").setRequired(false).addChoices([
|
||||
["Off", "0"],
|
||||
["5 seconds", "5"], ["10 seconds", "10"], ["15 seconds", "15"], ["30 seconds", "30"],
|
||||
["1 minute", "60"], ["2 minutes", "120"], ["5 minutes", "300"], ["10 minutes", "600"],
|
||||
["15 minutes", "900"], ["30 minutes", "1800"],
|
||||
["1 hour", "3600"], ["2 hours", "7200"], ["6 hours", "21600"]
|
||||
]))
|
||||
|
||||
const callback = (interaction: CommandInteraction) => {
|
||||
interaction.reply("This command is not yet finished [mod/slowmode]");
|
||||
const callback = async (interaction: CommandInteraction) => {
|
||||
let time = parseInt(interaction.options.getString("time") ?? "0");
|
||||
if (time === 0 && (interaction.channel as TextChannel).rateLimitPerUser === 0) { time = 10 }
|
||||
let confirmation = await new confirmationMessage(interaction)
|
||||
.setEmoji("CHANNEL.SLOWMODE.RED")
|
||||
.setTitle("Slowmode")
|
||||
.setDescription(keyValueList({
|
||||
"time": time ? humanizeDuration(time * 1000, { round: true }) : "No delay",
|
||||
})
|
||||
+ `Are you sure you want to set the slowmode in this channel?`)
|
||||
.setColor("Danger")
|
||||
// pluralize("day", interaction.options.getInteger("delete"))
|
||||
// const pluralize = (word: string, count: number) => { return count === 1 ? word : word + "s" }
|
||||
.send()
|
||||
if (confirmation.success) {
|
||||
try {
|
||||
(interaction.channel as TextChannel).setRateLimitPerUser(time)
|
||||
} catch (e) {
|
||||
await interaction.editReply({embeds: [new generateEmojiEmbed()
|
||||
.setEmoji("CHANNEL.SLOWMODE.RED")
|
||||
.setTitle(`Slowmode`)
|
||||
.setDescription("An error occurred while setting the slowmode")
|
||||
.setStatus("Danger")
|
||||
], components: []})
|
||||
}
|
||||
await interaction.editReply({embeds: [new generateEmojiEmbed()
|
||||
.setEmoji(`CHANNEL.SLOWMODE.GREEN`)
|
||||
.setTitle(`Slowmode`)
|
||||
.setDescription("The channel slowmode was set successfully")
|
||||
.setStatus("Success")
|
||||
], components: []})
|
||||
} else {
|
||||
await interaction.editReply({embeds: [new generateEmojiEmbed()
|
||||
.setEmoji("CHANNEL.SLOWMODE.GREEN")
|
||||
.setTitle(`Slowmode`)
|
||||
.setDescription("No changes were made")
|
||||
.setStatus("Success")
|
||||
], components: []})
|
||||
}
|
||||
}
|
||||
|
||||
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
|
||||
return true;
|
||||
let member = (interaction.member as GuildMember)
|
||||
// Check if Nucleus can set the slowmode
|
||||
if (! interaction.guild.me.permissions.has("MANAGE_CHANNELS")) throw "I do not have the `manage_channels` permission";
|
||||
// Check if the user has manage_channel permission
|
||||
if (! member.permissions.has("MANAGE_CHANNELS")) throw "You do not have the `manage_channels` permission";
|
||||
// Allow slowmode
|
||||
return true
|
||||
}
|
||||
|
||||
export { command, callback, check };
|
||||
@ -1,351 +0,0 @@
|
||||
{
|
||||
"NUCLEUS": {
|
||||
"LOGO": "953040840945721385",
|
||||
"LOADING": "a946346549271732234",
|
||||
"INFO": {
|
||||
"HELP": "751751467014029322",
|
||||
"ABOUT": "751762088346517504",
|
||||
"COMMANDS": "751762088229339136",
|
||||
"SUPPORT": "751762087780286495"
|
||||
},
|
||||
"COMMANDS": {
|
||||
"RAID": "777143043711172608",
|
||||
"LOCK": "776848800995868682",
|
||||
"IGNORE": "777520659270074389"
|
||||
}
|
||||
},
|
||||
"ICONS": {
|
||||
"ADD": "826823514904330251",
|
||||
"REMOVE": "826823515268186152",
|
||||
"OPP": {
|
||||
"ADD": "837355918831124500",
|
||||
"REMOVE": "837355918420869162"
|
||||
},
|
||||
"CHANNEL": {
|
||||
"TEXT": "752971441351426089",
|
||||
"VOICE": "752971441586307091",
|
||||
"STORE": "853668786925469706",
|
||||
"ANNOUNCEMENT": "853668786493063169",
|
||||
"STAGE": "853668786842763294"
|
||||
}
|
||||
},
|
||||
"CONTROL": {
|
||||
"TICK": "947441964234702849",
|
||||
"CROSS": "947441948543815720",
|
||||
"BLOCKCROSS": "952261738349330493",
|
||||
"LEFT": "947441951148486728",
|
||||
"RIGHT": "947441957473488916",
|
||||
"UP": "963409197293273108",
|
||||
"DOWN": "963409199549796352",
|
||||
"DOWNLOAD": "947959513032585236",
|
||||
"TICKET": "973253514488860683",
|
||||
"PILL": {
|
||||
"TICK": "753314339082993832",
|
||||
"CROSS": "753314339389309100"
|
||||
}
|
||||
},
|
||||
"STATUS": {
|
||||
"ONLINE": "729064530084102166",
|
||||
"IDLE": "729064531577536582",
|
||||
"DND": "729064531057311886",
|
||||
"STREAMING": "729764055082074153",
|
||||
"OFFLINE": "729064531271221289"
|
||||
},
|
||||
"CHANNEL": {
|
||||
"TEXT": {
|
||||
"CREATE": "729066924943737033",
|
||||
"EDIT": "951957316117360640",
|
||||
"DELETE": "729064529211686922"
|
||||
},
|
||||
"VOICE": {
|
||||
"CREATE": "729064530830950530",
|
||||
"EDIT": "951957316071223336",
|
||||
"DELETE": "729064530981683200"
|
||||
},
|
||||
"STORE": {
|
||||
"CREATE": "729064530709315715",
|
||||
"DELETE": "729064530768035922"
|
||||
},
|
||||
"CATEGORY": {
|
||||
"CREATE": "787987508465238026",
|
||||
"EDIT": "787987508565770300",
|
||||
"DELETE": "787987508507967488"
|
||||
},
|
||||
"PURGE": {
|
||||
"RED": "729064530797133875",
|
||||
"GREEN": "947443645391441940"
|
||||
},
|
||||
"TITLEUPDATE": "729763053620691044",
|
||||
"TOPICUPDATE": "729763053477953536",
|
||||
"SLOWMODE": {
|
||||
"ON": "777138171301068831",
|
||||
"OFF": "777138171447869480"
|
||||
},
|
||||
"NSFW": {
|
||||
"ON": "729064531208175736",
|
||||
"OFF": "729381430991388752"
|
||||
}
|
||||
},
|
||||
"MEMBER": {
|
||||
"JOIN": "729066519337762878",
|
||||
"LEAVE": "729064531170558575",
|
||||
"BOT": {
|
||||
"JOIN": "729064528666689587",
|
||||
"LEAVE": "729064528998039633"
|
||||
},
|
||||
"KICK": "729263536785850458",
|
||||
"BAN": "729263536643112991",
|
||||
"UNBAN": "729263536840114216"
|
||||
},
|
||||
"INVITE": {
|
||||
"CREATE": "729064529274601482",
|
||||
"DELETE": "729064531103580230"
|
||||
},
|
||||
"WEBHOOK": {
|
||||
"CREATE": "752070251906203679",
|
||||
"UPDATE": "752073772823216191",
|
||||
"DELETE": "752070251948146768"
|
||||
},
|
||||
"MESSAGE": {
|
||||
"EDIT": "729065958584614925",
|
||||
"DELETE": "729064530432360461",
|
||||
"PIN": "729064530755190894",
|
||||
"REACTION": {
|
||||
"ADD": "",
|
||||
"REMOVE": "",
|
||||
"CLEAR": "729064531468353606"
|
||||
},
|
||||
"PING": {
|
||||
"MASS": "729620608408879124",
|
||||
"EVERYONE": "729064531073957909",
|
||||
"ROLE": "729263536915742770"
|
||||
}
|
||||
},
|
||||
"PUNISH": {
|
||||
"WARN": {
|
||||
"RED": "947433493384806430",
|
||||
"GREEN": "947433504076091424",
|
||||
"YELLOW": "729764054897524768"
|
||||
},
|
||||
"KICK": {
|
||||
"RED": "729764053794422896",
|
||||
"GREEN": "947428786692042764",
|
||||
"YELLOW": "947429333289562132"
|
||||
},
|
||||
"BAN": {
|
||||
"RED": "729764053861400637",
|
||||
"GREEN": "947421674364629022",
|
||||
"YELLOW": "729764053941223476"
|
||||
},
|
||||
"UNBAN": {
|
||||
"GREEN": "729263536840114216",
|
||||
"YELLOW": "972511620343414794",
|
||||
"RED": "972511610885255259"
|
||||
},
|
||||
"MUTE": {
|
||||
"RED": "947555098974883910",
|
||||
"GREEN": "947555107980066866",
|
||||
"YELLOW": "729764053865463840"
|
||||
},
|
||||
"SOFTBAN": "729764053941223476",
|
||||
"VOICEMUTE": "729764054855450697",
|
||||
"CLEARHISTORY": "729764062270980096",
|
||||
"NICKNAME": {
|
||||
"RED": "959762533101731980",
|
||||
"YELLOW": "729064531019694090",
|
||||
"GREEN": "959762533072392202"
|
||||
}
|
||||
},
|
||||
"BADGES": {
|
||||
"NUCLEUSDEVELOPER": "957722888360853595",
|
||||
"CLICKSDEVELOPER": "957722888314683462",
|
||||
"HOUSE_BRAVERY": "775783765930016789",
|
||||
"HOUSE_BRILLIANCE": "775783766152577095",
|
||||
"HOUSE_BALANCE": "775783766303440937",
|
||||
"HYPESQUAD_EVENTS": "775783766194126908",
|
||||
"EARLY_SUPPORTER": "775783766055452693",
|
||||
"BUGHUNTER_LEVEL_1": "775783766252847154",
|
||||
"BUGHUNTER_LEVEL_2": "775783766130950234",
|
||||
"PARTNERED_SERVER_OWNER": "775783766178005033",
|
||||
"DISCORD_EMPLOYEE": "775783766383788082",
|
||||
"EARLY_VERIFIED_BOT_DEVELOPER": "775783766425600060",
|
||||
"BOT": "776375959108190239",
|
||||
"BOOSTER": "775783766131605545"
|
||||
},
|
||||
"VOICE": {
|
||||
"CONNECT": "784785219391193138",
|
||||
"CHANGE": "784785219353968670",
|
||||
"LEAVE": "784785219432480808",
|
||||
"MUTE": "784785219613360149",
|
||||
"UNMUTE": "784785219441524766",
|
||||
"DEAFEN": "784785219424747550",
|
||||
"UNDEAFEN": "784785219324346378",
|
||||
"STREAM": {
|
||||
"START": "853519659775819787",
|
||||
"STOP": "853519660116213780"
|
||||
},
|
||||
"VIDEO": {
|
||||
"START": "853519659945295873",
|
||||
"STOP": "853519660116738078"
|
||||
}
|
||||
},
|
||||
"GUILD": {
|
||||
"RED": "959779988264079361",
|
||||
"YELLOW": "729763053352124529",
|
||||
"GREEN": "959779988503154698",
|
||||
"EMOJI": {
|
||||
"CREATE": "953035168115982437",
|
||||
"EDIT": "729066518549233795",
|
||||
"DELETE": "953035210121953320"
|
||||
},
|
||||
"GRAPHS": "752214059159650396",
|
||||
"SETTINGS": "752570111063228507",
|
||||
"ICONCHANGE": "729763053612302356",
|
||||
"TICKET": {
|
||||
"OPEN": "853245836331188264",
|
||||
"CLOSE": "853580122506133505",
|
||||
"ARCHIVED": "853580122636025856"
|
||||
},
|
||||
"ROLES": {
|
||||
"CREATE": "729064530763579413",
|
||||
"DELETE": "729064530885476392",
|
||||
"EDIT": "776109664793919489",
|
||||
"MEMBERS": "752570111281594509",
|
||||
"MESSAGES": "752570111373606942",
|
||||
"VOICE": "752570111088525354"
|
||||
}
|
||||
},
|
||||
"MOD": {
|
||||
"IMAGES": {
|
||||
"SWEARING": "730438422627614810",
|
||||
"INVISIBLE": "730438422690398238",
|
||||
"TOOBIG": "730438422921084998",
|
||||
"TOOSMALL": "730438422921216150"
|
||||
},
|
||||
"SWEARING": "730438422816096377",
|
||||
"SPAM": "730438422853845042"
|
||||
},
|
||||
"NUMBERS": [
|
||||
{
|
||||
"NORMAL": "753259024404840529",
|
||||
"GREEN": "753312608378945648",
|
||||
"RED": "753312608890650664"
|
||||
},
|
||||
{
|
||||
"NORMAL": "753259025990418515",
|
||||
"GREEN": "753312608550912112",
|
||||
"RED": "753312609075462246"
|
||||
},
|
||||
{
|
||||
"NORMAL": "753259024409034896",
|
||||
"GREEN": "753312608513294366",
|
||||
"RED": "753312608680935446"
|
||||
},
|
||||
{
|
||||
"NORMAL": "753259024358703205",
|
||||
"GREEN": "753312608815284426",
|
||||
"RED": "753312609377320966"
|
||||
},
|
||||
{
|
||||
"NORMAL": "753259024555835513",
|
||||
"GREEN": "753312608735461457",
|
||||
"RED": "753312609255686223"
|
||||
},
|
||||
{
|
||||
"NORMAL": "753259024744579283",
|
||||
"GREEN": "753312608630604017",
|
||||
"RED": "753312609138376777"
|
||||
},
|
||||
{
|
||||
"NORMAL": "753259024354639994",
|
||||
"GREEN": "753312608656031806",
|
||||
"RED": "753312609465270412"
|
||||
},
|
||||
{
|
||||
"NORMAL": "753259024530800661",
|
||||
"GREEN": "753312608718815322",
|
||||
"RED": "753312609104822313"
|
||||
},
|
||||
{
|
||||
"NORMAL": "753259024895574037",
|
||||
"GREEN": "753312608790249646",
|
||||
"RED": "753312609477984319"
|
||||
},
|
||||
{
|
||||
"NORMAL": "753259024681533553",
|
||||
"GREEN": "753312608899170365",
|
||||
"RED": "753312609557545089"
|
||||
}
|
||||
],
|
||||
"BOTS": {
|
||||
"GPS": "878919163937185803",
|
||||
"NUCLEUS": "878919163597439016",
|
||||
"CLICKSFORMS": "878919163337388073",
|
||||
"CASTAWAY": "878919164255944726",
|
||||
"CMPING": "878919164125929502",
|
||||
"HOOKY": "878919164121731082"
|
||||
},
|
||||
"CFSERVICE": {
|
||||
"VERIFIED": "881984571242053642",
|
||||
"UNVERIFIED": "881984571258847232"
|
||||
},
|
||||
"TICKETS": {
|
||||
"SUPPORT": "952295894370369587",
|
||||
"REPORT": "952295894437482537",
|
||||
"QUESTION": "952295894403907645",
|
||||
"ISSUE": "952295894412316672",
|
||||
"SUGGESTION": "952295894399725588",
|
||||
"OTHER": "952295894445883502"
|
||||
},
|
||||
"TRACKS": {
|
||||
"ICON": "963170616444334171",
|
||||
"HORIZONTAL": {
|
||||
"LEFT": {
|
||||
"ACTIVE": "963121920038035506",
|
||||
"INACTIVE": "963121944239153242"
|
||||
},
|
||||
"MIDDLE": {
|
||||
"ACTIVE": "963121925893263420",
|
||||
"INACTIVE": "963121949796597870"
|
||||
},
|
||||
"RIGHT": {
|
||||
"ACTIVE": "963121933384302602",
|
||||
"INACTIVE": "963121956125831168"
|
||||
}
|
||||
},
|
||||
"VERTICAL": {
|
||||
"TOP": {
|
||||
"ACTIVE": "963122664648630293",
|
||||
"INACTIVE": "963122659862917140",
|
||||
"GREY": {
|
||||
"ACTIVE": "963123505052934144",
|
||||
"INACTIVE": "963123495221469194"
|
||||
}
|
||||
},
|
||||
"MIDDLE": {
|
||||
"ACTIVE": "963122679332880384",
|
||||
"INACTIVE": "963122673246937199",
|
||||
"GREY": {
|
||||
"ACTIVE": "963123517702955018",
|
||||
"INACTIVE": "963123511927390329"
|
||||
}
|
||||
},
|
||||
"BOTTOM": {
|
||||
"ACTIVE": "963122691752218624",
|
||||
"INACTIVE": "963122685691453552",
|
||||
"GREY": {
|
||||
"ACTIVE": "963123529988059187",
|
||||
"INACTIVE": "963123523742748742"
|
||||
}
|
||||
}
|
||||
},
|
||||
"SINGLE": {
|
||||
"ACTIVE": "963361162215424060",
|
||||
"INACTIVE": "963361431758176316",
|
||||
"GREY": {
|
||||
"ACTIVE": "963361204695334943",
|
||||
"INACTIVE": "963361200828198952"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,12 +0,0 @@
|
||||
{
|
||||
"token": "your-token-here",
|
||||
"developmentToken": "Nzc5Mzg4ODU2NTM2NTMwOTg0.X7f0bw.yzZg659UsLtHTfmeTsDXZa7O8K8",
|
||||
"managementGuildID": "your-management-guild-id-here",
|
||||
"developmentGuildID": "864185037078790195",
|
||||
"enableDevelopment": true,
|
||||
"owners": [
|
||||
"317731855317336067",
|
||||
"438733159748599813"
|
||||
],
|
||||
"verifySecret": "1tLLN9wLLnWdgtq8GuOZxoTASgCrKPDhIKA56wL9JXu4SkKNgV03tEkUbM5Xk9f8S1YPlCtKG1EhS6igdKqV2xu3lnW25vJdIvnp"
|
||||
}
|
||||
Loading…
Reference in new issue