mirror of
https://github.com/warengroup/eximiabots-radiox.git
synced 2026-09-02 10:06:39 +00:00
Typescript rework continue
This commit is contained in:
+44
-76
@@ -1,88 +1,56 @@
|
||||
import { Snowflake } from "discord.js";
|
||||
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||
const { REST } = require('@discordjs/rest');
|
||||
const { Routes } = require('discord-api-types/v9');
|
||||
const fs = require('fs');
|
||||
const path = require ('path');
|
||||
import bug from "./commands/bug";
|
||||
import help from "./commands/help";
|
||||
import invite from "./commands/invite";
|
||||
import list from "./commands/list";
|
||||
import maintenance from "./commands/maintenance";
|
||||
import next from "./commands/next";
|
||||
import nowplaying from "./commands/nowplaying";
|
||||
import play from "./commands/play";
|
||||
import prev from "./commands/prev";
|
||||
import statistics from "./commands/statistics";
|
||||
import status from "./commands/status";
|
||||
import stop from "./commands/stop";
|
||||
|
||||
export default {
|
||||
async execute(client: any) {
|
||||
const commands : any = [ bug, help, invite, list, maintenance, next, nowplaying, play, prev, statistics, status, stop ];
|
||||
|
||||
const commands : any = [];
|
||||
const commandFiles = fs.readdirSync(path.join("./src/client/commands")).filter((f: string) => f.endsWith(".ts"));
|
||||
|
||||
for (const file of commandFiles) {
|
||||
const command = require(`./commands/${file}`);
|
||||
for(const command of commands){
|
||||
client.commands.set(command.name, command);
|
||||
|
||||
command.data = new SlashCommandBuilder()
|
||||
.setName(command.name)
|
||||
.setDescription(command.description);
|
||||
|
||||
command.data = command.data.toJSON();
|
||||
if(command.options) {
|
||||
command.options.forEach(function(option: { type: string | number; }) {
|
||||
if(option.type == "STRING") option.type = 3;
|
||||
if(option.type == "NUMBER") option.type = 10;
|
||||
command.data.options.push(option);
|
||||
});
|
||||
}
|
||||
|
||||
commands.push(command.data);
|
||||
}
|
||||
|
||||
console.log(commands);
|
||||
/*
|
||||
const rest = new REST({ version: '9' }).setToken(client.config.token);
|
||||
|
||||
(async () => {
|
||||
try {
|
||||
client.funcs.logger('Slash Commands', 'Started refreshing application (/) commands.');
|
||||
|
||||
if(client.config.devMode){
|
||||
await rest.put(
|
||||
Routes.applicationCommands(client.user.id),
|
||||
{ body: [] },
|
||||
);
|
||||
|
||||
let guilds = await client.guilds.fetch();
|
||||
guilds.forEach(async (guild: { id: string; name: string; }) => {
|
||||
try {
|
||||
await rest.put(
|
||||
Routes.applicationGuildCommands(client.user.id, guild.id),
|
||||
{ body: commands }
|
||||
);
|
||||
client.funcs.logger('Slash Commands', 'Guild Applications – Successful' + "\n" + guild.id + " / " + guild.name);
|
||||
} catch (DiscordAPIError: any) {
|
||||
client.funcs.logger('Slash Commands', 'Guild Applications – Failed' + "\n" + guild.id + " / " + guild.name);
|
||||
if(DiscordAPIError.name != "DiscordAPIError[50001]") console.error(DiscordAPIError.message + "\n\n");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
await rest.put(
|
||||
Routes.applicationCommands(client.user.id),
|
||||
{ body: commands }
|
||||
);
|
||||
|
||||
let guilds = await client.guilds.fetch();
|
||||
guilds.forEach(async (guild: { id: Snowflake; }) => {
|
||||
try {
|
||||
await rest.put(
|
||||
Routes.applicationGuildCommands(client.user.id, guild.id),
|
||||
{ body: [] }
|
||||
);
|
||||
} catch (DiscordAPIError) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
client.funcs.logger('Slash Commands', 'Successfully reloaded application (/) commands.' + "\n");
|
||||
} catch (error) {
|
||||
client.funcs.logger('Slash Commands', 'Reloading application (/) commands failed.' + "\n");
|
||||
console.error(error);
|
||||
client.funcs.logger('Application Commands', 'Started refreshing application (/) commands.');
|
||||
if(client.config.devMode){
|
||||
client.application.commands.set([]);
|
||||
for(const command of commands){
|
||||
let guilds = await client.guilds.fetch();
|
||||
guilds.forEach(async (guild: { id: Snowflake; name: string; }) => {
|
||||
client.application.commands.create({
|
||||
name: command.name,
|
||||
description: command.description,
|
||||
options: command.options || []
|
||||
}, guild.id);
|
||||
client.funcs.logger('Application Commands', 'Guild: ' + guild.id + " (" + guild.name + ") \n" + 'Command: ' + command.name);
|
||||
});
|
||||
}
|
||||
})();
|
||||
*/
|
||||
} else {
|
||||
for(const command of commands){
|
||||
client.application.commands.create({
|
||||
name: command.name,
|
||||
description: command.description,
|
||||
options: command.options || []
|
||||
});
|
||||
|
||||
client.funcs.logger('Application Commands', 'Command: ' + command.name);
|
||||
}
|
||||
|
||||
let guilds = await client.guilds.fetch();
|
||||
guilds.forEach(async (guild: { id: Snowflake; }) => {
|
||||
client.application.commands.set([], guild.id);
|
||||
});
|
||||
}
|
||||
client.funcs.logger('Application Commands', 'Successfully reloaded application (/) commands.' + "\n");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user