diff --git a/src/commands/settings/_meta.ts b/src/commands/settings/_meta.ts
new file mode 100644
index 0000000..63d726e
--- /dev/null
+++ b/src/commands/settings/_meta.ts
@@ -0,0 +1,4 @@
+const name = "settings";
+const description = "Change bot settings";
+
+export { name, description };
\ No newline at end of file
diff --git a/src/commands/settings/all.ts b/src/commands/settings/all.ts
new file mode 100644
index 0000000..0f17545
--- /dev/null
+++ b/src/commands/settings/all.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("all")
+    .setDescription("Shows a full UI of all settings")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/all]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/automation.ts b/src/commands/settings/automation.ts
new file mode 100644
index 0000000..3874f7f
--- /dev/null
+++ b/src/commands/settings/automation.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("automation")
+    .setDescription("Shows all automation options")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/automation]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/log/_meta.ts b/src/commands/settings/log/_meta.ts
new file mode 100644
index 0000000..15a6fd4
--- /dev/null
+++ b/src/commands/settings/log/_meta.ts
@@ -0,0 +1,4 @@
+const name = "log";
+const description = "Settings for logging";
+
+export { name, description };
\ No newline at end of file
diff --git a/src/commands/settings/log/channel.ts b/src/commands/settings/log/channel.ts
new file mode 100644
index 0000000..af570a7
--- /dev/null
+++ b/src/commands/settings/log/channel.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("channel")
+    .setDescription("Sets the log channel")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/log/channel]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/log/events.ts b/src/commands/settings/log/events.ts
new file mode 100644
index 0000000..4f4c9bd
--- /dev/null
+++ b/src/commands/settings/log/events.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("events")
+    .setDescription("Sets what events should be logged")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/log/events]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/log/ignore.ts b/src/commands/settings/log/ignore.ts
new file mode 100644
index 0000000..eea7048
--- /dev/null
+++ b/src/commands/settings/log/ignore.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("ignore")
+    .setDescription("Sets which users, channels and roles should be ignored")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/log/ignore]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/log/ignored.ts b/src/commands/settings/log/ignored.ts
new file mode 100644
index 0000000..df5f7b6
--- /dev/null
+++ b/src/commands/settings/log/ignored.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("ignored")
+    .setDescription("Gets the ignored users, channels and roles")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/log/ignored]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/mod/_meta.ts b/src/commands/settings/mod/_meta.ts
new file mode 100644
index 0000000..713bb48
--- /dev/null
+++ b/src/commands/settings/mod/_meta.ts
@@ -0,0 +1,4 @@
+const name = "announcements";
+const description = "Settings for mod messages";
+
+export { name, description };
\ No newline at end of file
diff --git a/src/commands/settings/mod/channel.ts b/src/commands/settings/mod/channel.ts
new file mode 100644
index 0000000..16230ba
--- /dev/null
+++ b/src/commands/settings/mod/channel.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("channel")
+    .setDescription("Sets the channel for staff messages to go to")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/mod/channel]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/mod/events.ts b/src/commands/settings/mod/events.ts
new file mode 100644
index 0000000..3dc5e99
--- /dev/null
+++ b/src/commands/settings/mod/events.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("events")
+    .setDescription("Sets which events mods should be notified about")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/mod/events]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/tickets.ts b/src/commands/settings/tickets.ts
new file mode 100644
index 0000000..33e1586
--- /dev/null
+++ b/src/commands/settings/tickets.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("tickets")
+    .setDescription("Shows settings for tickets")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/tickets]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/verify/_meta.ts b/src/commands/settings/verify/_meta.ts
new file mode 100644
index 0000000..999c50b
--- /dev/null
+++ b/src/commands/settings/verify/_meta.ts
@@ -0,0 +1,4 @@
+const name = "verify";
+const description = "Settings for verification";
+
+export { name, description };
\ No newline at end of file
diff --git a/src/commands/settings/verify/channel.ts b/src/commands/settings/verify/channel.ts
new file mode 100644
index 0000000..ad881c2
--- /dev/null
+++ b/src/commands/settings/verify/channel.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("channel")
+    .setDescription("Sets the verify channel")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/verify/channel]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/settings/verify/role.ts b/src/commands/settings/verify/role.ts
new file mode 100644
index 0000000..3082c71
--- /dev/null
+++ b/src/commands/settings/verify/role.ts
@@ -0,0 +1,20 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = (builder: SlashCommandSubcommandBuilder) =>
+    builder
+    .setName("role")
+    .setDescription("Sets the role given after verifying")
+
+const callback = (interaction: CommandInteraction) => {
+    interaction.reply("Command incomplete [settings/verify/role]");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+    return true;
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
