Knowledgebase · Bots & Scripts

Popular bot frameworks for IRC

Updated 22 Sep 2026 Support Operations

Building or deploying an automated script on an IRC network usually starts with choosing the right framework. While you can write a raw TCP socket connection from scratch, using an established bot framework saves you from reinventing the wheel when handling pings, reconnections, formatting, and event routing.


Here is an overview of the most popular IRC bot frameworks, ranging from traditional powerhouses to modern scriptable environments.


1. Eggdrop

  1. Language: C (with Tcl and Python scripting support)
  2. Best For: Heavy-duty channel management, traditional botnets, and maximum reliability.

Eggdrop is the oldest and most famous IRC bot in existence. Proven over decades, it is exceptionally stable and runs natively as a lightweight background daemon.


  1. Key Features: Built-in user record management, partyline chat, robust SSL/TLS support, and the ability to link multiple bots together into a unified botnet.
  2. Extensibility: Primarily extended using Tcl scripts (though modern versions also include a Python module interface), allowing you to automate virtually any response, ban handler, or interactive utility.

2. Limnoria (formerly Supybot)

  1. Language: Python
  2. Best For: Feature-rich utility bots with robust plugin systems out-of-the-box.

Limnoria is a heavily maintained, modern successor to Supybot. It is designed for high flexibility, robustness, and security, making it one of the easiest Python-based options to deploy for general-purpose network tasks.


  1. Key Features: Ships with over 60 built-in plugins (providing around 400 ready-to-use commands for things like RSS feeds, weather, factoids, and math). It also features an exceptionally powerful access control list (ACL) permission system.
  2. Extensibility: Writing custom plugins requires only a basic understanding of Python and its clean, class-based plugin structure.

3. Sopel

  1. Language: Python
  2. Best For: Lightweight utility bots and quick custom script development.

Sopel (originally known as phenny and later Willie) is a simple, highly approachable utility bot. It avoids bloat, focusing instead on a clean developer experience and rapid plugin creation.


  1. Key Features: SQLite-backed persistent storage for user/channel preferences, built-in anti-spam flood limiting, and a rich set of third-party utility plugins (Wikipedia, Reddit lookup, unit converters).
  2. Extensibility: Sopel uses an intuitive decorator-based plugin architecture. Writing a command is as simple as defining a Python function with @sopel.rule or @sopel.command.

4. Custom Frameworks (Python & Node.js)

  1. Languages: Python (irc, irc-framework), Node.js (irc-framework, irc)
  2. Best For: Full programmatic control, custom microservices, or web-integrated apps.

If you want to build a bot entirely from scratch using your preferred programming paradigm rather than a pre-packaged bot framework, low-level event libraries provide the ideal foundation:


  1. Python (irc package): Great for building lightweight event-driven loops that hook neatly into custom APIs or backend databases.
  2. Node.js (irc-framework): A modern, robust JavaScript/TypeScript client library that cleanly exposes standard IRC events (joins, messages, modes) through Node's EventEmitter architecture, making it easy to tie your IRC channel to webhooks, Discord bridges, or custom apps.

Getting Started Checklist on AustNet

Whichever framework you choose, remember to apply AustNet's network rules before setting your bot loose in public channels:


  1. Register the Nickname: Claim your bot's identity using NickOP (/NickOP REGISTER).
  2. Authenticate Securely: Set up SASL or post-connect identification (/NickOP IDENTIFY).
  3. Enable Bot Mode (+B): Program your framework to trigger /mode <botnick> +B immediately upon connection and registration.


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

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

Reporting a rogue or abusive bot

If a bot is flooding, spamming, or behaving maliciously, how to report it to network staff and what information to include.

Open article