fix(discord): correct directory-config import and fix TS/lint errors
This commit is contained in:
parent
e4875d5044
commit
b26f95fb36
@ -5,12 +5,10 @@ import {
|
|||||||
type MessagingTarget,
|
type MessagingTarget,
|
||||||
type MessagingTargetKind,
|
type MessagingTargetKind,
|
||||||
type MessagingTargetParseOptions,
|
type MessagingTargetParseOptions,
|
||||||
type DirectoryConfigParams,
|
|
||||||
type ChannelDirectoryEntry,
|
|
||||||
} from "../channels/targets.js";
|
} from "../channels/targets.js";
|
||||||
|
import { type DirectoryConfigParams } from "../channels/plugins/directory-config.js";
|
||||||
|
|
||||||
import { listDiscordDirectoryPeersLive } from "./directory-live.js";
|
import { listDiscordDirectoryPeersLive } from "./directory-live.js";
|
||||||
import { resolveDiscordAccount } from "./accounts.js";
|
|
||||||
|
|
||||||
export type DiscordTargetKind = MessagingTargetKind;
|
export type DiscordTargetKind = MessagingTargetKind;
|
||||||
|
|
||||||
@ -45,7 +43,8 @@ export function parseDiscordTarget(
|
|||||||
const id = ensureTargetId({
|
const id = ensureTargetId({
|
||||||
candidate,
|
candidate,
|
||||||
pattern: /^\d+$/,
|
pattern: /^\d+$/,
|
||||||
errorMessage: "Discord DMs require a user id (use user:<id> or a <@id> mention)",
|
errorMessage:
|
||||||
|
"Discord DMs require a user id (use user:<id> or a <@id> mention)",
|
||||||
});
|
});
|
||||||
return buildMessagingTarget("user", id, trimmed);
|
return buildMessagingTarget("user", id, trimmed);
|
||||||
}
|
}
|
||||||
@ -76,14 +75,18 @@ export function resolveDiscordChannelId(raw: string): string {
|
|||||||
*/
|
*/
|
||||||
export async function resolveDiscordTarget(
|
export async function resolveDiscordTarget(
|
||||||
raw: string,
|
raw: string,
|
||||||
options: DirectoryConfigParams,
|
options: DirectoryConfigParams & MessagingTargetParseOptions,
|
||||||
): Promise<MessagingTarget | undefined> {
|
): Promise<MessagingTarget | undefined> {
|
||||||
const trimmed = raw.trim();
|
const trimmed = raw.trim();
|
||||||
if (!trimmed) return undefined;
|
if (!trimmed) return undefined;
|
||||||
|
|
||||||
// If already a known format, parse directly
|
// If already a known format, parse directly
|
||||||
const directParse = parseDiscordTarget(trimmed, options);
|
const directParse = parseDiscordTarget(trimmed, options);
|
||||||
if (directParse && directParse.kind !== "channel" && !isLikelyUsername(trimmed)) {
|
if (
|
||||||
|
directParse &&
|
||||||
|
directParse.kind !== "channel" &&
|
||||||
|
!isLikelyUsername(trimmed)
|
||||||
|
) {
|
||||||
return directParse;
|
return directParse;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,7 +104,7 @@ export async function resolveDiscordTarget(
|
|||||||
const userId = match.id.replace(/^user:/, "");
|
const userId = match.id.replace(/^user:/, "");
|
||||||
return buildMessagingTarget("user", userId, trimmed);
|
return buildMessagingTarget("user", userId, trimmed);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch {
|
||||||
// Directory lookup failed - fall through to parse as-is
|
// Directory lookup failed - fall through to parse as-is
|
||||||
// This preserves existing behavior for channel names
|
// This preserves existing behavior for channel names
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user