Discord.JS: Usuarios의 데이터
데이터스 드 유수아리오스
En este post hablaremos de cómo manejar los datos de usuarios que la API de Discord nos da.
¿Qué y cuáles son los datos de usuarios?
Estos son las cosas como el avatar, el 닉네임, discriminante, ID 등
Obtener estos datos son útiles para banear miembros de un servidor, determinar el dueño del bot (tú), o simplemente responder un mensaje con el nombre del usuario.
En el siguiente ejemplo práctico crearemos un comando que le muestre la siguiente información de su perfil a través de un :
닉네임 dentro del servidor.
Obteniendo los datos
Para que nuestro bot pueda enviar toda la información, tenemos que pasarle el usuario al que va a recorrer los datos. En este caso, estaremos trabajando con los datos del usuario que envía el comando (al final del post haremos uno más completo según a quién se @mencione).
Para hacer esto, crearemos una variable para acortarnos un poco la escritura:
const user = message.author;
const member = message.member;
¿Por qué hay dos 변수?
Pues, puede ser un poco complicado entenderlo de primeras, pero explicándolo resumidamente es que
member
Solo sirve para los datos del usuario dentro del servidor, mientras que user
es para datos del usuario en todo discord.Creando el embed
Vamos a guardar nuestro embed en una constante para que sea fácil de entender cuando leamos el código:
const embed = new Discord.MessageEmbed()
// llenando los datos
레난도 로스 다토스
Ahora que podemos enviar los datos más fácil, explicaré cada línea con un comentario dentro del siguiente código:
// El username del miembro como "autor" del embed más el avatar
.setAuthor('Username: ' + user.tag, user.avatarURL())
// Mostraremos el avatar del usuario en el thumbnail del embed
.setThumbnail(user.avatarURL())
// La fecha de creación de la cuenta como toLocaleDateString()
.addField('Creación de la cuenta', user.createdAt.toLocaleDateString(), true)
// El estado de actividad del usuario
.addField('Estado', user.presence.status, true)
// Si el usuario NO tiene un nickname dentro del servidor, pone "No tiene"
.addField('Apodo', member.nickname ? member.nickname : 'No tiene', true)
// Hacemos un mapeo de los roles del usuario y los separamos por nombres
.addField('Roles',
message.member.roles.cache.map(rol => '`' + rol.name + '`').join(', ')
)
.setFooter('ID: ' + user.id)
포함된 Enviar
Y después de todo esto, enviamos el embed al canal con:
// Todo el código de arriba ^
message.channel.send({embed});
코디고 결승전
const user = message.author;
const member = message.member;
const embed = new Discord.MessageEmbed()
.setAuthor('Username: ' + user.tag, user.avatarURL())
.setThumbnail(user.avatarURL())
.addField('Creación de la cuenta', user.createdAt.toLocaleDateString(), true)
.addField('Estado', user.presence.status, true)
.addField('Apodo', member.nickname ? member.nickname : 'No tiene', true)
.addField('Roles',
message.member.roles.cache.map(rol => '`' + rol.name + '`').join(', ')
)
.setFooter('ID: ' + user.id)
message.channel.send({embed});
결정적인
Muchas gracias por leer este post, espero que te haya sido de ayuda. Recuerda que puedes seguirnos en .
행복한 코딩!
Reference
이 문제에 관하여(Discord.JS: Usuarios의 데이터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/somosdevs/primeros-pasos-en-discord-js-datos-de-usuarios-2j3c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)