aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.eslintignore5
-rw-r--r--.eslintrc.cjs9
-rw-r--r--.vscode/typescript.code-snippets61
-rw-r--r--assets/Faithful.ttfbin0 -> 275832 bytes
-rw-r--r--assets/minecraft_font.ttfbin0 -> 15700 bytes
-rw-r--r--package.json40
-rw-r--r--src/arguments/abbreviatedNumber.ts2
-rw-r--r--src/arguments/tinyColor.ts2
-rw-r--r--src/bot.ts10
-rw-r--r--src/commands/admin/channelPermissions.ts2
-rw-r--r--src/commands/admin/roleAll.ts2
-rw-r--r--src/commands/config/blacklist.ts2
-rw-r--r--src/commands/config/config.ts2
-rw-r--r--src/commands/config/disable.ts2
-rw-r--r--src/commands/config/features.ts2
-rw-r--r--src/commands/config/log.ts2
-rw-r--r--src/commands/dev/eval.ts2
-rw-r--r--src/commands/dev/javascript.ts2
-rw-r--r--src/commands/dev/sh.ts2
-rw-r--r--src/commands/fun/minesweeper.ts2
-rw-r--r--src/commands/info/botInfo.ts2
-rw-r--r--src/commands/info/color.ts2
-rw-r--r--src/commands/info/guildInfo.ts2
-rw-r--r--src/commands/info/help.ts2
-rw-r--r--src/commands/info/icon.ts2
-rw-r--r--src/commands/info/inviteInfo.ts43
-rw-r--r--src/commands/info/links.ts2
-rw-r--r--src/commands/info/userInfo.ts6
-rw-r--r--src/commands/leveling/leaderboard.ts2
-rw-r--r--src/commands/leveling/level.ts2
-rw-r--r--src/commands/leveling/levelRoles.ts2
-rw-r--r--src/commands/leveling/setLevel.ts2
-rw-r--r--src/commands/leveling/setXp.ts2
-rw-r--r--src/commands/moderation/ban.ts2
-rw-r--r--src/commands/moderation/block.ts2
-rw-r--r--src/commands/moderation/evidence.ts2
-rw-r--r--src/commands/moderation/hideCase.ts2
-rw-r--r--src/commands/moderation/kick.ts2
-rw-r--r--src/commands/moderation/lockdown.ts2
-rw-r--r--src/commands/moderation/massBan.ts2
-rw-r--r--src/commands/moderation/massEvidence.ts2
-rw-r--r--src/commands/moderation/modlog.ts2
-rw-r--r--src/commands/moderation/mute.ts2
-rw-r--r--src/commands/moderation/purge.ts2
-rw-r--r--src/commands/moderation/removeReactionEmoji.ts2
-rw-r--r--src/commands/moderation/role.ts2
-rw-r--r--src/commands/moderation/slowmode.ts2
-rw-r--r--src/commands/moderation/timeout.ts2
-rw-r--r--src/commands/moderation/unban.ts2
-rw-r--r--src/commands/moderation/unblock.ts2
-rw-r--r--src/commands/moderation/unmute.ts2
-rw-r--r--src/commands/moderation/untimeout.ts2
-rw-r--r--src/commands/moderation/warn.ts2
-rw-r--r--src/commands/moulberry-bush/capes.ts2
-rw-r--r--src/commands/moulberry-bush/giveawayPing.ts8
-rw-r--r--src/commands/moulberry-bush/moulHammer.ts16
-rw-r--r--src/commands/moulberry-bush/neuRepo.ts193
-rw-r--r--src/commands/moulberry-bush/report.ts6
-rw-r--r--src/commands/moulberry-bush/rule.ts5
-rw-r--r--src/commands/moulberry-bush/serverStatus.ts2
-rw-r--r--src/commands/moulberry-bush/solved.ts44
-rw-r--r--src/commands/tickets/ticket-!.ts65
-rw-r--r--src/commands/tickets/ticket-create.ts0
-rw-r--r--src/commands/utilities/calculator.ts2
-rw-r--r--src/commands/utilities/hash.ts2
-rw-r--r--src/commands/utilities/highlight-!.ts5
-rw-r--r--src/commands/utilities/highlight-add.ts2
-rw-r--r--src/commands/utilities/highlight-block.ts2
-rw-r--r--src/commands/utilities/highlight-clear.ts2
-rw-r--r--src/commands/utilities/highlight-matches.ts2
-rw-r--r--src/commands/utilities/highlight-remove.ts2
-rw-r--r--src/commands/utilities/highlight-show.ts2
-rw-r--r--src/commands/utilities/highlight-unblock.ts2
-rw-r--r--src/commands/utilities/price.ts2
-rw-r--r--src/commands/utilities/reminders.ts2
-rw-r--r--src/commands/utilities/steal.ts2
-rw-r--r--src/commands/utilities/viewRaw.ts2
-rw-r--r--src/commands/utilities/whoHasRole.ts2
-rw-r--r--src/commands/utilities/wolframAlpha.ts2
-rw-r--r--src/lib/common/AutoMod.ts2
-rw-r--r--src/lib/common/HighlightManager.ts2
-rw-r--r--src/lib/common/util/Minecraft.ts349
-rw-r--r--src/lib/common/util/Minecraft_Test.ts86
-rw-r--r--src/lib/common/util/Moderation.ts2
-rw-r--r--src/lib/extensions/discord.js/ExtendedGuild.ts28
-rw-r--r--src/lib/utils/BushClientUtils.ts2
-rw-r--r--src/lib/utils/BushConstants.ts21
-rw-r--r--src/lib/utils/BushLogger.ts58
-rw-r--r--src/lib/utils/BushUtils.ts2
-rw-r--r--src/listeners/bush/appealListener.ts4
-rw-r--r--src/listeners/bush/joinAutoBan.ts2
-rw-r--r--src/listeners/bush/supportThread.ts8
-rw-r--r--src/listeners/bush/userUpdateAutoBan.ts2
-rw-r--r--src/listeners/member-custom/bushLevelUpdate.ts2
-rw-r--r--src/listeners/message/quoteCreate.ts4
-rw-r--r--src/listeners/ws/INTERACTION_CREATE.ts2
-rw-r--r--src/tasks/cache/updateNeuItemCache.ts12
-rw-r--r--src/tasks/feature/memberCount.ts2
-rw-r--r--src/tasks/feature/removeExpiredPunishements.ts2
-rw-r--r--test.js365
-rw-r--r--test.pngbin0 -> 41015 bytes
-rw-r--r--tooltips.nnb118
-rw-r--r--tsconfig.eslint.json15
-rw-r--r--tsconfig.json11
-rw-r--r--vite.config.ts14
-rw-r--r--yarn.lock638
106 files changed, 2086 insertions, 305 deletions
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..c531fde
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,5 @@
+dist
+.yarn
+node_modules
+*.nnb
+tooltips* \ No newline at end of file
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 9a6837f..e2d7435 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -115,17 +115,20 @@ const globals = [
'btoa', 'createImageBitmap', 'fetch', 'queueMicrotask', 'sessionStorage', 'addEventListener', 'removeEventListener'
]
+/**
+ * @type {import('eslint').Linter.Config}
+ */
module.exports = {
env: {
- es2021: true,
+ es2022: true,
node: true
},
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
parser: '@typescript-eslint/parser',
parserOptions: {
- ecmaVersion: 12,
+ ecmaVersion: 'latest',
sourceType: 'module',
- project: './tsconfig.json'
+ project: './tsconfig.eslint.json'
},
plugins: ['@typescript-eslint', 'deprecation', 'import'],
ignorePatterns: ['dist'],
diff --git a/.vscode/typescript.code-snippets b/.vscode/typescript.code-snippets
index 6ab1c89..29418b1 100644
--- a/.vscode/typescript.code-snippets
+++ b/.vscode/typescript.code-snippets
@@ -72,5 +72,66 @@
"\trequired: $3",
"},$0"
]
+ },
+
+ // prettier-ignore
+ "Command":{
+ "prefix": "command",
+ "description": "A bot command template",
+ "body": [
+ "import {",
+ "\tBushCommand,",
+ "\tclientSendAndPermCheck,",
+ "\temojis,",
+ "\ttype ArgType,",
+ "\ttype CommandMessage,",
+ "\ttype OptArgType,",
+ "\ttype SlashMessage",
+ "} from '#lib';",
+ "",
+ "import { ApplicationCommandOptionType } from 'discord.js';",
+ "export default class ${1:CommandName} extends BushCommand {",
+ "\tpublic constructor() {",
+ "\t\tsuper('${2:commandId}', {",
+ "\t\t\taliases: ['${3:alias}'],",
+ "\t\t\tcategory: '${4:category}',",
+ "\t\t\tdescription: '${5:description}.',",
+ "\t\t\tusage: ['${3:alias} <${6:arg}> [${7:arg}]'],",
+ "\t\t\texamples: ['${3:alias} ${8:argExample} ${9:argExample}'],",
+ "\t\t\targs: [",
+ "\t\t\t\t{",
+ "\t\t\t\t\tid: '${6:arg}',",
+ "\t\t\t\t\tdescription: '${10:Argument description}.',",
+ "\t\t\t\t\ttype: '${11:argType}',",
+ "\t\t\t\t\tprompt: '${12:What is arg}?',",
+ "\t\t\t\t\tretry: '{error} ${13:Invalid arg}.',",
+ "\t\t\t\t\toptional: ${14|true,false|},",
+ "\t\t\t\t\tslashType: ApplicationCommandOptionType.${15|Subcommand,SubcommandGroup,String,Integer,Boolean,User,Channel,Role,Mentionable,Number,Attachment|}",
+ "\t\t\t\t},",
+ "\t\t\t\t{",
+ "\t\t\t\t\tid: '${7:arg}',",
+ "\t\t\t\t\tdescription: '${16:Argument description}.',",
+ "\t\t\t\t\ttype: '${17:argType}',",
+ "\t\t\t\t\tprompt: '${18:What is arg}?',",
+ "\t\t\t\t\tretry: '{error} ${19:Invalid arg}.',",
+ "\t\t\t\t\toptional: ${20|true,false|},",
+ "\t\t\t\t\tslashType: ApplicationCommandOptionType.${21|Subcommand,SubcommandGroup,String,Integer,Boolean,User,Channel,Role,Mentionable,Number,Attachment|}",
+ "\t\t\t\t}",
+ "\t\t\t],",
+ "\t\t\tslash: ${22|true,false|},",
+ "\t\t\tchannel: '${23|guild,dm|}',",
+ "\t\t\tclientPermissions: (m) => clientSendAndPermCheck(m),",
+ "\t\t\tuserPermissions: []",
+ "\t\t});",
+ "\t}",
+ "",
+ "\tpublic override async exec(",
+ "\t\tmessage: CommandMessage | SlashMessage,",
+ "\t\targs: { ${6:arg}: ArgType<'${10:argType}'>; ${7:arg}: OptArgType<'${16:argType}'> }",
+ "\t) {",
+ "\t\t$0",
+ "\t}",
+ "}",
+ ]
}
}
diff --git a/assets/Faithful.ttf b/assets/Faithful.ttf
new file mode 100644
index 0000000..aaadb94
--- /dev/null
+++ b/assets/Faithful.ttf
Binary files differ
diff --git a/assets/minecraft_font.ttf b/assets/minecraft_font.ttf
new file mode 100644
index 0000000..61b4610
--- /dev/null
+++ b/assets/minecraft_font.ttf
Binary files differ
diff --git a/package.json b/package.json
index 97e35ef..f074fd9 100644
---