Start making a bot with a few example commands
diff --git a/src/commands/example.ts b/src/commands/example.ts
new file mode 100644
index 0000000..73e967e
--- /dev/null
+++ b/src/commands/example.ts
@@ -0,0 +1,19 @@
+import { CommandInteraction } from "discord.js";
+import { SlashCommandBuilder } from "@discordjs/builders";
+import { WrappedCheck } from "jshaiku";
+
+const command = new SlashCommandBuilder()
+ .setName("examplecommand")
+ .setDescription("An example command")
+
+const callback = (interaction: CommandInteraction) => {
+ interaction.reply("Hello, world!");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+ return interaction.user.id !== "123456789";
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/examplegroup/example.ts b/src/commands/examplegroup/example.ts
new file mode 100644
index 0000000..cc1d031
--- /dev/null
+++ b/src/commands/examplegroup/example.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("examplesubcommand")
+ .setDescription("An example subcommand")
+
+const callback = (interaction: CommandInteraction) => {
+ interaction.reply("Hello, world!");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+ return interaction.user.id !== "123456789";
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/commands/examplegroup/groupscanhavegroups/_meta.ts b/src/commands/examplegroup/groupscanhavegroups/_meta.ts
new file mode 100644
index 0000000..0b07053
--- /dev/null
+++ b/src/commands/examplegroup/groupscanhavegroups/_meta.ts
@@ -0,0 +1,4 @@
+const name = "examplesubgroup";
+const description = "This is an example subgroup with a meta file";
+
+export { name, description };
\ No newline at end of file
diff --git a/src/commands/examplegroup/groupscanhavegroups/example.ts b/src/commands/examplegroup/groupscanhavegroups/example.ts
new file mode 100644
index 0000000..cc1d031
--- /dev/null
+++ b/src/commands/examplegroup/groupscanhavegroups/example.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("examplesubcommand")
+ .setDescription("An example subcommand")
+
+const callback = (interaction: CommandInteraction) => {
+ interaction.reply("Hello, world!");
+}
+
+const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+ return interaction.user.id !== "123456789";
+}
+
+export { command };
+export { callback };
+export { check };
\ No newline at end of file
diff --git a/src/config.json b/src/config.json
new file mode 100644
index 0000000..be1c089
--- /dev/null
+++ b/src/config.json
@@ -0,0 +1,11 @@
+{
+ "token": "your-token-here",
+ "developmentToken": "NzEzMzIwMzc5MzY3ODE3MjM2.XseZXw.-NeXEfWg25j2nJ5VDWMrjlxigH4",
+ "managementGuildID": "your-management-guild-id-here",
+ "developmentGuildID": "864185037078790195",
+ "enableDevelopment": true,
+ "owners": [
+ "317731855317336067",
+ "438733159748599813"
+ ]
+}
\ No newline at end of file
diff --git a/src/index.ts b/src/index.ts
new file mode 100644
index 0000000..6bc97b7
--- /dev/null
+++ b/src/index.ts
@@ -0,0 +1,11 @@
+import { HaikuClient } from 'jshaiku';
+import { Intents } from 'discord.js';
+import config from './config.json' assert {type: 'json'};
+
+const client = new HaikuClient({
+ intents: new Intents(32767).bitfield, // This is a way of specifying all intents w/o having to type them out
+}, config);
+
+await client.registerCommandsIn("./commands");
+
+await client.login();
\ No newline at end of file