mirror of https://github.com/thaldrin/thaldrin.git
fuck docker, I'm just running thal in the vm itself
This commit is contained in:
parent
3660503ecc
commit
053dcdf236
|
@ -3,7 +3,7 @@ import { readdirSync as read } from "fs";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
import { Command } from "../../utils/types";
|
import { Command } from "../../utils/types";
|
||||||
import Logger from "../../utils/logger";
|
import Logger from "../../utils/logger";
|
||||||
import { Prom } from "../../utils/prometheus";
|
// import { Prom } from "../../utils/prometheus";
|
||||||
// const server = require('../../website/server');
|
// const server = require('../../website/server');
|
||||||
|
|
||||||
export default class Thaldrin extends Client {
|
export default class Thaldrin extends Client {
|
||||||
|
@ -26,9 +26,9 @@ export default class Thaldrin extends Client {
|
||||||
|
|
||||||
this.lastEval = null;
|
this.lastEval = null;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
this.on("raw", packet => {
|
// this.on("raw", packet => {
|
||||||
Prom.events.labels(packet.t).inc()
|
// Prom.events.labels(packet.t).inc()
|
||||||
})
|
// })
|
||||||
|
|
||||||
this.login(config.token);
|
this.login(config.token);
|
||||||
this.load();
|
this.load();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import Command from '../../handler/structures/Command';
|
import Command from '../../handler/structures/Command';
|
||||||
import { Context, Usage } from '../../utils/types';
|
import { Context, Usage } from '../../utils/types';
|
||||||
import lingua from '../../utils/lingua';
|
// import lingua from '../../utils/lingua';
|
||||||
import { MessageEmbed } from 'discord.js';
|
import { MessageEmbed } from 'discord.js';
|
||||||
import CommandUsage from '../../utils/command.usage';
|
import CommandUsage from '../../utils/command.usage';
|
||||||
import { commitHash } from "../../utils/git"
|
import { commitHash } from "../../utils/git"
|
||||||
|
@ -42,7 +42,7 @@ export = class Stats extends Command {
|
||||||
|
|
||||||
let embed = new MessageEmbed().setColor(ctx.config.variables.color).setFooter(`${ctx.config.variables.name} v${ctx.config.pkg.version} [${commitHash}]`, ctx.config.variables.avatar)
|
let embed = new MessageEmbed().setColor(ctx.config.variables.color).setFooter(`${ctx.config.variables.name} v${ctx.config.pkg.version} [${commitHash}]`, ctx.config.variables.avatar)
|
||||||
.setTitle(`Statistics`)
|
.setTitle(`Statistics`)
|
||||||
.setDescription(`Visit [our System Dashboard](https://system.thaldr.in) for more in-depth stats`)
|
// .setDescription(`Visit [our System Dashboard](https://system.thaldr.in) for more in-depth stats`)
|
||||||
.addField(`Misc`, MiscValues.map((value) => `${value}`))
|
.addField(`Misc`, MiscValues.map((value) => `${value}`))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Prom } from "./prometheus";
|
// import { Prom } from "./prometheus";
|
||||||
|
|
||||||
Prom.load()
|
// Prom.load()
|
||||||
|
|
||||||
export default Prom
|
// export default Prom
|
|
@ -1,67 +1,67 @@
|
||||||
//! Code taken from NinoDiscord/Nino
|
// //! Code taken from NinoDiscord/Nino
|
||||||
import prom from "prom-client"
|
// import prom from "prom-client"
|
||||||
import { createServer, IncomingMessage, ServerResponse } from 'http'
|
// import { createServer, IncomingMessage, ServerResponse } from 'http'
|
||||||
import vars from "../../variables"
|
// import vars from "../../variables"
|
||||||
import Logger from "./logger"
|
// import Logger from "./logger"
|
||||||
|
|
||||||
export default class Prometheus {
|
// export default class Prometheus {
|
||||||
public commandsExecuted!: prom.Counter<string>
|
// public commandsExecuted!: prom.Counter<string>
|
||||||
public messagesSeen!: prom.Counter<string>
|
// public messagesSeen!: prom.Counter<string>
|
||||||
public guildCount!: prom.Gauge<string>
|
// public guildCount!: prom.Gauge<string>
|
||||||
public totalGuilds!: prom.Gauge<string>
|
// public totalGuilds!: prom.Gauge<string>
|
||||||
public uptime!: prom.Gauge<string>
|
// public uptime!: prom.Gauge<string>
|
||||||
public events!: prom.Counter<string>
|
// public events!: prom.Counter<string>
|
||||||
#server!: ReturnType<typeof createServer>
|
// #server!: ReturnType<typeof createServer>
|
||||||
|
|
||||||
load() {
|
// load() {
|
||||||
prom.collectDefaultMetrics()
|
// prom.collectDefaultMetrics()
|
||||||
this.commandsExecuted = new prom.Counter({
|
// this.commandsExecuted = new prom.Counter({
|
||||||
labelNames: ['command'],
|
// labelNames: ['command'],
|
||||||
name: "thaldrin_commands_executed",
|
// name: "thaldrin_commands_executed",
|
||||||
help: "How many commands Thaldrin has executed successfully"
|
// help: "How many commands Thaldrin has executed successfully"
|
||||||
})
|
// })
|
||||||
this.messagesSeen = new prom.Counter({
|
// this.messagesSeen = new prom.Counter({
|
||||||
name: "thaldrin_messages_seen",
|
// name: "thaldrin_messages_seen",
|
||||||
help: "How many Messages Thaldrin has seen throughout the process lifespan"
|
// help: "How many Messages Thaldrin has seen throughout the process lifespan"
|
||||||
})
|
// })
|
||||||
this.guildCount = new prom.Gauge({
|
// this.guildCount = new prom.Gauge({
|
||||||
name: "thaldrin_guild_count",
|
// name: "thaldrin_guild_count",
|
||||||
help: "Number of Guilds Thaldrin joined this Lifecycle"
|
// help: "Number of Guilds Thaldrin joined this Lifecycle"
|
||||||
})
|
// })
|
||||||
this.totalGuilds = new prom.Gauge({
|
// this.totalGuilds = new prom.Gauge({
|
||||||
name: "thaldrin_guilds_total",
|
// name: "thaldrin_guilds_total",
|
||||||
help: "Total Number of Guilds Thaldrin is in"
|
// help: "Total Number of Guilds Thaldrin is in"
|
||||||
})
|
// })
|
||||||
this.events = new prom.Counter({
|
// this.events = new prom.Counter({
|
||||||
labelNames: ['event'],
|
// labelNames: ['event'],
|
||||||
name: "thaldrin_discord_events",
|
// name: "thaldrin_discord_events",
|
||||||
help: "Received WebSocket events from Discord"
|
// help: "Received WebSocket events from Discord"
|
||||||
})
|
// })
|
||||||
this.uptime = new prom.Gauge({
|
// this.uptime = new prom.Gauge({
|
||||||
name: "thaldrin_uptime",
|
// name: "thaldrin_uptime",
|
||||||
help: "Thaldrin's Uptime"
|
// help: "Thaldrin's Uptime"
|
||||||
})
|
// })
|
||||||
|
|
||||||
this.#server = createServer(this.onRequest.bind(this));
|
// this.#server = createServer(this.onRequest.bind(this));
|
||||||
this.#server.once('listening', () => Logger.info({ type: 'event:prometheusStart', message: `Prometheus: Listening at http://localhost:${vars.prometheus.port}` }));
|
// this.#server.once('listening', () => Logger.info({ type: 'event:prometheusStart', message: `Prometheus: Listening at http://localhost:${vars.prometheus.port}` }));
|
||||||
this.#server.on('error', error => console.error(error));
|
// this.#server.on('error', error => console.error(error));
|
||||||
this.#server.listen(vars.prometheus.port);
|
// this.#server.listen(vars.prometheus.port);
|
||||||
}
|
// }
|
||||||
private async onRequest(req: IncomingMessage, res: ServerResponse) {
|
// private async onRequest(req: IncomingMessage, res: ServerResponse) {
|
||||||
this.uptime.set(process.uptime())
|
// this.uptime.set(process.uptime())
|
||||||
if (req.url! === '/metrics') {
|
// if (req.url! === '/metrics') {
|
||||||
res.writeHead(200, { 'Content-Type': prom.register.contentType });
|
// res.writeHead(200, { 'Content-Type': prom.register.contentType });
|
||||||
res.write(await prom.register.metrics());
|
// res.write(await prom.register.metrics());
|
||||||
} else if (req.url! === '/favicon.ico') {
|
// } else if (req.url! === '/favicon.ico') {
|
||||||
res.writeHead(404, { 'Content-Type': 'application/json' });
|
// res.writeHead(404, { 'Content-Type': 'application/json' });
|
||||||
res.write('{"fuck":"you uwu"}');
|
// res.write('{"fuck":"you uwu"}');
|
||||||
} else {
|
// } else {
|
||||||
res.writeHead(400, { 'Content-Type': 'application/json' });
|
// res.writeHead(400, { 'Content-Type': 'application/json' });
|
||||||
res.write('{"uwu":"owo"}');
|
// res.write('{"uwu":"owo"}');
|
||||||
}
|
// }
|
||||||
|
|
||||||
res.end();
|
// res.end();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
export const Prom = new Prometheus()
|
// export const Prom = new Prometheus()
|
||||||
|
|
Loading…
Reference in New Issue