Skip to content

Command: mod#


Summary#

Command Default Level Global Only?
mod 200 no

Description#

  • Modifies an attribute of a whitelist or blacklist entry
  • Standard attributes supported:
    • value: the list entry value
    • action: the action when matched (accept, voice, op, kickban)
    • limit: the joins:secs:hold value for cumulative matches
    • depends: a list of entry IDs that must also match before this entry matches
    • reason: the reason for the entry (and kick message if a blacklist)
  • Entry flags can also be toggled on or off:
    • nochans: only match if the user is in no visible channels
    • onlykick: only kick the client, do not also ban them
    • noident: only match if ~ is found in their ident
    • manual: do not taken any action, send opnotice for manual review by a human
    • captcha: send Text CAPTCHA for verification before accepting (if enabled in configuration)
    • disabled: disable the entry to temporarily prevent matching
    • onlysecure: only enabled when secure mode is enabled for the channel
    • notsecure: only enabled when secure mode is not enabled for the channel
    • silent: do not send channel notices or opnotices about results
    • continue: continue checking for additional list matches (with a blacklist taking precedence)

Usage#

mod ?chan? <id> <value|action|limit|depends|reason|nochans|onlykick|noident|manual|captcha|disabled|onlysecure|notsecure|silent|continue|ircbl> <value>
  • Channel parameter is optional. If not given, the bot will default to the originating channel, the channel the user has the most access in, or lastly, the default Armour channel.
  • Attributes and settings can be modified for multiple entries at the same time by comma delimiting multiple entry IDs.

Examples#

Attributes#

Change whitelist entry ID 84 to autovoice the user:

@Empus | y mod 84 action voice
 @yolk | modified user whitelist entry (chan: #newchan -- id: 84 -- value: Empus -- action: voice)

Change blacklist entry 85 with new reason of No longer welcome:

@Empus | y mod 85 reason No longer welcome
 @yolk | modified user blacklist entry (chan: #newchan -- id: 85 -- value: badBoy -- reason: No longer welcome)

Flags#

Setup whitelist entry to automatically and silently voice authenticated clients when the channel is in secure mode:

@Empus | y add white user * accept Authenticated user
 @yolk | added user whitelist entry (id: 82 -- value: * -- action: accept -- reason: Authenticated user)
@Empus | y mod 82 onlysecure on
 @yolk | modified user whitelist entry (chan: #newchan -- id: 82 -- value: * -- onlysecure: on)
@Empus | y mod 82 silent on
 @yolk | modified user whitelist entry (chan: #newchan -- id: 82 -- value: * -- silent: on)
@Empus | y view 82
 @yolk | list match: whitelist user: * (id: 82 chan: #newchan action: accept hits: 0 flags: onlysecure,silent added: 0 days, 00:00:28 ago by: Empus!empus@172.16.164.1 reason: Authenticated user)

Enable entry with ID 52:

@Empus | y mod 52 disabled off
 @yolk | modified regex blacklist entry (chan: #newchan -- id: 52 -- value: ^[^!]+!~ -- disabled: off)

Require manual review when a client in no other channels joins when secure mode is on and they do not have a resolved ident

@Empus | y add black host *!~* kb secure mode: risky user in no channels
 @yolk | added host blacklist entry (id: 83 -- value: *!~* -- action: kickban -- reason: secure mode: risky user in no channels)
@Empus | y mod 83 manual on
 @yolk | modified host blacklist entry (chan: #newchan -- id: 83 -- value: *!~* -- manual: on)
@Empus | y mod 83 onlysecure on
 @yolk | modified host blacklist entry (chan: #newchan -- id: 83 -- value: *!~* -- onlysecure: on)
@Empus | y view 83
 @yolk | list match: blacklist host: *!~* (id: 83 chan: #newchan action: kickban hits: 0 flags: manual,onlysecure added: 0 days, 00:00:28 ago by: Empus!empus@172.16.164.1 reason: secure mode: risky user in no channels)

Dependencies#

List entries can be dependent on other lsit entries before a positive match is realised. Multiple dependences can exist for a single entry, and dependencies can traverse many layers deep if required.

This allows for baseline entries to be reused by others, with complex rules to be created.

For example, to blacklist Chinese IP space but only with a realname value matching *Lexicon*, two entries could be used, where each is dependent on the other:

@Empus | y add black country cn Known hacked box
 @yolk | added country blacklist entry (id: 87 -- value: CN -- action: kickban -- reason: Known hacked box)
@Empus | y add black rname *Lexicon* Known hacked box
 @yolk | added rname blacklist entry (id: 88 -- value: *Lexicon* -- action: kickban -- reason: Known hacked box)
@Empus | y mod 87 depends 88
 @yolk | modified country blacklist entry (chan: #newchan -- id: 87 -- value: CN -- depends: 88)
@Empus | y mod 88 depends 87
 @yolk | modified rname blacklist entry (chan: #newchan -- id: 88 -- value: *Lexicon* -- depends: 87)
@Empus | y view 87,88
 @yolk | list match: blacklist country: CN (id: 87 (depends: 88) chan: #newchan action: kickban hits: 0 added: 0 days 00:00:43 ago by: Empus!empus@172.16.164.1 reason: Known hacked box)
 @yolk | list match: blacklist rname: *Lexicon* (id: 88 (depends: 87) chan: #newchan action: kickban hits: 0 added: 0 days, 00:00:27 ago by: Empus!empus@172.16.164.1 reason: Known hacked box)

Shortcuts#

Comma delimiting IDs allows for the same attribute or setting to be changed for many entries at the same time.

@Empus | y mod 85,86 reason Spamming is not tolerated
 @yolk | modified user blacklist entry (chan: #newchan -- id: 85 -- value: badBoy -- reason: Spamming is not tolerated)
 @yolk | modified user blacklist entry (chan: #newchan -- id: 86 -- value: badGirl -- reason: Spamming is not tolerated)


Command Description
cmds List commands available to user
help View the help for a given command
chanscan Scans the entire channel and acts upon matches
mod Modifies the settings of a list entry
rem Remove a list entry
search Search for whitelist & blacklist entries
scan Scan a client or value against lists and return results
view View an existing list entry