53 lines
1.5 KiB
JavaScript
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);
|
|
}
|
|
})();
|