refactor: lock down to single chat_id

This commit is contained in:
banteg
2025-12-29 03:30:06 +04:00
parent d804110369
commit 09779861cc
2 changed files with 8 additions and 26 deletions
-1
View File
@@ -23,7 +23,6 @@ chat_id = 123456789
Optional keys: Optional keys:
- common: `allowed_chat_ids`, `startup_chat_ids`
- exec/resume: `startup_message`, `codex_cmd`, `codex_workspace`, `codex_exec_args`, `max_workers`, `codex_io_mode`, `codex_command_timeout_s`, `codex_no_child_timeout_s` - exec/resume: `startup_message`, `codex_cmd`, `codex_workspace`, `codex_exec_args`, `max_workers`, `codex_io_mode`, `codex_command_timeout_s`, `codex_no_child_timeout_s`
## Option 1: exec/resume ## Option 1: exec/resume
@@ -363,16 +363,7 @@ def run(
setup_logging(log_file if log_file else None) setup_logging(log_file if log_file else None)
config = load_telegram_config() config = load_telegram_config()
token = config["bot_token"] token = config["bot_token"]
config_chat_id = int(config["chat_id"])
def _as_int_set(value: Any) -> set[int]:
if isinstance(value, int):
return {value}
if isinstance(value, list):
return {int(v) for v in value}
raise TypeError(f"expected int or list[int], got {type(value).__name__}")
allowed = _as_int_set(config.get("allowed_chat_ids", config["chat_id"]))
startup_ids = _as_int_set(config.get("startup_chat_ids", config["chat_id"]))
startup_msg = config.get("startup_message", "✅ exec_bridge started (codex exec).") startup_msg = config.get("startup_message", "✅ exec_bridge started (codex exec).")
startup_pwd = os.getcwd() startup_pwd = os.getcwd()
@@ -431,19 +422,11 @@ def run(
logger.info("[startup] pwd=%s", startup_pwd) logger.info("[startup] pwd=%s", startup_pwd)
logger.info("Option1 bridge running (codex exec). Long-polling Telegram...") logger.info("Option1 bridge running (codex exec). Long-polling Telegram...")
if startup_ids:
for chat_id in startup_ids:
try: try:
bot.send_message(chat_id=chat_id, text=startup_msg) bot.send_message(chat_id=config_chat_id, text=startup_msg)
logger.info("[startup] sent startup message to chat_id=%s", chat_id) logger.info("[startup] sent startup message to chat_id=%s", config_chat_id)
except Exception as e: except Exception as e:
logger.info( logger.info("[startup] failed to send startup message to chat_id=%s: %s", config_chat_id, e)
"[startup] failed to send startup message to chat_id=%s: %s",
chat_id,
e,
)
else:
logger.info("[startup] no chat_id configured; skipping startup message")
def handle( def handle(
chat_id: int, user_msg_id: int, text: str, resume_session: str | None chat_id: int, user_msg_id: int, text: str, resume_session: str | None
@@ -634,11 +617,11 @@ def run(
) )
continue continue
if allowed is not None and int(chat_id) not in allowed: if int(chat_id) != config_chat_id:
logger.info( logger.info(
"[telegram] rejected by ACL chat_id=%s allowed=%s", "[telegram] rejected by ACL chat_id=%s allowed=%s",
chat_id, chat_id,
sorted(allowed), config_chat_id,
) )
continue continue