1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
const fs = require('fs')
const path = require("path");
let settings = require("../../src/settings")
let {limit_exp} = require("../../src/util")
const { EmbedBuilder,ActionRowBuilder,ButtonBuilder,ButtonStyle } = require("discord.js");
const {getLastCommit} = require("git-last-commit")
const { execSync } = require('child_process');
var os = require('os');
let config_loc = __filename+".json"
let config = JSON.parse(fs.readFileSync(config_loc))
module.exports = {
name : "status",
command: ["status","server","uptime","vote","twitter","𝕏"],
//
mod_only: false,
config:config,
config_loc:config_loc,
async main (client,Discord,message,args){
this.exec(client,message)
},
async s_main (client,Discord,interaction){
this.exec(client,interaction)
},
async exec(client,message){
getLastCommit(async (err,commit)=>{
let changed = execSync('git --no-pager diff --minimal --name-only').toString().split('\n').filter((s) => s!='')
let changed_d = execSync('git diff --shortstat --minimal').toString()
let seconds = Math.floor(message.client.uptime / 1000);
let minutes = Math.floor(seconds / 60);
let hours = Math.floor(minutes / 60);
let days = Math.floor(hours / 24);
let uptime = "online for: ";
if(days>0)uptime+=days+" days"
else if(hours>0)uptime+=hours+"h"
else if(minutes>0)uptime+=minutes+"m"
else uptime+=seconds+"s"
uptime+=" | "+limit_exp((message.client.uptime*1000).toExponential(),2)+"μs"
const vote = new ButtonBuilder()
.setLabel('Vote')
.setStyle(ButtonStyle.Link)
.setURL('https://discords.com/servers/486957006628847626/upvote')
//
/*const twitter = new ButtonBuilder() //0% chance i will call this 𝕏
.setLabel('Twitter')
.setStyle(ButtonStyle.Link)
.setURL('https://twitter.com/sns_chan')*/
const discord = new ButtonBuilder()
.setLabel('Discord')
.setStyle(ButtonStyle.Link)
.setURL('https://discord.gg/supernoobs')
const github = new ButtonBuilder()
.setLabel('Github')
.setStyle(ButtonStyle.Link)
.setURL('https://github.com/ameliasquires/sns-chan')
const row = new ActionRowBuilder()
.addComponents(vote,discord,github);
let conv = 1024 * 1024 * 1024
let sys = "system: cpus: "+os.cpus().length+", ram (free): "+Math.floor(os.freemem()/conv)+"/"+Math.floor(os.totalmem()/conv)+"gb\nkernel: "+os.release()
let emoteembed = new EmbedBuilder()
.setThumbnail(client.user.displayAvatarURL())
.setTitle("Server info")
.setDescription(uptime+"\n"+sys)
.setColor(settings.defaultColor)
.setFooter({text:"running "+commit.shortHash+" ("+commit.branch+") + (live)" + (changed.length>0?changed_d:"")})
message.reply({embeds:[emoteembed],components:[row]})
})
}
}
|