From 88ddedef97db0e9f1cf1c02f223e483fa3c7a33d Mon Sep 17 00:00:00 2001 From: kdh8219 <65698239+kdh8219@users.noreply.github.com> Date: Wed, 26 Apr 2023 19:39:30 +0900 Subject: [PATCH] migration deploy from js to ts --- src/deploy.js | 32 -------------------------------- src/deploy.ts | 32 ++++++++++++++++++++++++++++++++ src/functions.ts | 12 +++++++++++- src/main.ts | 13 ++----------- 4 files changed, 45 insertions(+), 44 deletions(-) delete mode 100755 src/deploy.js create mode 100755 src/deploy.ts diff --git a/src/deploy.js b/src/deploy.js deleted file mode 100755 index a206480..0000000 --- a/src/deploy.js +++ /dev/null @@ -1,32 +0,0 @@ -require("dotenv").config(); - -const { REST, Routes } = require("discord.js"); -const fs = require("node:fs"); - -const commands = []; -// Grab all the command files from the commands directory you created earlier -const commandFiles = fs.readdirSync("./commands").filter((file) => file.endsWith(".js")); - -// Grab the SlashCommandBuilder#toJSON() output of each command's data for deployment -for (const file of commandFiles) { - const command = require(`./commands/${file}`); - commands.push(command.data.toJSON()); -} - -// Construct and prepare an instance of the REST module -const rest = new REST({ version: "10" }).setToken(process.env.DISCORD_TOKEN); - -// and deploy your commands! -(async () => { - try { - console.log(`Started refreshing ${commands.length} application (/) commands.`); - - // The put method is used to fully refresh all commands in the guild with the current set - const data = await rest.put(Routes.applicationGuildCommands(process.env.CLIENT_ID, process.env.GUILD_ID), { body: commands }); - - console.log(`Successfully reloaded ${data.length} application (/) commands.`); - } catch (error) { - // And of course, make sure you catch and log any errors! - console.error(error); - } -})(); diff --git a/src/deploy.ts b/src/deploy.ts new file mode 100755 index 0000000..3ab2c36 --- /dev/null +++ b/src/deploy.ts @@ -0,0 +1,32 @@ +import { REST, Routes } from "discord.js"; +import { config } from "dotenv"; +config(); + +import { getCommands } from "./functions"; + +const commands = getCommands(); +// Construct and prepare an instance of the REST module +const rest = new REST({ version: "10" }).setToken( + process.env.DISCORD_TOKEN as string +); + +// and deploy your commands! +(async () => { + try { + console.log(`Started refreshing all application (/) commands.`); + + // The put method is used to fully refresh all commands in the guild with the current set + await rest.put( + Routes.applicationGuildCommands( + process.env.discord_CLIENT_ID as string, + process.env.discord_GUILD_ID as string + ), + { body: commands } + ); + + console.log(`Successfully reloaded all application (/) commands.`); + } catch (error) { + // And of course, make sure you catch and log any errors! + console.error(error); + } +})(); diff --git a/src/functions.ts b/src/functions.ts index 53ca914..f78512a 100644 --- a/src/functions.ts +++ b/src/functions.ts @@ -1,4 +1,6 @@ -import { SlashCommandBuilder } from "discord.js"; +import { Collection, SlashCommandBuilder } from "discord.js"; + +import commands from "./command/commands.js"; export type TCommand = { data: SlashCommandBuilder; @@ -63,3 +65,11 @@ export function check_user_type_by_minecraft_uuid( } return EUserType.Unregistered; } + +export function getCommands(): Collection { + const commandColection = new Collection(); + for (const command of commands) { + commandColection.set(command.data.name, command); + } + return commandColection; +} diff --git a/src/main.ts b/src/main.ts index 51dceb3..59006f7 100755 --- a/src/main.ts +++ b/src/main.ts @@ -1,9 +1,8 @@ -import { Client, Collection, Events, GatewayIntentBits } from "discord.js"; +import { Client, Events, GatewayIntentBits } from "discord.js"; import { config } from "dotenv"; config(); -import { TCommand } from "./functions.js"; -import commands from "./command/commands.js"; +import { getCommands } from "./functions.js"; const client = new Client({ intents: [GatewayIntentBits.Guilds] }); @@ -44,11 +43,3 @@ client.on(Events.InteractionCreate, async (interaction) => { }); client.login(process.env.DISCORD_TOKEN); - -function getCommands(): Collection { - const commandColection = new Collection(); - for (const command of commands) { - commandColection.set(command.data.name, command); - } - return commandColection; -}