1+ const { RichEmbed } = require ( "discord.js" ) ;
2+ const { stripIndents } = require ( "common-tags" ) ;
3+ const { getMember, formatDate } = require ( "../../functions.js" ) ;
4+
5+ module . exports = {
6+ name : "whois" ,
7+ aliases : [ "who" , "user" , "info" ] ,
8+ description : "Returns user information" ,
9+ usage : "[username | id | mention]" ,
10+ run : ( client , message , args ) => {
11+ const member = getMember ( message , args . join ( " " ) ) ;
12+
13+ // Member variables
14+ const joined = formatDate ( member . joinedAt ) ;
15+ const roles = member . roles
16+ . filter ( r => r . id !== message . guild . id )
17+ . map ( r => r ) . join ( ", " ) || 'none' ;
18+
19+ // User variables
20+ const created = formatDate ( member . user . createdAt ) ;
21+
22+ const embed = new RichEmbed ( )
23+ . setFooter ( member . displayName , member . user . displayAvatarURL )
24+ . setThumbnail ( member . user . displayAvatarURL )
25+ . setColor ( member . displayHexColor === '#000000' ? '#ffffff' : member . displayHexColor )
26+
27+ . addField ( 'Member information:' , stripIndents `**> Display name:** ${ member . displayName }
28+ **> Joined at:** ${ joined }
29+ **> Roles:** ${ roles } ` , true )
30+
31+ . addField ( 'User information:' , stripIndents `**> ID:** ${ member . user . id }
32+ **> Username**: ${ member . user . username }
33+ **> Tag**: ${ member . user . tag }
34+ **> Created at**: ${ created } ` , true )
35+
36+ . setTimestamp ( )
37+
38+ if ( member . user . presence . game )
39+ embed . addField ( 'Currently playing' , stripIndents `**> Name:** ${ member . user . presence . game . name } ` ) ;
40+
41+ message . channel . send ( embed ) ;
42+ }
43+ }
0 commit comments