The weeb for the next gen discord boat - Wamellow wamellow.com
bot discord
at master 31 lines 929 B view raw
1export interface AnalyticsResponse { 2 page: string; 3 pageviews: number; 4} 5 6export interface AnalyticsError { 7 error: string; 8} 9 10export async function getPageAnalytics(page: string): Promise<{ results: AnalyticsResponse[]; } | AnalyticsError | undefined> { 11 12 const params = { 13 site_id: process.env.PLAUSIBLE_DOMAIN as string, 14 period: "custom", 15 date: "2021-01-01,2026-03-02", 16 property: "event:page", 17 filters: "event:page==" + page, 18 metrics: "pageviews" 19 }; 20 21 const res = await fetch(`${process.env.PLAUSIBLE_API}/v1/stats/breakdown?${objectToQueryString(params)}`, { 22 headers: { Authorization: "Bearer " + process.env.PLAUSIBLE_API_KEY }, 23 next: { revalidate: 60 } 24 }); 25 26 return res.json(); 27} 28 29function objectToQueryString(obj: Record<string, string>): string { 30 return Object.entries(obj).map(([key, value]) => `${key}=${value}`).join("&"); 31}