all repos — stealth-developers @ c44d4e7df8b225bf9d3c614395ffc7870cd96075

apps/bot/src/components/NewTicketButton.ts (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
import { getGuildByDiscordId } from "@stealth-developers/db";

import { errorMessage } from "@/lib";
import { buttonRegistry } from "@/lib/registries";
import { ComponentDefinition } from "@/lib/structures/ComponentDefinition";

export const NewTicketButton = new ComponentDefinition<"open-ticket", []>("open-ticket");

buttonRegistry.register(NewTicketButton, async (interaction) => {
	if (!interaction.guildId)
		return errorMessage(interaction, "This interaction can only be used in a server.");

	const guild = await getGuildByDiscordId(interaction.guildId);
	if (!guild) return errorMessage(interaction, "Failed to update configuration: Guild not found.");

	await interaction.reply("ok");
});