Telegram-user: fix onboarding parse error
This commit is contained in:
parent
b953e0bff8
commit
055c4f17a5
@ -19,6 +19,7 @@ import {
|
|||||||
import type { CoreConfig } from "./types.js";
|
import type { CoreConfig } from "./types.js";
|
||||||
|
|
||||||
const channel = "telegram-user" as const;
|
const channel = "telegram-user" as const;
|
||||||
|
type TelegramUserChannelConfig = NonNullable<CoreConfig["channels"]>["telegram-user"];
|
||||||
|
|
||||||
function setTelegramUserDmPolicy(
|
function setTelegramUserDmPolicy(
|
||||||
cfg: ClawdbotConfig,
|
cfg: ClawdbotConfig,
|
||||||
@ -26,23 +27,22 @@ function setTelegramUserDmPolicy(
|
|||||||
accountId?: string,
|
accountId?: string,
|
||||||
): ClawdbotConfig {
|
): ClawdbotConfig {
|
||||||
const resolvedAccountId = normalizeAccountId(accountId) ?? DEFAULT_ACCOUNT_ID;
|
const resolvedAccountId = normalizeAccountId(accountId) ?? DEFAULT_ACCOUNT_ID;
|
||||||
|
const current = cfg.channels?.["telegram-user"] as TelegramUserChannelConfig | undefined;
|
||||||
const allowFrom =
|
const allowFrom =
|
||||||
policy === "open"
|
policy === "open"
|
||||||
? addWildcardAllowFrom(
|
? addWildcardAllowFrom(current?.allowFrom)
|
||||||
(cfg.channels?.["telegram-user"] as CoreConfig["channels"]?.["telegram-user"])?.allowFrom,
|
|
||||||
)
|
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
if (resolvedAccountId === DEFAULT_ACCOUNT_ID) {
|
if (resolvedAccountId === DEFAULT_ACCOUNT_ID) {
|
||||||
return {
|
return {
|
||||||
...cfg,
|
...cfg,
|
||||||
channels: {
|
channels: {
|
||||||
...cfg.channels,
|
...cfg.channels,
|
||||||
"telegram-user": {
|
"telegram-user": {
|
||||||
...(cfg.channels?.["telegram-user"] as CoreConfig["channels"]?.["telegram-user"]),
|
...(current ?? {}),
|
||||||
dmPolicy: policy,
|
dmPolicy: policy,
|
||||||
...(allowFrom ? { allowFrom } : {}),
|
...(allowFrom ? { allowFrom } : {}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -52,13 +52,11 @@ function setTelegramUserDmPolicy(
|
|||||||
channels: {
|
channels: {
|
||||||
...cfg.channels,
|
...cfg.channels,
|
||||||
"telegram-user": {
|
"telegram-user": {
|
||||||
...(cfg.channels?.["telegram-user"] as CoreConfig["channels"]?.["telegram-user"]),
|
...(current ?? {}),
|
||||||
accounts: {
|
accounts: {
|
||||||
...((cfg.channels?.["telegram-user"] as CoreConfig["channels"]?.["telegram-user"])
|
...(current?.accounts ?? {}),
|
||||||
?.accounts ?? {}),
|
|
||||||
[resolvedAccountId]: {
|
[resolvedAccountId]: {
|
||||||
...((cfg.channels?.["telegram-user"] as CoreConfig["channels"]?.["telegram-user"])
|
...(current?.accounts?.[resolvedAccountId] ?? {}),
|
||||||
?.accounts?.[resolvedAccountId] ?? {}),
|
|
||||||
dmPolicy: policy,
|
dmPolicy: policy,
|
||||||
...(allowFrom ? { allowFrom } : {}),
|
...(allowFrom ? { allowFrom } : {}),
|
||||||
},
|
},
|
||||||
@ -118,6 +116,7 @@ async function promptTelegramUserAllowFrom(params: {
|
|||||||
...parsed,
|
...parsed,
|
||||||
];
|
];
|
||||||
const unique = [...new Set(merged)];
|
const unique = [...new Set(merged)];
|
||||||
|
const current = params.cfg.channels?.["telegram-user"] as TelegramUserChannelConfig | undefined;
|
||||||
|
|
||||||
if (accountId === DEFAULT_ACCOUNT_ID) {
|
if (accountId === DEFAULT_ACCOUNT_ID) {
|
||||||
return {
|
return {
|
||||||
@ -125,7 +124,7 @@ async function promptTelegramUserAllowFrom(params: {
|
|||||||
channels: {
|
channels: {
|
||||||
...params.cfg.channels,
|
...params.cfg.channels,
|
||||||
"telegram-user": {
|
"telegram-user": {
|
||||||
...(params.cfg.channels?.["telegram-user"] as CoreConfig["channels"]?.["telegram-user"]),
|
...(current ?? {}),
|
||||||
enabled: true,
|
enabled: true,
|
||||||
dmPolicy: "allowlist",
|
dmPolicy: "allowlist",
|
||||||
allowFrom: unique,
|
allowFrom: unique,
|
||||||
@ -139,14 +138,12 @@ async function promptTelegramUserAllowFrom(params: {
|
|||||||
channels: {
|
channels: {
|
||||||
...params.cfg.channels,
|
...params.cfg.channels,
|
||||||
"telegram-user": {
|
"telegram-user": {
|
||||||
...(params.cfg.channels?.["telegram-user"] as CoreConfig["channels"]?.["telegram-user"]),
|
...(current ?? {}),
|
||||||
enabled: true,
|
enabled: true,
|
||||||
accounts: {
|
accounts: {
|
||||||
...((params.cfg.channels?.["telegram-user"] as CoreConfig["channels"]?.["telegram-user"])
|
...(current?.accounts ?? {}),
|
||||||
?.accounts ?? {}),
|
|
||||||
[accountId]: {
|
[accountId]: {
|
||||||
...((params.cfg.channels?.["telegram-user"] as CoreConfig["channels"]?.["telegram-user"])
|
...(current?.accounts?.[accountId] ?? {}),
|
||||||
?.accounts?.[accountId] ?? {}),
|
|
||||||
enabled: true,
|
enabled: true,
|
||||||
dmPolicy: "allowlist",
|
dmPolicy: "allowlist",
|
||||||
allowFrom: unique,
|
allowFrom: unique,
|
||||||
@ -261,13 +258,14 @@ export const telegramUserOnboardingAdapter: ChannelOnboardingAdapter = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const current = next.channels?.["telegram-user"] as TelegramUserChannelConfig | undefined;
|
||||||
if (resolvedAccountId === DEFAULT_ACCOUNT_ID) {
|
if (resolvedAccountId === DEFAULT_ACCOUNT_ID) {
|
||||||
next = {
|
next = {
|
||||||
...next,
|
...next,
|
||||||
channels: {
|
channels: {
|
||||||
...next.channels,
|
...next.channels,
|
||||||
"telegram-user": {
|
"telegram-user": {
|
||||||
...next.channels?.["telegram-user"],
|
...(current ?? {}),
|
||||||
enabled: true,
|
enabled: true,
|
||||||
...(useEnv
|
...(useEnv
|
||||||
? {}
|
? {}
|
||||||
@ -284,12 +282,12 @@ export const telegramUserOnboardingAdapter: ChannelOnboardingAdapter = {
|
|||||||
channels: {
|
channels: {
|
||||||
...next.channels,
|
...next.channels,
|
||||||
"telegram-user": {
|
"telegram-user": {
|
||||||
...next.channels?.["telegram-user"],
|
...(current ?? {}),
|
||||||
enabled: true,
|
enabled: true,
|
||||||
accounts: {
|
accounts: {
|
||||||
...next.channels?.["telegram-user"]?.accounts,
|
...(current?.accounts ?? {}),
|
||||||
[resolvedAccountId]: {
|
[resolvedAccountId]: {
|
||||||
...next.channels?.["telegram-user"]?.accounts?.[resolvedAccountId],
|
...(current?.accounts?.[resolvedAccountId] ?? {}),
|
||||||
enabled: true,
|
enabled: true,
|
||||||
...(useEnv
|
...(useEnv
|
||||||
? {}
|
? {}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user