Update from Git Manager GUI

This commit is contained in:
2026-02-25 18:51:08 +01:00
parent de4341a0a9
commit 1567151fce
21 changed files with 2023 additions and 0 deletions

63
commands/remove.js Normal file
View File

@@ -0,0 +1,63 @@
import { PermissionsBitField, SlashCommandBuilder } from "discord.js";
import fs from "fs/promises";
export default {
name: "remove",
description: "Stoppt den Listener für Plugin-Updates",
aliases: [],
guild: ["all"],
nsfw: false,
user_permissions: [PermissionsBitField.Flags.Administrator],
bot_permissions: [],
args_required: 1,
args_usage: "[ressourcen_id]",
cooldown: 5,
data: new SlashCommandBuilder()
.setName("remove")
.setDescription("Entfernt einen Plugin-Update-Listener")
.addStringOption((opt) =>
opt.setName("ressourcen_id").setDescription("Spiget Ressourcen-ID").setRequired(true)
),
async execute(client, ctx, args) {
const resourceID = ctx.isSlash
? ctx.interaction.options.getString("ressourcen_id")
: args[0];
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!");
}
const index = data.watchedResources.findIndex(
(r) => String(r.resourceID) === String(resourceID)
);
if (index === -1) {
return ctx.reply(`Fehler: Ressource \`${resourceID}\` wurde auf diesem Server nicht beobachtet.`);
}
const removedName = data.watchedResources[index].resourceName ?? resourceID;
data.watchedResources.splice(index, 1);
try {
if (data.watchedResources.length === 0) {
await fs.unlink(filePath);
} else {
await fs.writeFile(filePath, JSON.stringify(data, null, 2));
}
} catch (e) {
client.logger.error(e);
return ctx.reply("Beim Aktualisieren der Beobachtungsdaten ist ein Fehler aufgetreten.");
}
return ctx.reply(`✅ **${removedName}** (\`${resourceID}\`) wird nicht mehr beobachtet.`);
},
};