Files
gunshiz 9555e0a884
CI / Verify (push) Successful in 2m50s
CI / Build immutable images and deploy (push) Successful in 2m49s
feat update
2026-10-03 01:36:56 +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");
}
}