Files
buzz-sheet/lib/commission/discord.ts
T
gunshiz 0022625edb
CI / Verify (push) Successful in 3m14s
CI / Build immutable images and deploy (push) Successful in 4m0s
feat : big update
2026-10-01 18:37:15 +07:00

30 lines
1.1 KiB
TypeScript

import "server-only";
import { siteUrl } from "@/lib/site-url";
export async function notifyPaidTicketDiscord(ticketId: string, amountBaht: number) {
const webhookUrl = process.env.COMMISSION_DISCORD_WEBHOOK_URL;
if (!webhookUrl) return;
try {
const response = await fetch(webhookUrl, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
allowed_mentions: { parse: [] },
embeds: [{
title: "มี Ticket คอมมิชชันใหม่ที่ชำระเงินแล้ว",
url: new URL(`/admin/commission/${ticketId}`, process.env.BETTER_AUTH_URL ?? siteUrl).toString(),
description: `Ticket #${ticketId.slice(0, 8)} · ฿${amountBaht}`,
color: 0x57f287,
timestamp: new Date().toISOString(),
}],
}),
signal: AbortSignal.timeout(5000),
});
if (!response.ok) console.error(`Commission Discord notification failed (${response.status})`);
} catch {
console.error("Commission Discord notification failed");
}
}