33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { CacheType, ChatInputCommandInteraction, Message, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js';
|
|
import ConfigManager from '../controller/ConfigManager';
|
|
import UserManager from '../controller/UserManager';
|
|
|
|
|
|
// const adminPermissions = new PermissionsBitField('Administrator');
|
|
|
|
export default {
|
|
data: new SlashCommandBuilder()
|
|
.setName('sync_users')
|
|
.setDescription('Sync users')
|
|
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator),
|
|
async execute(interaction: ChatInputCommandInteraction<CacheType>, config: ConfigManager) {
|
|
const userManager = new UserManager(config)
|
|
|
|
await interaction.deferReply({ ephemeral: true })
|
|
|
|
try {
|
|
await interaction.followUp(`Начало синхронизации`);
|
|
const sync = await userManager.sync()
|
|
if (sync) {
|
|
await interaction.editReply("Успешно")
|
|
} else {
|
|
await interaction.editReply("Ошибка синхронизации")
|
|
}
|
|
return
|
|
} catch (error) {
|
|
await interaction.editReply("Ошибка синхронизации")
|
|
console.log(error)
|
|
}
|
|
},
|
|
};
|