2025-03-23 14:33:06 +01:00
|
|
|
/*
|
|
|
|
|
Copyright 2025 Sakuragasaki46
|
2025-01-17 10:28:24 +01:00
|
|
|
|
2025-03-23 14:33:06 +01:00
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
|
limitations under the License.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
import "./initConfig";
|
2025-01-17 10:28:24 +01:00
|
|
|
|
|
|
|
|
import commandList from "./commandList";
|
|
|
|
|
import { REST, Routes } from 'discord.js';
|
|
|
|
|
|
|
|
|
|
function registerGlobal(rest: REST, clientId: string, commands: any){
|
|
|
|
|
rest.put(Routes.applicationCommands(clientId), { body: commands })
|
|
|
|
|
.then(() => { console.log(`Successfully registered ${commands.length} / commands globally. Please wait until 2 hours before they are updated`); })
|
|
|
|
|
.catch(console.error);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function registerLocal(rest: REST, clientId: string, commands: any, guilds: string[]){
|
|
|
|
|
for (const guildId of guilds) {
|
|
|
|
|
rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands })
|
|
|
|
|
.then(() => { console.log(`Successfully registered ${commands.length} / commands in guild ${guildId}`); })
|
|
|
|
|
.catch(console.error);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const clientId = process.env.CLIENT_ID;
|
|
|
|
|
|
|
|
|
|
const commands = [];
|
|
|
|
|
for (let command of commandList) {
|
|
|
|
|
commands.push(command.data.toJSON());
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-17 10:55:17 +01:00
|
|
|
if (process.env.GUILD_IDS === void 0){
|
|
|
|
|
console.warn('GUILD_IDS not set, registering commands globally');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const guilds = (process.env.GUILD_IDS ?? '').trim().split(/[\s,;]+/);
|
2025-01-17 10:28:24 +01:00
|
|
|
|
|
|
|
|
const rest = new REST({ version: '10' }).setToken(process.env.TOKEN);
|
|
|
|
|
|
|
|
|
|
if (guilds.length === 0){
|
|
|
|
|
registerGlobal(rest, clientId, commands);
|
|
|
|
|
} else {
|
|
|
|
|
registerLocal(rest, clientId, commands, guilds);
|
|
|
|
|
}
|