const { RichEmbed } = require('discord.js'); const { Command } = require('discord.js-commando'); const moment = require('moment'); const capitalize = function (string) { // eslint-disable-line one-var return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase(); }, data = { 'status': { 'online': 'Elérhető', 'idle': 'Idle', 'dnd': 'Ne zavarj', 'invisible': 'Láthatatlan' } }; module.exports = class TagInfoCommand extends Command { constructor(client) { super(client, { name: 'taginfo', aliases: ['tag', 'tinfo', 'uinfo'], group: 'altalanos', memberName: 'taginfo', description: 'Információk lekérése egy tagról.', examples: ['tinfo {tagneve}', 'tinfo MrAlicard'], guildOnly: true, throttling: { usages: 2, duration: 3 }, args: [ { key: 'tagneve', prompt: 'Melyik felhasználóról akarsz információt?', type: 'member', label: 'a tag neve vagy ID száma' } ] }); } run(msg, { tagneve }) { const uinfoEmbed = new RichEmbed(); const vals = { 'member': tagneve, 'user': tagneve.user }; uinfoEmbed .setAuthor(vals.user.tag) .setThumbnail(vals.user.displayAvatarURL) .setColor(vals.member.displayHexColor) .addField('Azonosító', vals.user.id, true) .addField('Név', vals.user.username, true) .addField('Becenév', vals.member.nickname ? vals.member.nickname : 'Nincs beceneve', true) .addField('Státusz', data.status[vals.user.presence.status], true) .addField(vals.user.presence.activity !== null ? capitalize(vals.user.presence.activity.type) : 'Activity', vals.user.presence.activity !== null ? vals.user.presence.activity.name : 'Semmi', true) .addField('Szín kijelzése', vals.member.displayHexColor, true) .addField('Fiók létrehozva', moment(vals.user.createdAt).format('MMMM Do YYYY'), true) .addField('Csatlakozott a szerverhez', moment(vals.member.joinedAt).format('MMMM Do YYYY'), true) .addField('Rangok', vals.member.roles.size > 1 ? vals.member.roles.map(r => r.name).slice(1) : 'Nincs', true); vals.member.roles.size >= 1 ? uinfoEmbed.setFooter(`has ${vals.member.roles.size - 1} role(s)`) : uinfoEmbed.setFooter('has 0 roles'); msg.embed(uinfoEmbed); } };