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