---
title: "Relay Formatter — Extensión Mango 3.1 Grove"
description: "Formatea mensajes de bots relay marcados explícitamente en redes sin soporte nativo IRCv3."
url: "https://mangoirc.chat/es/extensions/relay-formatter"
language: "es"
---

[← Todas las extensiones](https://mangoirc.chat/es/extensions)

Mensajería · Root

# Relay Formatter

por [Mango](https://mangoirc.chat/)

Formatea mensajes de bots relay marcados explícitamente en redes sin soporte nativo IRCv3.

Instalar en Mango 3.1 7 KB · Mango 3.1

Versión

0.2.0

Tipo de ejecución

Root de servidor

Grove API

1

Actualizado

2026-10-01

Permisos solicitados

## 3 permisos

- **Filtrar mensajes recibidos**Puede transformar o ocultar el texto de los mensajes entrantes antes de que Mango los muestre.
- **Agregar acciones de miembros**Añade acciones a los menús de miembros del canal, identificadas con el nombre de la extensión.
- **Mantener datos locales**Almacena datos de extensión en este dispositivo en su propio espacio aislado.

Acceso a la red

## Sin acceso a Internet

Su manifiesto no declara hosts externos. El sandbox de Grove bloquea las solicitudes de red fuera del paquete.

Desde la extensión

## README · Inglés

# Relay Formatter — a Grove Root

Relay Formatter improves the common fallback format used by bridge bots when an individual message does not carry IRCv3 ` draft/relaymsg `:

```text
<Alice> hello from the bridged room
[Alice] hello from the bridged room
[Alice]: hello from the bridged room
```

It also understands bridge context prefixes and preserves them in the message:

```text
[project/room] <Alice> hello from the bridged room
```

After you mark the real bot in Mango’s channel member menu, the Root displays ` Alice ` as the visible sender, the body as ` hello from the bridged room `, and a neutral relay symbol matching the member-list marker. Hovering the symbol shows the real bridge bot; older Mango versions fall back to a ` RELAY:BridgeBot ` text badge. The message’s authoritative source remains the bot, so identity-sensitive actions such as WHOIS, ignore, and auditing still point to the IRC user that sent the line. Reply and Copy use the visible bridged sender.

CHATHISTORY and bouncer playback messages pass through the filter. Starting the Root or marking/unmarking a relay bot also asks Mango to replay the current transcript through the live filter, so already-loaded rows update immediately.

## Try it

1. Install this folder, then start **Relay Formatter** in the Grove manager.
2. Approve inbound message filtering, native member actions, and storage.
3. Right-click the relay bot in a channel’s member list.
4. Choose **Extensions → Mark as Relay Bot — Relay Formatter**.
5. Mango shows a relay icon beside the member, a checkmark in the Extensions menu, and changes the action to **Unmark as Relay Bot**.

The selection is stored separately for each network using the canonical member key Mango supplies for that server’s negotiated IRC ` CASEMAPPING `.

## Settings

In Grove Manager, open **Relay Formatter → Settings** to choose automatic detection (the default) or restrict formatting to one of the three envelopes above. This preference applies to all networks; marked-bot selections remain network-specific. Saving refreshes running instances and retained messages without restarting the extension. Older Mango builds without live settings notifications apply the change when the Root is restarted.

No custom regular expressions are required. Restricting the format is useful when a marked bot also emits ordinary bracket-prefixed messages.

## Deliberately conservative

The formatter only touches an ordinary message when all of these are true:

- its real source was explicitly marked by the user;
- the message has no native relay identity;
- the text is a non-empty ` <Name> body `, ` [Name] body `, or ` [Name]: body ` envelope allowed by the selected format.

An optional bounded ` [context]  ` prefix is accepted before an angle-bracket envelope. Paired Markdown bold delimiters around the fallback nickname are removed because Mango’s sender column is plain text; all other prefix shapes remain untouched.

The server may advertise ` draft/relaymsg ` and still receive fallback envelopes from a bridge connected to a network without it. Relay Formatter therefore checks the authoritative tag on each message instead of treating the network-wide capability as proof that every bridge used it.

ACTION, NOTICE, malformed text, native relay messages, and all messages from unmarked users pass through unchanged. A storage or runtime error also fails open because formatting must never hide a message.

The Root requests no network access and sends no IRC traffic.

**manifest.json**app.mango.grove.relay-formatter

```
{
  "grove": 1,
  "id": "app.mango.grove.relay-formatter",
  "name": "Relay Formatter",
  "version": "0.2.0",
  "description": "Formats messages from explicitly marked relay bots on networks without native IRCv3 relay support.",
  "author": {
    "name": "Mango",
    "url": "https://mangoirc.chat"
  },
  "readme": "README.md",
  "entry": "index.html",
  "settings": "settings.html",
  "presentation": {
    "surfaces": [
      "headless"
    ],
    "scope": "server"
  },
  "capabilities": [
    "messages.filter.inbound",
    "ui.member-actions",
    "storage"
  ],
  "hostPermissions": []
}
```
