From 97d5f87ec11480cc2833b60d889ed1f58134a4b8 Mon Sep 17 00:00:00 2001 From: Teh PeGaSuS Date: Thu, 5 Mar 2026 19:39:58 +0100 Subject: [PATCH] Fix and expand README across all three languages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add missing commands: addban, addop, delop, ops - Add missing autoadd to private commands tables - Add Flag column to command tables to distinguish [o] from [n] - Add missing addOpMask to configuration table - Document 5-minute extban cron job in automatic ban tracking - Add notes on addban raw mask behaviour and uid/sid InspIRCd handling - Fix %s → %1$s positional placeholder wording in language support - Add is.enabled/is.disabled translation guidance for new language authors --- Chanban/README.md | 194 +++++++++++++++++++++++++++------------------- 1 file changed, 115 insertions(+), 79 deletions(-) diff --git a/Chanban/README.md b/Chanban/README.md index c80ae2b..36e0491 100644 --- a/Chanban/README.md +++ b/Chanban/README.md @@ -34,7 +34,8 @@ All configuration is done at the top of `cmgmt.tcl`. | `trigger` | `@` | Prefix for public commands | | `tBanDuration` | `30` | Duration of temporary bans, in minutes | | `upCommand` | `curl -s -F file=@- https://x0.at/` | Command used to upload the ban list. Must read from stdin | -| `banMask` | `2` | Ban mask type (see mask types below) | +| `banMask` | `2` | Ban mask type used when banning a user by nick (see mask types below) | +| `addOpMask` | `1` | Mask type used when adding a user as op (see mask types below) | | `protectMasks` | `*!*@services.ptirc.org` | Masks that can never be banned or kicked | | `noAddNicks` | `ChanServ NickServ ChanBot` | Nicks to ignore when auto-adding bans | | `noAddMasks` | `*!*@services.ptirc.org` | Masks to ignore when auto-adding bans | @@ -58,37 +59,45 @@ All configuration is done at the top of `cmgmt.tcl`. ## Commands -All commands require the user to have the `o` (op) flag on the channel. Commands are available both publicly in the channel (prefixed with the trigger) and privately via `/msg` to the bot. +Commands marked with **[o]** require the `o` (op) flag on the channel. Commands marked with **[n]** require the `n` (owner) flag globally. Commands are available both publicly in the channel (prefixed with the trigger) and privately via `/msg` to the bot. ### Public Commands (in channel) -| Command | Description | -|---|---| -| `@ban ` | Bans a user from the channel and adds the mask to the bot's ban list | -| `@tban ` | Temporarily bans a user for the duration set in `tBanDuration` | -| `@kick ` | Kicks a user from the channel | -| `@voice ` | Gives voice (+v) to a user | -| `@devoice ` | Removes voice (-v) from a user | -| `@unban ` | Removes a ban mask from the channel and the bot's ban list | -| `@banlist` | Uploads the bot's ban list for the channel and posts a link | -| `@autoadd ` | Enables, disables, or checks the status of automatic ban adding | -| `@opcmds` | Lists all available commands | +| Command | Flag | Description | +|---|---|---| +| `@addban ` | [o] | Adds a raw ban mask directly to the bot's ban list and sets it on the channel. The mask must be properly formatted (e.g. `*!*@host`) | +| `@ban ` | [o] | Bans a user from the channel and adds the mask to the bot's ban list | +| `@tban ` | [o] | Temporarily bans a user for the duration set in `tBanDuration` | +| `@kick ` | [o] | Kicks a user from the channel | +| `@voice ` | [o] | Gives voice (+v) to a user | +| `@devoice ` | [o] | Removes voice (-v) from a user | +| `@unban ` | [o] | Removes a ban mask from the channel and the bot's ban list | +| `@banlist` | [o] | Uploads the bot's ban list for the channel and posts a link | +| `@autoadd ` | [o] | Enables, disables, or checks the status of automatic ban adding | +| `@addop ` | [n] | Adds a user as op for the channel in the bot's database | +| `@delop ` | [n] | Removes a user's op access for the channel from the bot's database | +| `@ops` | [n] | Lists all ops registered for the channel in the bot's database | +| `@opcmds` | [o] | Lists all available commands | ### Private Commands (via /msg) The syntax is the same but requires the channel to be specified as the first argument. -| Command | Description | -|---|---| -| `ban <#chan> ` | Bans a user from the specified channel | -| `tban <#chan> ` | Temporarily bans a user from the specified channel | -| `kick <#chan> ` | Kicks a user from the specified channel | -| `voice <#chan> ` | Gives voice to a user in the specified channel | -| `devoice <#chan> ` | Removes voice from a user in the specified channel | -| `unban <#chan> ` | Removes a ban mask from the specified channel | -| `banlist <#chan>` | Uploads and sends the ban list for the specified channel | -| `autoadd <#chan> ` | Manages automatic ban adding for the specified channel | -| `opcmds <#chan>` | Lists all available commands | +| Command | Flag | Description | +|---|---|---| +| `addban <#chan> ` | [o] | Adds a raw ban mask directly to the bot's ban list and sets it on the channel | +| `ban <#chan> ` | [o] | Bans a user from the specified channel | +| `tban <#chan> ` | [o] | Temporarily bans a user from the specified channel | +| `kick <#chan> ` | [o] | Kicks a user from the specified channel | +| `voice <#chan> ` | [o] | Gives voice to a user in the specified channel | +| `devoice <#chan> ` | [o] | Removes voice from a user in the specified channel | +| `unban <#chan> ` | [o] | Removes a ban mask from the specified channel | +| `banlist <#chan>` | [o] | Uploads and sends the ban list for the specified channel | +| `autoadd <#chan> ` | [o] | Manages automatic ban adding for the specified channel | +| `addop <#chan> ` | [n] | Adds a user as op for the specified channel | +| `delop <#chan> ` | [n] | Removes a user's op access for the specified channel | +| `ops <#chan>` | [n] | Lists all ops registered for the specified channel | +| `opcmds <#chan>` | [o] | Lists all available commands | --- @@ -100,7 +109,8 @@ When enabled, the bot automatically mirrors IRC bans (`+b` modes) into its inter - Bans matching any host belonging to a user with the `m`, `n`, or `o` flag are protected and will be immediately removed. - Extended bans (masks starting with `~`) are tracked separately as `EXTBAN` entries and marked as sticky. - Auto-tracking is per-channel and is toggled with `@autoadd on/off`. -- Op notices (`NOTICE @#channel`) are sent when bans are automatically added or removed. +- Op notices (`NOTICE @#channel`) are sent when bans are automatically added. +- Every 5 minutes, the bot scans all channels for existing extended bans and adds any that are not yet in its internal list, also marking them as sticky. --- @@ -118,7 +128,7 @@ To change the language, set the `locale` variable in the configuration section t | `pt` | Portuguese (European) | | `it` | Italian | -To add a new language, copy `en.msg`, rename it to the desired locale code, and translate the strings. The `%1$s` positional placeholders must be kept in the same order as described in the comments above each entry. +To add a new language, copy `en.msg`, rename it to the desired locale code, and translate the strings. The `%1$s` positional placeholders must be kept in the same order as described in the comments above each entry. The `is.enabled` and `is.disabled` keys are used as the substituted value inside the `autoadd.status` message, so they should be translated as a single word or short phrase that fits naturally into that sentence. ### Custom Upload Command @@ -139,8 +149,10 @@ variable upCommand "curl -s -F file=@- https://your-pastebin.com/upload" ## Notes -- The bot will not ban, kick, or devoice users with the `o` flag or users matching `protectMasks`. +- The bot will not ban, kick, or remove voice from users with the `o` flag or users matching `protectMasks`. - If someone tries to use a ban/kick command on the bot itself, the bot will kick them instead. +- `@addban` expects a correctly formatted mask. No mask generation is done — what you type is what gets set. +- `@ban` and `@tban` generate the ban mask automatically from the target's host, using the type set in `banMask`. If the host begins with `uid` or `sid` (common on InspIRCd-based networks), the mask is always set to `*!*@host` regardless of `banMask`. - The ban list upload requires an external command that reads from stdin. The default uses [x0.at](https://x0.at/). This can be changed via the `upCommand` variable. - Extended bans are tracked but not managed by the bot's ban/unban commands — they are handled solely through IRC mode changes. @@ -184,7 +196,8 @@ Tutta la configurazione si trova all'inizio di `cmgmt.tcl`. | `trigger` | `@` | Prefisso per i comandi pubblici | | `tBanDuration` | `30` | Durata dei ban temporanei, in minuti | | `upCommand` | `curl -s -F file=@- https://x0.at/` | Comando per caricare la lista ban. Deve leggere dallo stdin | -| `banMask` | `2` | Tipo di banmask (vedi i tipi di mask qui sotto) | +| `banMask` | `2` | Tipo di banmask utilizzata quando si banna un utente per nick (vedi i tipi di mask qui sotto) | +| `addOpMask` | `1` | Tipo di mask utilizzata quando si aggiunge un utente come op (vedi i tipi di mask qui sotto) | | `protectMasks` | `*!*@services.ptirc.org` | Mask che non possono mai essere bannate o kickate | | `noAddNicks` | `ChanServ NickServ ChanBot` | Nick da ignorare durante l'aggiunta automatica dei ban | | `noAddMasks` | `*!*@services.ptirc.org` | Mask da ignorare durante l'aggiunta automatica dei ban | @@ -208,37 +221,45 @@ Tutta la configurazione si trova all'inizio di `cmgmt.tcl`. ## Comandi -Tutti i comandi richiedono che l'utente abbia il flag `o` (op) sul canale. I comandi sono disponibili sia pubblicamente nel canale (preceduti dal trigger) che privatamente tramite `/msg` al bot. +I comandi contrassegnati con **[o]** richiedono il flag `o` (op) sul canale. I comandi contrassegnati con **[n]** richiedono il flag `n` (owner) globale. I comandi sono disponibili sia pubblicamente nel canale (preceduti dal trigger) che privatamente tramite `/msg` al bot. ### Comandi Pubblici (nel canale) -| Comando | Descrizione | -|---|---| -| `@ban ` | Banna un utente dal canale e aggiunge la mask alla lista ban del bot | -| `@tban ` | Banna temporaneamente un utente per la durata impostata in `tBanDuration` | -| `@kick ` | Kicka un utente dal canale | -| `@voice ` | Assegna la voice (+v) a un utente | -| `@devoice ` | Rimuove la voice (-v) a un utente | -| `@unban ` | Rimuove una banmask dal canale e dalla lista ban del bot | -| `@banlist` | Carica la lista ban del canale e pubblica il link | -| `@autoadd ` | Abilita, disabilita o controlla lo stato dell'aggiunta automatica dei ban | -| `@opcmds` | Elenca tutti i comandi disponibili | +| Comando | Flag | Descrizione | +|---|---|---| +| `@addban ` | [o] | Aggiunge una banmask grezza direttamente alla lista ban del bot e la imposta sul canale. La mask deve essere correttamente formattata (es. `*!*@host`) | +| `@ban ` | [o] | Banna un utente dal canale e aggiunge la mask alla lista ban del bot | +| `@tban ` | [o] | Banna temporaneamente un utente per la durata impostata in `tBanDuration` | +| `@kick ` | [o] | Kicka un utente dal canale | +| `@voice ` | [o] | Assegna la voice (+v) a un utente | +| `@devoice ` | [o] | Rimuove la voice (-v) a un utente | +| `@unban ` | [o] | Rimuove una banmask dal canale e dalla lista ban del bot | +| `@banlist` | [o] | Carica la lista ban del canale e pubblica il link | +| `@autoadd ` | [o] | Abilita, disabilita o controlla lo stato dell'aggiunta automatica dei ban | +| `@addop ` | [n] | Aggiunge un utente come op del canale nel database del bot | +| `@delop ` | [n] | Rimuove i permessi di op di un utente per il canale dal database del bot | +| `@ops` | [n] | Elenca tutti gli op registrati per il canale nel database del bot | +| `@opcmds` | [o] | Elenca tutti i comandi disponibili | ### Comandi Privati (via /msg) La sintassi è la stessa ma richiede il canale come primo argomento. -| Comando | Descrizione | -|---|---| -| `ban <#chan> ` | Banna un utente dal canale specificato | -| `tban <#chan> ` | Banna temporaneamente un utente dal canale specificato | -| `kick <#chan> ` | Kicka un utente dal canale specificato | -| `voice <#chan> ` | Assegna la voice a un utente nel canale specificato | -| `devoice <#chan> ` | Rimuove la voice a un utente nel canale specificato | -| `unban <#chan> ` | Rimuove una banmask dal canale specificato | -| `banlist <#chan>` | Carica e invia la lista ban del canale specificato | -| `autoadd <#chan> ` | Gestisce l'aggiunta automatica dei ban per il canale specificato | -| `opcmds <#chan>` | Elenca tutti i comandi disponibili | +| Comando | Flag | Descrizione | +|---|---|---| +| `addban <#chan> ` | [o] | Aggiunge una banmask grezza direttamente alla lista ban del bot e la imposta sul canale | +| `ban <#chan> ` | [o] | Banna un utente dal canale specificato | +| `tban <#chan> ` | [o] | Banna temporaneamente un utente dal canale specificato | +| `kick <#chan> ` | [o] | Kicka un utente dal canale specificato | +| `voice <#chan> ` | [o] | Assegna la voice a un utente nel canale specificato | +| `devoice <#chan> ` | [o] | Rimuove la voice a un utente nel canale specificato | +| `unban <#chan> ` | [o] | Rimuove una banmask dal canale specificato | +| `banlist <#chan>` | [o] | Carica e invia la lista ban del canale specificato | +| `autoadd <#chan> ` | [o] | Gestisce l'aggiunta automatica dei ban per il canale specificato | +| `addop <#chan> ` | [n] | Aggiunge un utente come op del canale specificato | +| `delop <#chan> ` | [n] | Rimuove i permessi di op di un utente per il canale specificato | +| `ops <#chan>` | [n] | Elenca tutti gli op registrati per il canale specificato | +| `opcmds <#chan>` | [o] | Elenca tutti i comandi disponibili | --- @@ -250,7 +271,8 @@ Quando abilitato, il bot registra automaticamente i ban IRC (mode `+b`) nella su - I ban che corrispondono a un host di un utente con flag `m`, `n` o `o` sono protetti e vengono rimossi immediatamente. - I ban estesi (mask che iniziano con `~`) vengono tracciati separatamente come voci `EXTBAN` e contrassegnati come sticky. - Il tracciamento automatico è per-canale e si attiva con `@autoadd on/off`. -- Quando i ban vengono aggiunti o rimossi automaticamente, viene inviata una notice agli op (`NOTICE @#canale`). +- Quando i ban vengono aggiunti automaticamente, viene inviata una notice agli op (`NOTICE @#canale`). +- Ogni 5 minuti, il bot analizza tutti i canali alla ricerca di ban estesi esistenti e aggiunge quelli non ancora presenti nella sua lista interna, contrassegnandoli come sticky. --- @@ -268,7 +290,7 @@ Per cambiare lingua, imposta la variabile `locale` nella sezione di configurazio | `pt` | Portoghese (Europeo) | | `it` | Italiano | -Per aggiungere una nuova lingua, copia `en.msg`, rinominalo con il codice locale desiderato e traduci le stringhe. I segnaposto posizionali `%1$s` devono essere mantenuti nell'ordine indicato nei commenti sopra ogni voce. +Per aggiungere una nuova lingua, copia `en.msg`, rinominalo con il codice locale desiderato e traduci le stringhe. I segnaposto posizionali `%1$s` devono essere mantenuti nell'ordine indicato nei commenti sopra ogni voce. Le chiavi `is.enabled` e `is.disabled` vengono usate come valore sostituito all'interno del messaggio `autoadd.status`, quindi devono essere tradotte come una parola o una breve espressione che si inserisca naturalmente in quella frase. ### Comando di Upload Personalizzato @@ -291,6 +313,8 @@ variable upCommand "curl -s -F file=@- https://tuo-pastebin.com/upload" - Il bot non bannerà, kickerà o rimuoverà la voice agli utenti con flag `o` o che corrispondono a `protectMasks`. - Se qualcuno tenta di usare un comando ban/kick sul bot stesso, il bot kickerà lui al suo posto. +- `@addban` si aspetta una mask correttamente formattata. Non viene effettuata alcuna generazione automatica della mask — quello che scrivi è quello che viene impostato. +- `@ban` e `@tban` generano automaticamente la banmask dall'host del bersaglio, usando il tipo impostato in `banMask`. Se l'host inizia con `uid` o `sid` (comune sulle reti basate su InspIRCd), la mask viene sempre impostata come `*!*@host` indipendentemente da `banMask`. - Il caricamento della lista ban richiede un comando esterno che legga dallo stdin. Il predefinito utilizza [x0.at](https://x0.at/). Può essere cambiato tramite la variabile `upCommand`. - I ban estesi vengono tracciati ma non gestiti dai comandi ban/unban del bot — vengono gestiti esclusivamente tramite i cambi di mode IRC. @@ -334,7 +358,8 @@ Toda a configuração é feita no início de `cmgmt.tcl`. | `trigger` | `@` | Prefixo para os comandos públicos | | `tBanDuration` | `30` | Duração dos bans temporários, em minutos | | `upCommand` | `curl -s -F file=@- https://x0.at/` | Comando para carregar a lista de bans. Tem de ler do stdin | -| `banMask` | `2` | Tipo de banmask (ver tipos de mask abaixo) | +| `banMask` | `2` | Tipo de banmask utilizada ao banir um utilizador por nick (ver tipos de mask abaixo) | +| `addOpMask` | `1` | Tipo de mask utilizada ao adicionar um utilizador como op (ver tipos de mask abaixo) | | `protectMasks` | `*!*@services.ptirc.org` | Masks que nunca podem ser banidas ou kickadas | | `noAddNicks` | `ChanServ NickServ ChanBot` | Nicks a ignorar na adição automática de bans | | `noAddMasks` | `*!*@services.ptirc.org` | Masks a ignorar na adição automática de bans | @@ -358,37 +383,45 @@ Toda a configuração é feita no início de `cmgmt.tcl`. ## Comandos -Todos os comandos requerem que o utilizador tenha o flag `o` (op) no canal. Os comandos estão disponíveis tanto publicamente no canal (prefixados com o trigger) como privadamente via `/msg` ao bot. +Os comandos marcados com **[o]** requerem o flag `o` (op) no canal. Os comandos marcados com **[n]** requerem o flag `n` (owner) globalmente. Os comandos estão disponíveis tanto publicamente no canal (prefixados com o trigger) como privadamente via `/msg` ao bot. ### Comandos Públicos (no canal) -| Comando | Descrição | -|---|---| -| `@ban ` | Bane um utilizador do canal e adiciona a mask à lista de bans do bot | -| `@tban ` | Bane temporariamente um utilizador pelo tempo definido em `tBanDuration` | -| `@kick ` | Kicka um utilizador do canal | -| `@voice ` | Atribui voice (+v) a um utilizador | -| `@devoice ` | Remove a voice (-v) a um utilizador | -| `@unban ` | Remove uma banmask do canal e da lista de bans do bot | -| `@banlist` | Carrega a lista de bans do canal e publica o link | -| `@autoadd ` | Activa, desactiva ou verifica o estado da adição automática de bans | -| `@opcmds` | Lista todos os comandos disponíveis | +| Comando | Flag | Descrição | +|---|---|---| +| `@addban ` | [o] | Adiciona uma banmask directamente à lista de bans do bot e define-a no canal. A mask tem de estar correctamente formatada (ex. `*!*@host`) | +| `@ban ` | [o] | Bane um utilizador do canal e adiciona a mask à lista de bans do bot | +| `@tban ` | [o] | Bane temporariamente um utilizador pelo tempo definido em `tBanDuration` | +| `@kick ` | [o] | Kicka um utilizador do canal | +| `@voice ` | [o] | Atribui voice (+v) a um utilizador | +| `@devoice ` | [o] | Remove a voice (-v) a um utilizador | +| `@unban ` | [o] | Remove uma banmask do canal e da lista de bans do bot | +| `@banlist` | [o] | Carrega a lista de bans do canal e publica o link | +| `@autoadd ` | [o] | Activa, desactiva ou verifica o estado da adição automática de bans | +| `@addop ` | [n] | Adiciona um utilizador como op do canal na base de dados do bot | +| `@delop ` | [n] | Remove o acesso de op de um utilizador para o canal da base de dados do bot | +| `@ops` | [n] | Lista todos os ops registados para o canal na base de dados do bot | +| `@opcmds` | [o] | Lista todos os comandos disponíveis | ### Comandos Privados (via /msg) A sintaxe é a mesma mas requer o canal como primeiro argumento. -| Comando | Descrição | -|---|---| -| `ban <#chan> ` | Bane um utilizador do canal especificado | -| `tban <#chan> ` | Bane temporariamente um utilizador do canal especificado | -| `kick <#chan> ` | Kicka um utilizador do canal especificado | -| `voice <#chan> ` | Atribui voice a um utilizador no canal especificado | -| `devoice <#chan> ` | Remove a voice a um utilizador no canal especificado | -| `unban <#chan> ` | Remove uma banmask do canal especificado | -| `banlist <#chan>` | Carrega e envia a lista de bans do canal especificado | -| `autoadd <#chan> ` | Gere a adição automática de bans para o canal especificado | -| `opcmds <#chan>` | Lista todos os comandos disponíveis | +| Comando | Flag | Descrição | +|---|---|---| +| `addban <#chan> ` | [o] | Adiciona uma banmask directamente à lista de bans do bot e define-a no canal | +| `ban <#chan> ` | [o] | Bane um utilizador do canal especificado | +| `tban <#chan> ` | [o] | Bane temporariamente um utilizador do canal especificado | +| `kick <#chan> ` | [o] | Kicka um utilizador do canal especificado | +| `voice <#chan> ` | [o] | Atribui voice a um utilizador no canal especificado | +| `devoice <#chan> ` | [o] | Remove a voice a um utilizador no canal especificado | +| `unban <#chan> ` | [o] | Remove uma banmask do canal especificado | +| `banlist <#chan>` | [o] | Carrega e envia a lista de bans do canal especificado | +| `autoadd <#chan> ` | [o] | Gere a adição automática de bans para o canal especificado | +| `addop <#chan> ` | [n] | Adiciona um utilizador como op do canal especificado | +| `delop <#chan> ` | [n] | Remove o acesso de op de um utilizador para o canal especificado | +| `ops <#chan>` | [n] | Lista todos os ops registados para o canal especificado | +| `opcmds <#chan>` | [o] | Lista todos os comandos disponíveis | --- @@ -400,7 +433,8 @@ Quando activado, o bot regista automaticamente os bans IRC (mode `+b`) na sua li - Bans que correspondam ao host de um utilizador com flag `m`, `n` ou `o` são protegidos e removidos imediatamente. - Bans estendidos (masks que começam com `~`) são rastreados separadamente como entradas `EXTBAN` e marcados como sticky. - O rastreamento automático é por canal e é activado com `@autoadd on/off`. -- Quando bans são adicionados ou removidos automaticamente, é enviada uma notice aos ops (`NOTICE @#canal`). +- Quando bans são adicionados automaticamente, é enviada uma notice aos ops (`NOTICE @#canal`). +- A cada 5 minutos, o bot analisa todos os canais à procura de bans estendidos existentes e adiciona os que ainda não estão na sua lista interna, marcando-os como sticky. --- @@ -418,7 +452,7 @@ Para alterar o idioma, define a variável `locale` na secção de configuração | `pt` | Português (Europeu) | | `it` | Italiano | -Para adicionar um novo idioma, copia `en.msg`, renomeia-o com o código de locale pretendido e traduz as strings. Os marcadores posicionais `%1$s` têm de ser mantidos na ordem indicada nos comentários acima de cada entrada. +Para adicionar um novo idioma, copia `en.msg`, renomeia-o com o código de locale pretendido e traduz as strings. Os marcadores posicionais `%1$s` têm de ser mantidos na ordem indicada nos comentários acima de cada entrada. As chaves `is.enabled` e `is.disabled` são usadas como valor substituído dentro da mensagem `autoadd.status`, por isso devem ser traduzidas como uma palavra ou expressão curta que se encaixe naturalmente nessa frase. ### Comando de Upload Personalizado @@ -441,5 +475,7 @@ variable upCommand "curl -s -F file=@- https://teu-pastebin.com/upload" - O bot não vai banir, kickar ou remover a voice a utilizadores com flag `o` ou que correspondam a `protectMasks`. - Se alguém tentar usar um comando ban/kick no próprio bot, o bot kicka essa pessoa em vez disso. +- `@addban` espera uma mask correctamente formatada. Não é feita nenhuma geração automática de mask — o que escreveres é o que fica definido. +- `@ban` e `@tban` geram automaticamente a banmask a partir do host do alvo, usando o tipo definido em `banMask`. Se o host começar com `uid` ou `sid` (comum em redes baseadas em InspIRCd), a mask é sempre definida como `*!*@host` independentemente de `banMask`. - O carregamento da lista de bans requer um comando externo que leia do stdin. A predefinição utiliza [x0.at](https://x0.at/). Pode ser alterado através da variável `upCommand`. - Os bans estendidos são rastreados mas não geridos pelos comandos ban/unban do bot — são tratados exclusivamente através de mudanças de mode IRC. \ No newline at end of file