forked from syntaxbullet/AuroraBot-discord
chore: update terminal service
This commit is contained in:
@@ -94,11 +94,18 @@ export const terminalService = {
|
|||||||
orderBy: desc(lootdrops.createdAt)
|
orderBy: desc(lootdrops.createdAt)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 4. System Stats
|
||||||
|
const memoryUsage = process.memoryUsage();
|
||||||
|
const uptime = process.uptime();
|
||||||
|
const uptimeHours = Math.floor(uptime / 3600);
|
||||||
|
const uptimeMinutes = Math.floor((uptime % 3600) / 60);
|
||||||
|
const ramUsed = Math.round(memoryUsage.heapUsed / 1024 / 1024);
|
||||||
|
|
||||||
// --- CONTAINER 1: Header ---
|
// --- CONTAINER 1: Header ---
|
||||||
const headerContainer = new ContainerBuilder()
|
const headerContainer = new ContainerBuilder()
|
||||||
.addTextDisplayComponents(
|
.addTextDisplayComponents(
|
||||||
new TextDisplayBuilder().setContent("# 🌌 AURORA OBSERVATORY"),
|
new TextDisplayBuilder().setContent("# 🌌 AURORA OBSERVATORY"),
|
||||||
new TextDisplayBuilder().setContent("*Current Moon Phase: Waxing Crescent 🌒*")
|
new TextDisplayBuilder().setContent(`*Current Moon Phase: Waxing Crescent 🌒 • System Online for ${uptimeHours}h ${uptimeMinutes}m*`)
|
||||||
);
|
);
|
||||||
|
|
||||||
// --- CONTAINER 2: Observation Log ---
|
// --- CONTAINER 2: Observation Log ---
|
||||||
@@ -116,7 +123,7 @@ export const terminalService = {
|
|||||||
const logContainer = new ContainerBuilder()
|
const logContainer = new ContainerBuilder()
|
||||||
.addTextDisplayComponents(
|
.addTextDisplayComponents(
|
||||||
new TextDisplayBuilder().setContent("## 🔭 OBSERVATION LOG"),
|
new TextDisplayBuilder().setContent("## 🔭 OBSERVATION LOG"),
|
||||||
new TextDisplayBuilder().setContent(`> **Stargazers**: \`${totalUsers}\`\n> **Astral Wealth**: \`${totalWealth.toLocaleString()} AU\`${phenomenaContent}`)
|
new TextDisplayBuilder().setContent(`> **Stargazers**: \`${totalUsers}\`\n> **Astral Wealth**: \`${totalWealth.toLocaleString()} AU\`\n> **Memory**: \`${ramUsed}MB\`${phenomenaContent}`)
|
||||||
);
|
);
|
||||||
|
|
||||||
// --- CONTAINER 3: Leaders ---
|
// --- CONTAINER 3: Leaders ---
|
||||||
@@ -137,13 +144,19 @@ export const terminalService = {
|
|||||||
const time = Math.floor(tx.createdAt!.getTime() / 1000);
|
const time = Math.floor(tx.createdAt!.getTime() / 1000);
|
||||||
let icon = "💫";
|
let icon = "💫";
|
||||||
if (tx.type.includes("LOOT")) icon = "🌠";
|
if (tx.type.includes("LOOT")) icon = "🌠";
|
||||||
if (tx.type.includes("GIFT")) icon = "🌕";
|
if (tx.type.includes("GIFT")) icon = "🎁";
|
||||||
|
if (tx.type.includes("SHOP")) icon = "🛒";
|
||||||
|
if (tx.type.includes("DAILY")) icon = "☀️";
|
||||||
const user = allUsers.find(u => u.id === tx.userId);
|
const user = allUsers.find(u => u.id === tx.userId);
|
||||||
|
|
||||||
// the description might contain a channel id all the way at the end
|
// Clean up description
|
||||||
const channelId = tx.description?.split(" ").pop() || "";
|
const channelId = tx.description?.split(" ").pop() || "";
|
||||||
const text = tx.description?.replace(channelId, "<#" + channelId + ">") || "";
|
let text = tx.description || "Unknown interaction";
|
||||||
return `<t:${time}:F> ${icon} ${user ? `<@${user.id}>` : '**Unknown**'}: ${text}`;
|
if (channelId.match(/^\d+$/)) {
|
||||||
|
text = text.replace(channelId, "").trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
return `<t:${time}:R> ${icon} **${user ? user.username : 'Unknown'}**: ${text}`;
|
||||||
});
|
});
|
||||||
|
|
||||||
const echoesContainer = new ContainerBuilder()
|
const echoesContainer = new ContainerBuilder()
|
||||||
|
|||||||
Reference in New Issue
Block a user