← Tutte le estensioni

Messaggi · Root

Relay Formatter

da Mango

Formatta i messaggi dai bot relay esplicitamente contrassegnati su reti senza supporto nativo IRCv3.

Installa in Mango 3.17 KB · Mango 3.1
Versione
0.2.0
Modalità di esecuzione
Root a livello di server
Grove API
1
Aggiornato
2026-10-01

Autorizzazioni richieste

3 permessi

  • Filtra messaggi ricevutiPuò trasformare o nascondere il testo dei messaggi in arrivo prima che Mango lo visualizzi.
  • Aggiungi azioni membriAggiunge ai menu dei membri del canale azioni contrassegnate dal nome dell’estensione.
  • Mantieni i dati localiMemorizza i dati dell'estensione su questo dispositivo in uno spazio isolato a sé.

Accesso alla rete

Nessun accesso a Internet

Il suo manifesto non dichiara host esterni. Il sandbox di Grove blocca le richieste di rete fuori dal pacchetto.

Dall'estensione

README · Inglese

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:

<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:

[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.jsonapp.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": []
}