From 7d4fa78569b0bf92c6607dc13c7aa1d80eb7c01b Mon Sep 17 00:00:00 2001 From: Enmanuel Date: Sat, 7 Mar 2026 19:02:06 +0000 Subject: [PATCH] feat: implementar unauthorized_response explicit en listener MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Conectar el campo unauthorized_response de FiltersCfg al shouldHandle() del listener. Cuando está configurado como "explicit", el bot responde con un mensaje de permisos denegados en lugar de ignorar silenciosamente. También se añaden los campos allowed_users y unauthorized_response (comentados como ejemplo) a los configs de assistant-bot y asistente-2. Co-Authored-By: Claude Opus 4.6 --- agents/asistente-2/config.yaml | 2 ++ agents/assistant-bot/config.yaml | 5 +++++ shell/matrix/listener.go | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/agents/asistente-2/config.yaml b/agents/asistente-2/config.yaml index 8666b05..ff2a4dd 100644 --- a/agents/asistente-2/config.yaml +++ b/agents/asistente-2/config.yaml @@ -162,6 +162,8 @@ matrix: dm_respond: true ignore_bots: true ignore_users: [] + allowed_users: [] # vacío = sin restricción (todos pueden hablar) + unauthorized_response: silent # silent | explicit min_power_level: 0 # ============================================ diff --git a/agents/assistant-bot/config.yaml b/agents/assistant-bot/config.yaml index ce0b4d7..e555f12 100644 --- a/agents/assistant-bot/config.yaml +++ b/agents/assistant-bot/config.yaml @@ -162,6 +162,11 @@ matrix: dm_respond: true # responde en DMs (modo principal por ahora) ignore_bots: true ignore_users: [] + allowed_users: [] # vacío = sin restricción (todos pueden hablar) + # allowed_users: # ejemplo con restricción: + # - "@admin:matrix-af2f3d.organic-machine.com" + # - "@enmanuel:matrix-af2f3d.organic-machine.com" + unauthorized_response: silent # silent | explicit min_power_level: 0 # cualquiera puede hablar con el assistant # ============================================ diff --git a/shell/matrix/listener.go b/shell/matrix/listener.go index 9a8e666..5b585cf 100644 --- a/shell/matrix/listener.go +++ b/shell/matrix/listener.go @@ -236,6 +236,10 @@ func (l *Listener) shouldHandle(evt *event.Event) bool { } if !allowed { l.logger.Debug("ignoring unauthorized user", "sender", evt.Sender) + if f.UnauthorizedResponse == "explicit" { + ctx := context.Background() + _ = l.client.SendText(ctx, evt.RoomID.String(), "No tienes permisos para interactuar con este agente.") + } return false } }