Discord user info command


SUBMITTED BY: MrAlicard

DATE: Dec. 3, 2017, 12:58 p.m.

FORMAT: Text only

SIZE: 2.8 kB

HITS: 446

  1. const { RichEmbed } = require('discord.js');
  2. const { Command } = require('discord.js-commando');
  3. const moment = require('moment');
  4. const capitalize = function (string) { // eslint-disable-line one-var
  5. return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
  6. },
  7. data = {
  8. 'status': {
  9. 'online': 'Elérhető',
  10. 'idle': 'Idle',
  11. 'dnd': 'Ne zavarj',
  12. 'invisible': 'Láthatatlan'
  13. }
  14. };
  15. module.exports = class TagInfoCommand extends Command {
  16. constructor(client) {
  17. super(client, {
  18. name: 'taginfo',
  19. aliases: ['tag', 'tinfo', 'uinfo'],
  20. group: 'altalanos',
  21. memberName: 'taginfo',
  22. description: 'Információk lekérése egy tagról.',
  23. examples: ['tinfo {tagneve}', 'tinfo MrAlicard'],
  24. guildOnly: true,
  25. throttling: {
  26. usages: 2,
  27. duration: 3
  28. },
  29. args: [
  30. {
  31. key: 'tagneve',
  32. prompt: 'Melyik felhasználóról akarsz információt?',
  33. type: 'member',
  34. label: 'a tag neve vagy ID száma'
  35. }
  36. ]
  37. });
  38. }
  39. run(msg, { tagneve }) {
  40. const uinfoEmbed = new RichEmbed();
  41. const vals = {
  42. 'member': tagneve,
  43. 'user': tagneve.user
  44. };
  45. uinfoEmbed
  46. .setAuthor(vals.user.tag)
  47. .setThumbnail(vals.user.displayAvatarURL)
  48. .setColor(vals.member.displayHexColor)
  49. .addField('Azonosító', vals.user.id, true)
  50. .addField('Név', vals.user.username, true)
  51. .addField('Becenév', vals.member.nickname ? vals.member.nickname : 'Nincs beceneve', true)
  52. .addField('Státusz', data.status[vals.user.presence.status], true)
  53. .addField(vals.user.presence.activity !== null
  54. ? capitalize(vals.user.presence.activity.type)
  55. : 'Activity', vals.user.presence.activity !== null ? vals.user.presence.activity.name : 'Semmi', true)
  56. .addField('Szín kijelzése', vals.member.displayHexColor, true)
  57. .addField('Fiók létrehozva', moment(vals.user.createdAt).format('MMMM Do YYYY'), true)
  58. .addField('Csatlakozott a szerverhez', moment(vals.member.joinedAt).format('MMMM Do YYYY'), true)
  59. .addField('Rangok', vals.member.roles.size > 1 ? vals.member.roles.map(r => r.name).slice(1) : 'Nincs', true);
  60. vals.member.roles.size >= 1 ? uinfoEmbed.setFooter(`has ${vals.member.roles.size - 1} role(s)`) : uinfoEmbed.setFooter('has 0 roles');
  61. msg.embed(uinfoEmbed);
  62. }
  63. };

comments powered by Disqus