eco-discord-bot/src/commands/syncMessages.ts

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)
}
},
};