Script Engine

Script the client, not around it.

A full scripting language built into IzzyIRC — aliases, event handlers, custom identifiers, and script-defined UI. Not a plugin sandbox bolted onto the side.

Write an alias once and it's ready everywhere — in a channel, a query, or a window you designed yourself. Hook into any event IRC can fire: joins, parts, kicks, mode changes, raw numerics. If you've written scripts for a classic, script-driven Windows IRC client before, this will feel immediately familiar — that's by design.

Aliases

A one-line command that expands to whatever you need, with arguments passed in as $1, $2, and so on.

Aliases
alias greet {
  if ($2) { msg $1 Hello, $2! }
  else { msg $1 Hello there! }
}

Event handlers

React to anything IRC can fire — text matching a pattern, someone joining, a mode change, a raw numeric — scoped to a specific channel or network.

Remote — on TEXT
on 1:TEXT:*!hello*:#: {
  msg $chan Hey $nick, welcome to $chan!
}
Remote — on JOIN
on 1:JOIN:#izzyirc: {
  if ($nick != $me) notice $nick Welcome to $chan // sent privately, not to the channel
}

Build real interfaces

Scripts aren't limited to printing text into a channel. Open real windows and dialogs — buttons, list boxes, text fields, custom layouts — that live inside your own client, wired to the same aliases and events driving the rest of your script.

  • Script-defined dialogs and picture windows
  • Custom nicklist and menu-bar popups
  • Timers, hash tables, and regex, all first-class
  • Full identifier set — around 150 built-in $identifiers
Event
Alias / Handler
Your UI
IzzyIRC's Scripts Editor, showing the five-section script model: Aliases, Popups, Remote, Users, Variables.

The five-section model

The Scripts Editor mirrors the classic five-section layout, so scripts written for that model install the same way.

Aliases
One-line /name commands definitions.
Remote
on: / ctcp: / raw: event handlers.
Users
<levels>:<mask> access-level lines.
Variables
%name value persistent globals.

Try it in the app

The full command, identifier, and event reference ships in-app — Help ▸ IzzyIRC Help (⌘?).

Get IzzyIRC