mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 23:14:31 +00:00
Telegram: support compact model callback fallback
This commit is contained in:
committed by
Peter Steinberger
parent
c582a54554
commit
54eb13893f
@@ -1261,11 +1261,29 @@ export const registerTelegramHandlers = ({
|
||||
|
||||
if (modelCallback.type === "select") {
|
||||
const { provider, model } = modelCallback;
|
||||
let resolvedProvider = provider;
|
||||
if (!resolvedProvider) {
|
||||
const matchingProviders = providers.filter((id) => byProvider.get(id)?.has(model));
|
||||
if (matchingProviders.length === 1) {
|
||||
resolvedProvider = matchingProviders[0];
|
||||
} else {
|
||||
const providerInfos: ProviderInfo[] = providers.map((p) => ({
|
||||
id: p,
|
||||
count: byProvider.get(p)?.size ?? 0,
|
||||
}));
|
||||
const buttons = buildProviderKeyboard(providerInfos);
|
||||
await editMessageWithButtons(
|
||||
`Could not resolve model "${model}".\n\nSelect a provider:`,
|
||||
buttons,
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Process model selection as a synthetic message with /model command
|
||||
const syntheticMessage = buildSyntheticTextMessage({
|
||||
base: callbackMessage,
|
||||
from: callback.from,
|
||||
text: `/model ${provider}/${model}`,
|
||||
text: `/model ${resolvedProvider}/${model}`,
|
||||
});
|
||||
await processMessage(buildSyntheticContext(ctx, syntheticMessage), [], storeAllowFrom, {
|
||||
forceWasMentioned: true,
|
||||
|
||||
Reference in New Issue
Block a user