diff --git a/src/core/plugins/badges/index.tsx b/src/core/plugins/badges/index.tsx index 7b01b84..ae0fda6 100644 --- a/src/core/plugins/badges/index.tsx +++ b/src/core/plugins/badges/index.tsx @@ -88,17 +88,27 @@ export default defineCorePlugin({ try { // fetch equicord badges once and cache globally if (!equicordData) { - const equicordRes = await fetch("https://badge.equicord.org/badges.json"); - equicordData = await equicordRes.json(); + try { + const equicordRes = await fetch("https://badge.equicord.org/badges.json"); + if (equicordRes.ok) equicordData = await equicordRes.json(); + else console.error("[bunny.badges] equicord HTTP error:", equicordRes.status); + } catch (e) { + console.error("[bunny.badges] equicord fetch failed:", e); + } } const [badgesRes, rolesRes] = await Promise.all([ - fetch("https://codeberg.org/chocomint-chan/GoonCord_Badges/raw/branch/main/badges.json"), - fetch("https://codeberg.org/chocomint-chan/GoonCord_Badges/raw/branch/main/assets/roles/roles.json"), + fetch("https://codeberg.org/chocomint-chan/GoonCord_Badges/raw/branch/main/badges.json") + .catch((e) => { console.error("[bunny.badges] badges fetch failed:", e); return null; }), + fetch("https://codeberg.org/chocomint-chan/GoonCord_Badges/raw/branch/main/assets/roles/roles.json") + .catch((e) => { console.error("[bunny.badges] roles fetch failed:", e); return null; }), ]); - const badgesData: BadgeData = await badgesRes.json(); - const rolesData: RolesData = await rolesRes.json(); + if (badgesRes && !badgesRes.ok) console.error("[bunny.badges] badges HTTP error:", badgesRes.status); + if (rolesRes && !rolesRes.ok) console.error("[bunny.badges] roles HTTP error:", rolesRes.status); + + const badgesData: BadgeData = badgesRes?.ok ? await badgesRes.json() : {}; + const rolesData: RolesData = rolesRes?.ok ? await rolesRes.json() : {}; const userBadgeData = badgesData[userId] || { roles: [], custom: [] }; const allBadges: Badge[] = [];