| type DiscordSurfaceParams = { | |
| ctx: { | |
| OriginatingChannel?: string; | |
| Surface?: string; | |
| Provider?: string; | |
| AccountId?: string; | |
| }; | |
| command: { | |
| channel?: string; | |
| }; | |
| }; | |
| type DiscordAccountParams = { | |
| ctx: { | |
| AccountId?: string; | |
| }; | |
| }; | |
| export function isDiscordSurface(params: DiscordSurfaceParams): boolean { | |
| return resolveCommandSurfaceChannel(params) === "discord"; | |
| } | |
| export function isTelegramSurface(params: DiscordSurfaceParams): boolean { | |
| return resolveCommandSurfaceChannel(params) === "telegram"; | |
| } | |
| export function resolveCommandSurfaceChannel(params: DiscordSurfaceParams): string { | |
| const channel = | |
| params.ctx.OriginatingChannel ?? | |
| params.command.channel ?? | |
| params.ctx.Surface ?? | |
| params.ctx.Provider; | |
| return String(channel ?? "") | |
| .trim() | |
| .toLowerCase(); | |
| } | |
| export function resolveDiscordAccountId(params: DiscordAccountParams): string { | |
| return resolveChannelAccountId(params); | |
| } | |
| export function resolveChannelAccountId(params: DiscordAccountParams): string { | |
| const accountId = typeof params.ctx.AccountId === "string" ? params.ctx.AccountId.trim() : ""; | |
| return accountId || "default"; | |
| } | |