66 ActionRowBuilder ,
77} from "discord.js" ;
88import axios from "axios" ;
9- import { Command } from "../base/classes/command.js" ;
9+ import { Command } from "#/base/classes/command.js" ;
10+ import packageInfo from "../../package.json" with { type : "json" } ;
1011
1112interface GithubRes {
1213 login : string ,
@@ -24,6 +25,14 @@ export default new Command({
2425 "https://api.github.com/repos/teamboostify/boostify/contributors"
2526 ) ;
2627
28+ const uptime = interaction . client . uptime ;
29+ const days = Math . floor ( uptime / 86400000 ) ;
30+ const hours = Math . floor ( uptime / 3600000 ) % 24 ;
31+ const minutes = Math . floor ( uptime / 60000 ) % 60 ;
32+ const seconds = Math . floor ( uptime / 1000 ) % 60 ;
33+
34+ const uptimeString = `${ days } d ${ hours } h ${ minutes } m ${ seconds } s` ;
35+
2736 const embed = new EmbedBuilder ( )
2837 . setColor ( 16712630 )
2938 . setThumbnail ( interaction . client . user . displayAvatarURL ( { size : 2048 } ) )
@@ -35,43 +44,94 @@ export default new Command({
3544 {
3645 name : "Developers" ,
3746 value : info . data
38- . map ( ( user ) => `[${ user . login } ](${ user . html_url } )` )
47+ . map ( ( user ) => `[@ ${ user . login } ](${ user . html_url } )` )
3948 . join ( "\n" ) ,
4049 inline : true ,
4150 } ,
51+ {
52+ name : "Version" ,
53+ value : `\`v${ packageInfo . version } \`` ,
54+ inline : true ,
55+ } ,
56+ {
57+ name : "Uptime" ,
58+ value : uptimeString ,
59+ inline : true ,
60+ } ,
4261 {
4362 name : "How was I made?" ,
4463 value : "I was built using TypeScript and discord.js." ,
4564 inline : false ,
65+ } ,
66+ {
67+ name : "Statistics" ,
68+ value : `**Servers:** ${ interaction . client . guilds . cache . size } \n` +
69+ `**Users:** ${ interaction . client . users . cache . size } \n` ,
70+ inline : true ,
71+ } ,
72+ {
73+ name : "Ping" ,
74+ value : `${ Math . round ( interaction . client . ws . ping ) } ms` ,
75+ inline : true ,
76+ } ,
77+ {
78+ name : "Created On" ,
79+ value : `<t:${ Math . floor ( interaction . client . user . createdTimestamp / 1000 ) } :D>` ,
80+ inline : true ,
81+ } ,
82+ {
83+ name : "Node.js Version" ,
84+ value : process . version ,
85+ inline : true ,
86+ } ,
87+ {
88+ name : "discord.js Version" ,
89+ value : packageInfo . dependencies [ "discord.js" ] || "Unknown" ,
90+ inline : true ,
4691 }
4792 )
93+ . setFooter ( {
94+ text : `Requested by ${ interaction . user . tag } ` ,
95+ iconURL : interaction . user . displayAvatarURL ( )
96+ } )
4897 . setTimestamp ( ) ;
4998
5099 const website = new ButtonBuilder ( )
51100 . setStyle ( ButtonStyle . Link )
52- . setLabel ( "Our Website" )
101+ . setLabel ( "Website" )
53102 . setURL ( "https://boostify.breaddevv.cc/" ) ;
54103
55104 const terms = new ButtonBuilder ( )
56105 . setStyle ( ButtonStyle . Link )
57- . setLabel ( "Terms of Service " )
106+ . setLabel ( "Terms" )
58107 . setURL ( "https://boostify.breaddevv.cc/terms" ) ;
59108
60109 const privacy = new ButtonBuilder ( )
61110 . setStyle ( ButtonStyle . Link )
62- . setLabel ( "Privacy Policy " )
111+ . setLabel ( "Privacy" )
63112 . setURL ( "https://boostify.breaddevv.cc/privacy" ) ;
64113
114+ const support = new ButtonBuilder ( )
115+ . setStyle ( ButtonStyle . Link )
116+ . setLabel ( "Support Server" )
117+ . setURL ( "https://boostify.breaddevv.cc/discord" ) ;
118+
119+ const repo = new ButtonBuilder ( )
120+ . setStyle ( ButtonStyle . Link )
121+ . setLabel ( "Our Repository" )
122+ . setURL ( "https://boostify.breaddevv.cc/github" ) ;
123+
65124 const actionBar = new ActionRowBuilder < ButtonBuilder > ( ) . setComponents (
66125 website ,
67126 terms ,
68- privacy
127+ privacy ,
128+ support ,
129+ repo
69130 ) ;
70131
71132 await interaction . editReply ( {
72133 embeds : [ embed ] ,
73134 components : [ actionBar ] ,
74135 } ) ;
75136 } ,
76- } )
77-
137+ } )
0 commit comments