primer problema: todas las incrustaciones en mi código dejaron de funcionar; no importa qué comando intente ejecutar si tiene una inserción, aparece el error: DiscordAPIError: no se puede enviar un mensaje vacío
segundo problema: actualmente estoy programando un comando de silencio con una base de datos mongoDB, pone todo lo que necesito en la base de datos; sin embargo, si trato de silenciar a alguien, termina silenciando solo por 1 segundo de forma predeterminada, básicamente ignorando por completo el segundo argumento. Esto es lo que quiero que haga el comando: cuando silencia a alguien, debe proporcionar la identificación del usuario y una hora (funciona en ms) + razón, luego lo coloca en la base de datos. aquí está el código: [PD: no recibo un mensaje de error, simplemente no funciona correctamente como yo quiero]
const mongo = require('../mongo.js') const muteSchema = require('../schemas/mute-schema.js') const Discord = require('discord.js') const ms = require ("ms") module.exports = { commands: 'mute', minArgs: 2, expectedArgs: "<Target user's @> <time> <reason>", requiredRoles: ['Staff'], callback: async (message, arguments) => { const target = message.mentions.users.first() || message.guild.members.cache.get(arguments[0]) if (!target) { message.channel.send('Please specify someone to mute.') return } const { guild, channel } = message arguments.shift() const mutedRole = message.guild.roles.cache.find(role => role.name === 'muted'); const guildId = message.guild.id const userId = target.id const reason = arguments.join(' ') const user = target const arg2=arguments[2] const mute = { author: message.member.user.tag, timestamp: new Date().getTime(), reason, } await mongo().then(async (mongoose) => { try { await muteSchema.findOneAndUpdate( { guildId, userId, }, { guildId, userId, $push: { mutes: mute, }, }, { upsert: true, } ) } finally { mongoose.connection.close() } }) message.delete() user.roles.add(mutedRole) setTimeout(function() { user.roles.remove(mutedRole) }, ms(`${arg2}`)); try{ message.channel.send(`works`) } catch(error){ const embed3 = new Discord.MessageEmbed() .setDescription(`✅ I Couldn't DM them but **${target} has been muted || ${reason}**`) .setColor('#004d00') message.channel.send({ embeds: [embed3] }); } }, }djs v13 tiene una nueva actualización en la que debe enviar incrustaciones como esta:
const exampleEmbed = new Discord.MessageEmbed() .setTitle('example') .setDescription('example') .setColor('RANDOM') message.channel.send({embed: [exampleEmbed]});