Intenté ejecutar el siguiente código:
message.author.timeout(10 * 60 * 1000)Sin embargo, esto resultó en un error que indica que no es una función:
message.author.timeout(10 * 60 * 1000)Debería estar funcionando ya que se refiere a un miembro del gremio.
Primero, debe verificar que está utilizando la última versión de la biblioteca Discord.js, que incluye el método GuildMember#timeout() .
El GuildMember#timeout() toma dos parámetros: tiempo (en milisegundos, requerido) y motivo (opcional).
Lo que está mal con el código es que la función se aplica a un usuario de Discord , no a un miembro del gremio . Los métodos que actúan directamente con un miembro del gremio y requieren información como roles, permisos y otras cosas, se deben aplicar al miembro del gremio, un objeto que contiene tanto el usuario de Discord como los datos del gremio.
message.author es un usuario de Discord. message.member es un miembro del gremio.
Entonces el código debería ser:
message.member.timeout(10 * 60 * 1000)Puede usar GuildMember#timeout() dirigido al ejemplo de miembro:
obtener el miembro primero:
const member = message.mentions.members.first() // This is where you tagging the member you wanted to mutetambién puedes usar sus identificaciones
const member = message.guild.members.cache.get(args[0]) //This is you can use their id'sO añádelos a ambos:
const member = message.mentions.members.first() || message.guild.members.cache.get(args[0])Para devolver el comando si no se menciona ningún miembro o se proporciona una identificación
if(!member) return message.reply("Your Message") después de usar estas líneas de comando, ahora puede usar GuildMember#timeout()
member.timeout(10 * 6 * 1000) //This will be your `timeout 60 seconds` también puede usar un paquete llamado ms
const ms = require('ms') let time = args[1] member.timeout(time)código general:
const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) let time = ms(args[1]) if(!member) return message.reply("Your Message") if(!time) return message.reply("Your message") member.timeout(time) message.channel.send(member.user.username + " has been timed out") usando el ms que puede dar, como ms/s/m/h/d
ms = 1000 = 1s s = 1s m = 1m h = 1h d = 1d