bot contesta con e2ee

This commit is contained in:
2026-03-04 00:59:10 +00:00
parent bd8e1432e5
commit 396fc39b90
12 changed files with 316 additions and 46 deletions
+26 -5
View File
@@ -19,7 +19,7 @@ need_arg "${1:-}"
USERNAME="$1"
DISPLAYNAME="${2:-$USERNAME}"
ENV_VAR="${3:-MATRIX_TOKEN_$(echo "$USERNAME" | tr '[:lower:]-' '[:upper:]_')}"
ENV_VAR="${3:-MATRIX_TOKEN_$(echo "$USERNAME" | tr '[:lower:]-' '[:upper:]_' | sed 's/_BOT$//')}"
[[ -n "${MATRIX_ADMIN_TOKEN:-}" ]] || fail "MATRIX_ADMIN_TOKEN no está en .env"
[[ -n "${MATRIX_HOMESERVER:-}" ]] || fail "MATRIX_HOMESERVER no está en .env"
@@ -27,12 +27,33 @@ ENV_VAR="${3:-MATRIX_TOKEN_$(echo "$USERNAME" | tr '[:lower:]-' '[:upper:]_')}"
info "Registrando @${USERNAME}:${MATRIX_SERVER_NAME:-$MATRIX_HOMESERVER}..."
echo ""
"$GO" run ./cmd/register \
# Ejecutar cmd/register y capturar su output completo
OUTPUT=$("$GO" run ./cmd/register \
--homeserver "$MATRIX_HOMESERVER" \
--username "$USERNAME" \
--displayname "$DISPLAYNAME" \
--env-var "$ENV_VAR"
--env-var "$ENV_VAR" 2>&1) || fail "cmd/register falló:\n$OUTPUT"
echo "$OUTPUT"
echo ""
# Extraer la línea ENV_VAR=token del output
TOKEN_LINE=$(echo "$OUTPUT" | grep "^${ENV_VAR}=")
[[ -n "$TOKEN_LINE" ]] || fail "No se encontró '${ENV_VAR}=' en el output de cmd/register"
TOKEN=$(echo "$TOKEN_LINE" | cut -d= -f2-)
[[ -n "$TOKEN" ]] || fail "Token vacío para $ENV_VAR"
# Actualizar .env — reemplazar si ya existe, añadir si no
if grep -q "^${ENV_VAR}=" .env; then
awk -v key="$ENV_VAR" -v val="$TOKEN" \
'index($0, key "=") == 1 { print key "=" val; next } { print }' \
.env > /tmp/_env_tmp && mv /tmp/_env_tmp .env
ok "$ENV_VAR actualizado en .env"
else
printf '\n%s=%s\n' "$ENV_VAR" "$TOKEN" >> .env
ok "$ENV_VAR añadido a .env"
fi
echo ""
dim " Copia las líneas de arriba a tu .env y luego corre:"
dim " ./dev-scripts/start.sh $USERNAME"
dim " Arranca el bot con: ./dev-scripts/start.sh $USERNAME"