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