fix(discord): handle missing guild/channel data in link resolution

Add null checks for guild.id and guild.name when resolving Discord
entities. This prevents TypeError when processing invite links for
servers/channels the bot doesn't have cached.

Fixes #6606
This commit is contained in:
Clawdbot
2026-02-02 01:08:14 +00:00
committed by Shadow
parent 3c00a9e330
commit 42bfcd9c30
3 changed files with 26 additions and 14 deletions

View File

@@ -27,7 +27,8 @@ export async function listDiscordDirectoryGroupsLive(
return [];
}
const query = normalizeQuery(params.query);
const guilds = await fetchDiscord<DiscordGuild[]>("/users/@me/guilds", token);
const rawGuilds = await fetchDiscord<DiscordGuild[]>("/users/@me/guilds", token);
const guilds = rawGuilds.filter((g) => g.id && g.name);
const rows: ChannelDirectoryEntry[] = [];
for (const guild of guilds) {
@@ -69,7 +70,8 @@ export async function listDiscordDirectoryPeersLive(
return [];
}
const guilds = await fetchDiscord<DiscordGuild[]>("/users/@me/guilds", token);
const rawGuilds = await fetchDiscord<DiscordGuild[]>("/users/@me/guilds", token);
const guilds = rawGuilds.filter((g) => g.id && g.name);
const rows: ChannelDirectoryEntry[] = [];
const limit = typeof params.limit === "number" && params.limit > 0 ? params.limit : 25;