mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-19 11:38:38 +00:00
refactor(telegram): share allowFrom normalization
This commit is contained in:
11
src/channels/telegram/allow-from.ts
Normal file
11
src/channels/telegram/allow-from.ts
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
export function normalizeTelegramAllowFromEntry(raw: unknown): string {
|
||||||
|
const base = typeof raw === "string" ? raw : typeof raw === "number" ? String(raw) : "";
|
||||||
|
return base
|
||||||
|
.trim()
|
||||||
|
.replace(/^(telegram|tg):/i, "")
|
||||||
|
.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
export function isNumericTelegramUserId(raw: string): boolean {
|
||||||
|
return /^\d+$/.test(raw);
|
||||||
|
}
|
||||||
@@ -3,6 +3,10 @@ import fs from "node:fs/promises";
|
|||||||
import path from "node:path";
|
import path from "node:path";
|
||||||
import type { OpenClawConfig } from "../config/config.js";
|
import type { OpenClawConfig } from "../config/config.js";
|
||||||
import type { DoctorOptions } from "./doctor-prompter.js";
|
import type { DoctorOptions } from "./doctor-prompter.js";
|
||||||
|
import {
|
||||||
|
isNumericTelegramUserId,
|
||||||
|
normalizeTelegramAllowFromEntry,
|
||||||
|
} from "../channels/telegram/allow-from.js";
|
||||||
import { formatCliCommand } from "../cli/command-format.js";
|
import { formatCliCommand } from "../cli/command-format.js";
|
||||||
import {
|
import {
|
||||||
OpenClawSchema,
|
OpenClawSchema,
|
||||||
@@ -143,18 +147,6 @@ function noteOpencodeProviderOverrides(cfg: OpenClawConfig) {
|
|||||||
note(lines.join("\n"), "OpenCode Zen");
|
note(lines.join("\n"), "OpenCode Zen");
|
||||||
}
|
}
|
||||||
|
|
||||||
function normalizeTelegramAllowFromEntry(raw: unknown): string {
|
|
||||||
const base = typeof raw === "string" ? raw : typeof raw === "number" ? String(raw) : "";
|
|
||||||
return base
|
|
||||||
.trim()
|
|
||||||
.replace(/^(telegram|tg):/i, "")
|
|
||||||
.trim();
|
|
||||||
}
|
|
||||||
|
|
||||||
function isNumericTelegramUserId(raw: string): boolean {
|
|
||||||
return /^\d+$/.test(raw);
|
|
||||||
}
|
|
||||||
|
|
||||||
type TelegramAllowFromUsernameHit = { path: string; entry: string };
|
type TelegramAllowFromUsernameHit = { path: string; entry: string };
|
||||||
|
|
||||||
function scanTelegramAllowFromUsernameEntries(cfg: OpenClawConfig): TelegramAllowFromUsernameHit[] {
|
function scanTelegramAllowFromUsernameEntries(cfg: OpenClawConfig): TelegramAllowFromUsernameHit[] {
|
||||||
|
|||||||
@@ -3,6 +3,10 @@ import type { ChannelId } from "../channels/plugins/types.js";
|
|||||||
import type { OpenClawConfig } from "../config/config.js";
|
import type { OpenClawConfig } from "../config/config.js";
|
||||||
import type { SecurityAuditFinding, SecurityAuditSeverity } from "./audit.js";
|
import type { SecurityAuditFinding, SecurityAuditSeverity } from "./audit.js";
|
||||||
import { resolveChannelDefaultAccountId } from "../channels/plugins/helpers.js";
|
import { resolveChannelDefaultAccountId } from "../channels/plugins/helpers.js";
|
||||||
|
import {
|
||||||
|
isNumericTelegramUserId,
|
||||||
|
normalizeTelegramAllowFromEntry,
|
||||||
|
} from "../channels/telegram/allow-from.js";
|
||||||
import { formatCliCommand } from "../cli/command-format.js";
|
import { formatCliCommand } from "../cli/command-format.js";
|
||||||
import { resolveNativeCommandsEnabled, resolveNativeSkillsEnabled } from "../config/commands.js";
|
import { resolveNativeCommandsEnabled, resolveNativeSkillsEnabled } from "../config/commands.js";
|
||||||
import { readChannelAllowFromStore } from "../pairing/pairing-store.js";
|
import { readChannelAllowFromStore } from "../pairing/pairing-store.js";
|
||||||
@@ -14,18 +18,6 @@ function normalizeAllowFromList(list: Array<string | number> | undefined | null)
|
|||||||
return list.map((v) => String(v).trim()).filter(Boolean);
|
return list.map((v) => String(v).trim()).filter(Boolean);
|
||||||
}
|
}
|
||||||
|
|
||||||
function normalizeTelegramAllowFromEntry(raw: unknown): string {
|
|
||||||
const base = typeof raw === "string" ? raw : typeof raw === "number" ? String(raw) : "";
|
|
||||||
return base
|
|
||||||
.trim()
|
|
||||||
.replace(/^(telegram|tg):/i, "")
|
|
||||||
.trim();
|
|
||||||
}
|
|
||||||
|
|
||||||
function isNumericTelegramUserId(raw: string): boolean {
|
|
||||||
return /^\d+$/.test(raw);
|
|
||||||
}
|
|
||||||
|
|
||||||
function classifyChannelWarningSeverity(message: string): SecurityAuditSeverity {
|
function classifyChannelWarningSeverity(message: string): SecurityAuditSeverity {
|
||||||
const s = message.toLowerCase();
|
const s = message.toLowerCase();
|
||||||
if (
|
if (
|
||||||
|
|||||||
Reference in New Issue
Block a user