/[sudobot]/trunk/src/commands/settings/SystemCommand.ts
ViewVC logotype

Diff of /trunk/src/commands/settings/SystemCommand.ts

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 54 by rakin, Mon Jul 29 17:28:24 2024 UTC revision 364 by rakin, Mon Jul 29 17:29:48 2024 UTC
# Line 1  Line 1 
1  import { CommandInteraction, GuildMember, Interaction, Message } from 'discord.js';  import { CommandInteraction, Message } from 'discord.js';
2  import BaseCommand from '../../utils/structures/BaseCommand';  import BaseCommand from '../../utils/structures/BaseCommand';
3  import DiscordClient from '../../client/Client';  import DiscordClient from '../../client/Client';
4  import CommandOptions from '../../types/CommandOptions';  import CommandOptions from '../../types/CommandOptions';
5  import InteractionOptions from '../../types/InteractionOptions';  import InteractionOptions from '../../types/InteractionOptions';
6  import MessageEmbed from '../../client/MessageEmbed';  import MessageEmbed from '../../client/MessageEmbed';
7  import { fetchEmoji } from '../../utils/Emoji';  import { fetchEmoji } from '../../utils/Emoji';
8    import { formatDuration, intervalToDuration } from 'date-fns';
9    
10  export default class SystemCommand extends BaseCommand {  export default class SystemCommand extends BaseCommand {
11      constructor() {      constructor() {
# Line 53  export default class SystemCommand exten Line 54  export default class SystemCommand exten
54              apiLatencyIcon = '🟡';              apiLatencyIcon = '🟡';
55          }          }
56    
57          const memoryFree = Math.round(process.memoryUsage().heapUsed / 1024 / 1024 * 100) / 100;          const memoryTotal = Math.round(process.memoryUsage().heapTotal / 1024 / 1024);
58            const memoryUsed = Math.round(process.memoryUsage().heapUsed / 1024 / 1024);
59    
60          const msgoptions: any = {          const msgoptions: any = {
61              embeds: [              embeds: [
# Line 65  export default class SystemCommand exten Line 67  export default class SystemCommand exten
67                  .setDescription((latencyIcon !== '🔴' ? (await fetchEmoji('check'))?.toString() + ' All systems operational' : ':x: Some systems are down/slow'))                  .setDescription((latencyIcon !== '🔴' ? (await fetchEmoji('check'))?.toString() + ' All systems operational' : ':x: Some systems are down/slow'))
68                  .addFields([                  .addFields([
69                      {                      {
70                          name: 'Type',                          name: 'Command Type',
71                          value: `${msg instanceof Message ? 'Legacy (Message-based)' : 'Slash Command'}`                          value: `${!options.isInteraction ? 'Legacy (Message-based)' : 'Slash Command'}`
72                        },
73                        {
74                            name: 'Uptime',
75                            value: `${formatDuration(intervalToDuration({
76                                start: 0,
77                                end: process.uptime() * 1000
78                            }))}`
79                      },                      },
80                      {                      {
81                          name: 'Latency',                          name: 'Latency',
# Line 77  export default class SystemCommand exten Line 86  export default class SystemCommand exten
86                          value: `${apiLatencyIcon} ${apiLatency}ms`                          value: `${apiLatencyIcon} ${apiLatency}ms`
87                      },                      },
88                      {                      {
89                          name: 'Available Memory',                          name: 'Memory Usage',
90                          value: `${memoryFree}MB / 1.0GB`                          value: `${memoryUsed} MB / ${memoryTotal} MB`
91                      },                      },
92                      {                      {
93                          name: 'System Platform',                          name: 'System Platform',

Legend:
Removed from v.54  
changed lines
  Added in v.364

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26