Knowledgebase · Bots & Scripts

Setting bot mode (+B) on your connection

Updated 22 Sep 2026 Support Operations

On AustNet, network policy and the Acceptable Use Policy (AUP) require that all automated clients and bots must clearly identify themselves by setting user mode +B upon connection.


Setting this mode ensures that network operators, channel administrators, and automated metrics can transparently distinguish between human chatters and automated scripts.


How User Mode +B Works

  1. The Flag: +B is a standard InspIRCd user mode that flags a connection as a bot/service drone.
  2. Manual Setting: If you connect a script or client manually, you can apply the mode via raw command immediately after authentication:


Plaintext

/mode YourNick +B
  1. Why It Matters: Failing to set +B on automated scripts can result in automated filtering or network staff flagging the connection for policy non-compliance.

Setting Mode +B in Common Bot Frameworks

Most robust bot frameworks allow you to send raw commands or configure automated mode-setting routines upon successfully completing the connection and registration handshake (the 001 numeric or WELCOME event).


1. Eggdrop (Tcl / C)

In your Eggdrop configuration file (eggdrop.conf), you can configure the bot to issue modes upon startup using the chat-mode or standard startup triggers, or handle it via a bound event:


Tcl


# Ensure the bot requests mode +B upon connecting
bind evnt - init-server bot:on_connect

proc bot:on_connect {type} {
putlog "Setting bot mode (+B)..."
putserv "MODE $::botnick +B"
}

2. Node.js (irc-framework)

If you are using Node.js with irc-framework, you can listen for the registered event, which fires as soon as the client successfully connects and authenticates:


JavaScript


const { Client } = require('irc-framework');

const bot = new Client({
host: 'irc.austnet.org',
port: 6697,
ssl: true,
nick: 'MyTestBot'
});

bot.on('registered', () => {
console.log('Connected and registered. Setting +B user mode.');
bot.raw('MODE ' + bot.nick + ' +B');
});

bot.connect();

3. Python (irc library or custom async loops)

For Python scripts using standard client loops or event-driven connection handlers, trigger the mode change inside the on_welcome (numeric 001) callback:


Python


import irc.bot
import irc.strings

class MyAustNetBot(irc.bot.SingleServerIRCBot):
def __init__(self, channel, nickname, server, port=6697):
super().__init__([(server, port)], nickname, nickname)
self.channel = channel

def on_welcome(self, connection, event):
# Automatically set user mode +B upon joining/welcoming
connection.mode(connection.get_nickname(), "+B")
connection.join(self.channel)

# ... initialization logic ...


Approved uses for bots on AustNet

Bots may be used for channel management, trivia, logs, and legitimate services. What is not permitted: mass messaging, cloning, and flooding.

Open article

Cloning policy and bots: connecting multiple clients

AustNet permits a maximum of two simultaneous connections from one IP. Bots count toward this limit - request an exemption via #ASD if needed.

Open article

Popular bot frameworks for IRC

Overview of common IRC bot frameworks - Eggdrop, Limnoria (Supybot), Sopel, and custom Python/Node.js bots - and getting started.

Open article

Registering your bot nickname with NickOP

Register your bot's nickname just like a regular user. How to identify on connect and set the +B bot mode automatically.

Open article