refactor(slack): dedupe onboarding token prompts

This commit is contained in:
Peter Steinberger
2026-02-15 16:26:11 +00:00
parent 910e1e52dd
commit c1bf99406f

View File

@@ -124,6 +124,25 @@ async function noteSlackTokenHelp(prompter: WizardPrompter, botName: string): Pr
); );
} }
async function promptSlackTokens(prompter: WizardPrompter): Promise<{
botToken: string;
appToken: string;
}> {
const botToken = String(
await prompter.text({
message: "Enter Slack bot token (xoxb-...)",
validate: (value) => (value?.trim() ? undefined : "Required"),
}),
).trim();
const appToken = String(
await prompter.text({
message: "Enter Slack app token (xapp-...)",
validate: (value) => (value?.trim() ? undefined : "Required"),
}),
).trim();
return { botToken, appToken };
}
function patchSlackConfigForAccount( function patchSlackConfigForAccount(
cfg: OpenClawConfig, cfg: OpenClawConfig,
accountId: string, accountId: string,
@@ -370,18 +389,7 @@ export const slackOnboardingAdapter: ChannelOnboardingAdapter = {
}, },
}; };
} else { } else {
botToken = String( ({ botToken, appToken } = await promptSlackTokens(prompter));
await prompter.text({
message: "Enter Slack bot token (xoxb-...)",
validate: (value) => (value?.trim() ? undefined : "Required"),
}),
).trim();
appToken = String(
await prompter.text({
message: "Enter Slack app token (xapp-...)",
validate: (value) => (value?.trim() ? undefined : "Required"),
}),
).trim();
} }
} else if (hasConfigTokens) { } else if (hasConfigTokens) {
const keep = await prompter.confirm({ const keep = await prompter.confirm({
@@ -389,32 +397,10 @@ export const slackOnboardingAdapter: ChannelOnboardingAdapter = {
initialValue: true, initialValue: true,
}); });
if (!keep) { if (!keep) {
botToken = String( ({ botToken, appToken } = await promptSlackTokens(prompter));
await prompter.text({
message: "Enter Slack bot token (xoxb-...)",
validate: (value) => (value?.trim() ? undefined : "Required"),
}),
).trim();
appToken = String(
await prompter.text({
message: "Enter Slack app token (xapp-...)",
validate: (value) => (value?.trim() ? undefined : "Required"),
}),
).trim();
} }
} else { } else {
botToken = String( ({ botToken, appToken } = await promptSlackTokens(prompter));
await prompter.text({
message: "Enter Slack bot token (xoxb-...)",
validate: (value) => (value?.trim() ? undefined : "Required"),
}),
).trim();
appToken = String(
await prompter.text({
message: "Enter Slack app token (xapp-...)",
validate: (value) => (value?.trim() ? undefined : "Required"),
}),
).trim();
} }
if (botToken && appToken) { if (botToken && appToken) {