Update from Git Manager GUI
This commit is contained in:
60
commands/list.js
Normal file
60
commands/list.js
Normal file
@@ -0,0 +1,60 @@
|
||||
import { EmbedBuilder, PermissionsBitField, SlashCommandBuilder } from "discord.js";
|
||||
import fs from "fs/promises";
|
||||
|
||||
export default {
|
||||
name: "list",
|
||||
description: "Listet alle Plugin-Update-Listener für diesen Server auf",
|
||||
aliases: [],
|
||||
guild: ["all"],
|
||||
nsfw: false,
|
||||
user_permissions: [PermissionsBitField.Flags.Administrator],
|
||||
bot_permissions: [],
|
||||
args_required: 0,
|
||||
args_usage: "",
|
||||
cooldown: 5,
|
||||
|
||||
data: new SlashCommandBuilder()
|
||||
.setName("list")
|
||||
.setDescription("Listet alle beobachteten Plugins dieses Servers auf"),
|
||||
|
||||
async execute(client, ctx) {
|
||||
const guildID = ctx.guild.id;
|
||||
const filePath = `./serverdata/${guildID}.json`;
|
||||
|
||||
let data;
|
||||
try {
|
||||
const raw = await fs.readFile(filePath, "utf8");
|
||||
data = JSON.parse(raw);
|
||||
} catch {
|
||||
return ctx.reply(
|
||||
`Dieser Server hat keine beobachteten Ressourcen. Nutze \`${client.config.prefix}add\` um eine hinzuzufügen.`
|
||||
);
|
||||
}
|
||||
|
||||
if (!data.watchedResources || data.watchedResources.length === 0) {
|
||||
return ctx.reply(
|
||||
`Dieser Server hat keine beobachteten Ressourcen. Nutze \`${client.config.prefix}add\` um eine hinzuzufügen.`
|
||||
);
|
||||
}
|
||||
|
||||
const list = data.watchedResources
|
||||
.map((r) => {
|
||||
const name = r.resourceName ? `**${r.resourceName}**` : `ID: \`${r.resourceID}\``;
|
||||
const version = r.lastCheckedVersion ? ` • v${r.lastCheckedVersion}` : "";
|
||||
return `${name}${version}\n└ Kanal: <#${r.channelID}> • ID: \`${r.resourceID}\``;
|
||||
})
|
||||
.join("\n\n");
|
||||
|
||||
const intervalInfo = data.updateInterval
|
||||
? `⏱️ Update-Intervall: ${data.updateInterval} Minute(n)`
|
||||
: "⏱️ Update-Intervall: 5 Minuten (Standard)";
|
||||
|
||||
const listEmbed = new EmbedBuilder()
|
||||
.setColor(ctx.guild.members.me.displayHexColor)
|
||||
.setTitle(`📋 Beobachtete Plugins (${data.watchedResources.length})`)
|
||||
.setDescription(list)
|
||||
.setFooter({ text: intervalInfo });
|
||||
|
||||
return ctx.reply({ embeds: [listEmbed] });
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user