channels: guard messageActions runtime
This commit is contained in:
parent
ad6825c5e0
commit
1f2013299c
@ -31,12 +31,22 @@ import { getDiscordRuntime } from "./runtime.js";
|
|||||||
|
|
||||||
const meta = getChatChannelMeta("discord");
|
const meta = getChatChannelMeta("discord");
|
||||||
|
|
||||||
|
function resolveDiscordMessageActions() {
|
||||||
|
try {
|
||||||
|
return getDiscordRuntime().channel.discord?.messageActions ?? null;
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const discordMessageActions: ChannelMessageActionAdapter = {
|
const discordMessageActions: ChannelMessageActionAdapter = {
|
||||||
listActions: (ctx) => getDiscordRuntime().channel.discord.messageActions.listActions(ctx),
|
listActions: (ctx) => resolveDiscordMessageActions()?.listActions?.(ctx) ?? [],
|
||||||
extractToolSend: (ctx) =>
|
extractToolSend: (ctx) => resolveDiscordMessageActions()?.extractToolSend?.(ctx),
|
||||||
getDiscordRuntime().channel.discord.messageActions.extractToolSend(ctx),
|
handleAction: async (ctx) => {
|
||||||
handleAction: async (ctx) =>
|
const actions = resolveDiscordMessageActions();
|
||||||
await getDiscordRuntime().channel.discord.messageActions.handleAction(ctx),
|
if (!actions?.handleAction) return null;
|
||||||
|
return await actions.handleAction(ctx);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const discordPlugin: ChannelPlugin<ResolvedDiscordAccount> = {
|
export const discordPlugin: ChannelPlugin<ResolvedDiscordAccount> = {
|
||||||
|
|||||||
@ -25,11 +25,22 @@ import {
|
|||||||
|
|
||||||
import { getSignalRuntime } from "./runtime.js";
|
import { getSignalRuntime } from "./runtime.js";
|
||||||
|
|
||||||
|
function resolveSignalMessageActions() {
|
||||||
|
try {
|
||||||
|
return getSignalRuntime().channel.signal?.messageActions ?? null;
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const signalMessageActions: ChannelMessageActionAdapter = {
|
const signalMessageActions: ChannelMessageActionAdapter = {
|
||||||
listActions: (ctx) => getSignalRuntime().channel.signal.messageActions.listActions(ctx),
|
listActions: (ctx) => resolveSignalMessageActions()?.listActions?.(ctx) ?? [],
|
||||||
supportsAction: (ctx) => getSignalRuntime().channel.signal.messageActions.supportsAction?.(ctx),
|
supportsAction: (ctx) => resolveSignalMessageActions()?.supportsAction?.(ctx),
|
||||||
handleAction: async (ctx) =>
|
handleAction: async (ctx) => {
|
||||||
await getSignalRuntime().channel.signal.messageActions.handleAction(ctx),
|
const actions = resolveSignalMessageActions();
|
||||||
|
if (!actions?.handleAction) return null;
|
||||||
|
return await actions.handleAction(ctx);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const meta = getChatChannelMeta("signal");
|
const meta = getChatChannelMeta("signal");
|
||||||
|
|||||||
@ -31,12 +31,22 @@ import { getTelegramRuntime } from "./runtime.js";
|
|||||||
|
|
||||||
const meta = getChatChannelMeta("telegram");
|
const meta = getChatChannelMeta("telegram");
|
||||||
|
|
||||||
|
function resolveTelegramMessageActions() {
|
||||||
|
try {
|
||||||
|
return getTelegramRuntime().channel.telegram?.messageActions ?? null;
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const telegramMessageActions: ChannelMessageActionAdapter = {
|
const telegramMessageActions: ChannelMessageActionAdapter = {
|
||||||
listActions: (ctx) => getTelegramRuntime().channel.telegram.messageActions.listActions(ctx),
|
listActions: (ctx) => resolveTelegramMessageActions()?.listActions?.(ctx) ?? [],
|
||||||
extractToolSend: (ctx) =>
|
extractToolSend: (ctx) => resolveTelegramMessageActions()?.extractToolSend?.(ctx),
|
||||||
getTelegramRuntime().channel.telegram.messageActions.extractToolSend(ctx),
|
handleAction: async (ctx) => {
|
||||||
handleAction: async (ctx) =>
|
const actions = resolveTelegramMessageActions();
|
||||||
await getTelegramRuntime().channel.telegram.messageActions.handleAction(ctx),
|
if (!actions?.handleAction) return null;
|
||||||
|
return await actions.handleAction(ctx);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
function parseReplyToMessageId(replyToId?: string | null) {
|
function parseReplyToMessageId(replyToId?: string | null) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user