38516-vm/deploy.js
2026-02-17 14:31:54 +00:00

53 lines
1.5 KiB
JavaScript

const { REST, Routes, SlashCommandBuilder } = require('discord.js');
const fs = require('fs');
const path = require('path');
// Load config
let TOKEN, CLIENT_ID;
try {
const configPath = path.join(__dirname, 'config.json');
if (fs.existsSync(configPath)) {
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
TOKEN = config.DISCORD_TOKEN;
CLIENT_ID = config.DISCORD_CLIENT_ID;
} else {
TOKEN = process.env.DISCORD_TOKEN;
CLIENT_ID = process.env.DISCORD_CLIENT_ID;
}
} catch (err) {
console.error('ERROR: config.json is invalid or error reading it.');
process.exit(1);
}
if (!TOKEN || !CLIENT_ID) {
console.error('ERROR: DISCORD_TOKEN or DISCORD_CLIENT_ID is missing in config.json.');
process.exit(1);
}
const commands = [
new SlashCommandBuilder()
.setName('join')
.setDescription('Masuk ke Voice Channel kamu'),
new SlashCommandBuilder()
.setName('sahur')
.setDescription('Masuk ke Voice Channel dan putar alarm sahur'),
].map(command => command.toJSON());
const rest = new REST({ version: '10' }).setToken(TOKEN);
(async () => {
try {
console.log(`Started refreshing ${commands.length} application (/) commands.`);
const data = await rest.put(
Routes.applicationCommands(CLIENT_ID),
{ body: commands },
);
console.log(`Successfully reloaded ${data.length} application (/) commands.`);
} catch (error) {
console.error(error);
process.exit(1);
}
})();