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.
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.
on 1:TEXT:*!hello*:#: {
msg $chan Hey $nick, welcome to $chan!
}
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
The five-section model
The Scripts Editor mirrors the classic five-section layout, so scripts written for that model install the same way.
/name commands definitions.on: / ctcp: / raw: event handlers.<levels>:<mask> access-level lines.%name value persistent globals.