Main

About¶

AdiIRC is a freeware IRC client with multiserver support and a highly customizable interface. It offers all the standard IRC features including private chats, basic Identd features, system information, SSL, IPv6, chat logging and DCC Chat/Transfers. It also offers now playing support for various media players, advanced scripting, themes, MTS themes, plugins, and dockable/undockable activity monitors that lets you monitor many channels at once. The program stores all it`s settings in text files and does not require an installation.

Documentation¶

  • Getting Started
    • Quick Start
    • Frequently Asked Questions
    • Notable AdiIRC Features
    • Screenshots
    • Support
    • Translations
  • Options
    • Away
    • Backgrounds
    • Colors
    • Dcc
    • Editbox
    • Events
    • Emoticons
    • Fonts
    • General
    • Highlights
    • Icons
    • Ignore
    • Links
    • Logging
    • Media Player
    • Messages
    • Monitor Panels
    • Mouse
    • Nick Colors
    • Nicklist
    • Notify
    • Proxy
    • Quick Connect
    • Server
    • Sounds
    • Statusbar
    • Switchbar
    • Sysinfo
    • Tips
    • Tray Icon
    • Treebar
    • Windows
  • User Interface
    • Dialogs
      • Rawlog
      • Script Debugger
      • Plugins
      • Themes
      • Serverlist
      • Channellist
      • Channel Editor
      • Quick Connect
      • Logs
      • Find Text
      • Address book
      • Edit Scripts
      • Edit Aliases
      • Edit Menus
      • Edit Variables
      • Edit Users
      • Edit Slaps
      • Edit Now Playing
      • Edit Quits
      • Edit Now Playing
    • Toolbars
      • Titlebar
      • Menubar
      • Toolbar
      • Switchbar
      • Treebar
      • Statusbar
    • Windows
      • Server Windows
      • Channel Windows
      • Private Windows
      • Chat Windows
      • @Custom Windows
    • Window controls
      • Text area
      • Searchbox
      • Topicbox
      • Nicklist
      • Editbox
    • Monitor Panels
  • Scripting
    • Events
    • Operators
    • Identifiers
    • Commands
    • Menus
    • DLL Support
    • COM Support
    • Regular Expressions
    • Variables
    • Binary Variables
    • Hash Tables
    • Scripts
    • Token Manipulation
    • INI Files
    • Files/Folders
    • Custom Windows
    • Picture Windows
    • Dialogs
    • Sockets
    • System Information
    • Now Playing
  • Other
    • Plugins
    • HotKeys
    • Config Files
    • Command line arguments
    • Formatting text
    • Extra Colors
    • Spellcheck
    • Blowfish
    • SASL
    • ZNC
    • Tabcomplete
    • IRCv3 Compatibility
    • Running AdiIRC on Linux/OS X with Wine
    • Getting Involved
    • IRC Channels


Getting Started

Installing AdiIRC

Quick connect

TODO

What is IRC?¶

IRC stands for Internet Relay Chat, and it's a protocol that enables communications with other people over the internet.

How does it work?¶

There are many IRC servers around the world, these servers allows users to connect to them (in many ways similar to visiting a website) using a IRC client such as AdiIRC.

When connected to a server, users can join a channel (or multiple), users in the channel can then send messages to the channel which all users in that channel can see.

Each channel usually has it's own specific topic which users like to chat about, e.g politics, news, cars and so on.

Finding a server and channel you want to join can be a little tricky, one way is searching for topics you want to talk about on sites such as http://irc.netsplit.de/channels/.

You can also just join some of the popular servers such as www.freenode.net, www.efnet.org, www.dal.net, www.quakenet.org, then type /list <topic> to get a list of all the channels on that server which matches the topic you want to chat about.

You can join multiple servers at the same time using the /server command or the Serverlist.

Learn about IRC¶

A good place to read about IRC and how it works www.irchelp.org.


Quickconnect Dialog

The quick connect dialog lets you quickly join a IRC network and a channel, it is shown when AdiIRC starts, by typing /quickconnect or from Server -> Quick connect in the Menubar.

The dialog has a minimal amount of options, if more options is needed, use the Serverlist.

These options can also be changed in Options -> Quick Connect.

Nick¶

Then nick you want to others to see you as.

Alternative¶

An alternative nick in case the primary nick is in use.

Username¶

Username to use when logging on to a IRC network, if Identd is disabled, this will also be your Identd username.

Username is also used to log on to IRC bouncers or through SASL/nickserv.

Normally this can be set to the same as your Nick, can also be set to blank.

Fullname¶

The fullname to display when another user looks you up with /whois.

Can be left blank.

Hostname¶

The hostname of the server you want to connect to.

Usually something like irc.network.com.

Port¶

The port of the server you want to connect to.

+port can be used to connect to SSL/TLS servers, *port can be used to connect using STARTTLS.

Autojoin Channels¶

List of channels to join separated with comma. (Channel passwords can be entered with a space, #chan1, #chan2 password,#chan3 etc)

Don't show this box again¶

If enabled, quick connect will not be shown when AdiIRC starts.

Advanced ServerList¶

Opens the Serverlist.

Connecting¶

Click the "Log on" button to connect to the server in the current server window.
To open in a new server window, press SHIFT while clicking the "Log on" button. (Depending if Options -> Windows -> Open server history/favoritesin a new window is enabled or disabled)


FAQ

FAQ/FSS¶

(Frequently Said Statements)¶

I can't see emoji/some symbols¶

If you ever experience an issue with displaying unicode characters (which is not just an encoding issue), try enable Options -> Messages -> Use alternative text rendering.

How do I auth/identify before I join¶

If you need to be authed with nickserv before joining a channel, you can use the /sleep (or /timer) command in your Serverlist "Run these commands on connect" field:

/msg nickserv identify <password>
/sleep 3 /join #channel1,#channel2

/sleep 3, means wait 3 seconds before running the following command.

The new Serverlist has this feature built-in as well as SASL support which makes this a non issue.

Why doesn't Ctrl-C work¶

When you select text from the message buffer, AdiIRC will automatically copy the text to the clipboard when you release the left mouse button.

If you prefer to manually press CTRL + C, you can go to Options -> Messages and disable AutoCopy selected text to Clipboard and AutoFocus Editbox.

These options might be merged into one soon as well as a feature to ask which method to use.

TLS isn't working on a server!¶

If you experience problems connecting to a TLS only server, you can try the .NET 4.5 version which has support for TLS 1.1 and TLS 1.2.

How do I change my version reply¶

You can disable or change the CTCP VERSION reply using the CTCP event in a small script.

This can be used for any CTCP request.

; Disable CTCP version reply.
CTCP *:VERSION:*:halt

; Reply with a custom version.
CTCP *:VERSION:*:ctcpreply $nick IRC Version 42 | halt

How do I disable the popups/notifications¶

Tips for various events can be disabled in Options -> Tips, to disable highlight tips, go to Options -> Highlights, in the listbox area select "$me", then click the "Edit" button, uncheck "Tip message" and click "Save".

How do I disable highlight sounds¶

Go to Options -> Highlights, in the listbox area select "$me", then click the "Edit" button, set the sound dropdown to "No sound" and click "Save".

How do I use CERTFP, PEM files, etc with AdiIRC.¶

AdiIRC supports only PFX certificates, you can convert a PEM certificate to PFX using this openssl format:

openssl pkcs12 -export -out mynick.pfx -in mynick.pem

For creating a new certificate, have a look here

I want to use the beta!¶

To update to a beta release, just type /betaup.

How do I add toolbar items aligned to the right¶

There is a tiny "|" separator to the right, if you right click the Toolbar and choose "Customize", you are able to drag the item to the right of that border.

My BNC starts up so slow on AdiIRC!¶

Things you can try:

  • Make sure you are using latest beta.
  • Reduce Options -> Messages -> Max buffer.
  • Disable Options -> Monitor Panels -> Monitor Channels/Servers.
  • Type "/setoption Links CaptureLinks False" to disable capturing links.
  • Disable Options -> Windows -> Focus newly opened windows.
  • Disable/reduce channel backgrounds.
  • Disable/reduce emoticons.
  • Disable/reduce highlights.
  • Disable/reduce nick colors.
  • Disable/reduce on TEXT and on PARSELINE scripts.
  • Disable Options -> Logging -> Log channels.
  • Make sure Options -> Messages -> Use alternative text rendering is unchecked.
  • Make sure channel/main window is as large as possible (or smaller font) to avoid word wrapping.
  • Use fixed size message font.

How do I make it so /server connects with ...¶

The default options used when connecting with /server or from Menubar -> File -> New window can be changed in Options -> Quick Connect.

Why is 'connecting' slow on some networks¶

Some networks tries to scan your port 113 to see if you have a Identd server running, if the port is closed or the identd server is not running, it can take a while for the scan to timeout, make sure Identd server is enabled in Options -> Server and that port 113 is open in your firewall and router. (AdiIRC does not yet support UPNP).

How do I move the monitors to their own window¶

When "Lock Bars" is disabled (right click any menubar/toolbar/switchbar/statusbar/treebar to enable/disable) you can left-click the header of the monitor panel or a tab and move it with the mouse, if you release the mouse in the middle of the AdiIRC main window, the monitor will become a standalone window.

The window can be docked inside AdiIRC as a regular channel window by pressing CTRL + D.

See also Monitor Panels.

You can also undock the monitor panel into a window by right-clicking the header or tab and choose "Undock".

How do I autojoin several channels¶

Use , inbetween the channels.

Does AdiIRC have a systray icon¶

Yes, check Options -> Tray Icon.

Can I use AdiIRC without .NET¶

No, I use .NET because its fast, easy and it has large libraries which enables me to code much more in less time. On a side note, from Windows Vista, .NET is included in Windows per default. -- kr0n

Does AdiIRC support DCC¶

Yes, both chat and file transfers

There is so many other IRC clients, why wasting time writing another¶

I mainly do this for fun and learning more about .NET/C# and IRC in general. -- kr0n

I found a bug, what do I do¶

Check https://dev.adiirc.com/projects/adiirc/issues and see if its been reported. If not, report it!

I got this great idea, can you implement it¶

Check https://dev.adiirc.com/projects/adiirc/issues and see if someone suggested it. If not, suggest it!

What does "Adi" stands for¶

Nothing really. It's an old prefix used for some other projects many years ago, and the prefix just carried over to this irc client. Original it was derived from the song A.D.I.D.A.S by the band KoRn. According to some it could stand for All Day I IRC :P -- kr0n

Is AdiIRC open source or can I get the source¶

AdiIRC is freeware, but not open source.

There is a system in place in case of bus factor.

Can I use AdiIRC on OSX/Linux¶

Follow https://dev.adiirc.com/projects/adiirc/wiki/Wine
Using AdiIRC on non-windows isn't as well supported, and using mono isn't supported at all.

Will you port AdiIRC to my mobile OS¶

AdiIRC is a desktop IRC client, as such it cannot be ported, a new client would have to be made from scratch and there are already good mobile IRC clients, also I have no interest in mobile IRC. --kr0n

How do I change message fonts¶

Message fonts can be changed in Options -> Fonts.

Why does task manager show high memory usage for AdiIRC¶

The task manager numbers are not the actual memory usage, the .NET framework which runs AdiIRC is like a little OS inside Windows, it allocates memory as needed and free it as needed, just like windows does, there are no such thing as a memory leak in .NET applications, except in very specific cases.

To show the real memory usage, you can type /gcmem in the Editbox.

Does AdiIRC support OTR ¶

There is no OTR support in AdiIRC and no plans to add it, however it is possible for someone to add OTR support through a Plugin or a DLL. (As an example, check the blowfish DLL)

Why are some windows/channels shown on the desktop¶

Pressing CTRL + D toggles "Show on desktop".

"Shown on desktop" status is also saved across sessions.

How to upgrade/downgrade AdiIRC¶

  1. Download the (portable) version you want from https://www.adiirc.com/download.php.
  2. Type /paths -r to open the AdiIRC folder where AdiIRC.exe is.
  3. Close AdiIRC.
  4. Copy the downloaded file into the AdiIRC folder and replace the old AdiIRC.exe with the new one.

This can be done to go from stable to beta, or from 32 bit to 64 and visa versa, no other steps needed.

How to backup the config folder¶

Type /paths -o or go to Menubar -> Tools -> Config Files to open the config folder, copy it anywhere.

Antivirus flags AdiIRC as having a virus or trojan¶

AdiIRC seems to generate a lot of false positives in some antivirus programs, if possible, please submit the file to your antivirus vendor for false positive analyzes and/or white-list AdiIRC.exe.

If you are unsure, the false positives seems to be resolved after a few weeks, you can try update again then.

Log folder using a lot of space¶

If your log folder is using a lot of space and you don't want to delete any logs, you can compress it by right-clicking the log folder, click "Properties", click "Advanced", check "compress contents to save disk space" and press OK.

How can I temporary disable auto connect when AdiIRC starts¶

Press the SHIFT key while clicking the AdiIRC icon/shortcut.

Missing Nicklist on Twitch¶

Add this line to the Commands tab to your twitch server in the Serverlist, it only works for channels with less than 1000 users.

CAP REQ :twitch.tv/membership

How to ignore a message containing specific word(s)¶

For now a little scripting is needed, the script editor can be opened from Menubar -> Tools -> Edit Scripts.

The on TEXT event can be used to listen for specific messages on specific/all channels:

Example

; Ignore all messages containing badword on all channels.
on ^*:TEXT:*badword*:*:halt

; Ignore all messages starting with !badword on a specific channel.
on ^*:TEXT:!badword*:#channel:halt

You can add as many as you want.

Can I distribute custom AdiIRC installers/portable versions to my users?¶

Absolutely. You can also distribute a custom config.ini file which uses your own hostname/#channel as the default.

You can also bundle scripts/plugins/translations etc.

Example config.ini

[QuickConnect]
Autojoin=#channel
Serverhost=irc.hostname.com
Serverport=6667

If you have any questions contact us.


Features

There are some notable AdiIRC features.

  • Table of contents
  • Features
  • 1 - Nick Column
  • 2 - Search Options
  • 3 - Advanced Highlights
  • 4 - System Information
  • 5 - Colors
  • 6 - Highlight matching lines when hovering nicks
  • 7 - Custom Fonts Everywhere
  • 8 - Awesome Editbox
  • 9 - Links Control
  • 10 - Events Control
  • 11 - Auto Update
  • 12 - Nick Colors
  • 13 - Spell Checker
  • 14 - Powerful Server List Manager
  • 15 - Now Playing Info
  • 16 - Nicklist Control
  • 17 - Scripting Nicklist Tooltip
  • 18 - Nicklist Buttons
  • 19 - Custom Icons Everywhere
  • 20 - Full Featured Statusbar
  • 21 - Custom Menu Items on Menubar
  • 22 - Menu Editor
  • 23 - Emoticons Draw
  • 24 - Monitoring Panels
  • 25 - Themes Manager
  • 26 - Scripting Engine
  • 27 - Background Images
  • 28 - Away Control
  • 29 - Logging
  • 30 - Logs Manager
  • 31 - DCC Transfers
  • 32 - Hotkeys For All Tastes

1 - Nick Column¶

Back to Top

Nick Column in action

Nick Column feature automatically right-aligns the nicks in messages buffer area.

Nick Column options

The column can be customized in several ways: Auto expand, width, visible, hidden, locked and color.

See also /nickcolumn && /window -qN.

2 - Search Options¶

Back to Top

Options search filter

AdiIRC has a lot of options, when trying to find an option, you can use the search field to find a match or narrow down the list.

See also Options Dialog, /options, /config, /setoption, /setconfig.

3 - Advanced Highlights¶

Back to Top

Highlights options in AdiIRC allows great control of when/who/what to highlight.

See also Highlights Options.

Edit Highlight options

Limit to specific network; Custom colors, RGB colors; Regex for powerful match; Sounds; Tray tip message and run command, both supporting scripting, and more.

Ignore highlights interface

Ignore highlights from bad users and specific channels, a must have feature.

Highlight Alert notice example

4 - System Information¶

Back to Top

System Information customization

Information about your system hardware is integrated into AdiIRC and fully customizable for quick sharing.

See also Sysinfo Options.

Statusbar bandwidth monitoring

Statusbar bandwidth monitoring widget

5 - Colors¶

Back to Top

Full colors list

Extensive colors customization for almost any aspect of GUI interface.

See also Colors Options.

Colors context menu

Context menu makes it easy to copy/paste/reset colors.

Colors output example

Support for RGB colors over IRC.

See also Formatting text.

6 - Highlight matching lines when hovering nicks¶

Back to Top

Highlight nick messages lines

Excellent feature to highlight messages by the same nick. The colors are customizable.

7 - Custom Fonts Everywhere¶

Back to Top

All fonts options

Menubar? Editbox? Statusbar? Messages? Every element has it's own custom font option.

See also Fonts Options, /font.

8 - Awesome Editbox¶

Back to Top

Editbox (the field where you type messages) in AdiIRC is very powerful. It supports undo after evaluate scripting $identifiers; Can save and restore history for any window between session; It is possible to merge history of all windows to act as a global unified list; Tabcomplete order and auto suffix append, eg. nick: ; And more.

See also Editbox Options.

9 - Links Control¶

Back to Top

Links warning popup

Control over links where other apps lacks options. Open by single or double click, colors and underline toggle, open in custom browser instead of the system default brower, prompt before opening.

See also Links Options && /url.

10 - Events Control¶

Back to Top

Global Events Control options

Global, Options -> Events.

Treebar per channel Events Control <=> Events Control per channel

Per channel, Right click channel name on tree/switchbar -> Events.

Default | = | follow global events config.
In Channel | = | display the event in respective channel.
Is Status | = | display the event in network status window.
Hide | = | disable display output completely.

The hidden events can still being logged if enabled in logging options.

Extensive list of most commons irc events for easy control where to display or just suppress them. Global config and per channel is supported.

See also Events Options, Scripting Events, $eventtarget.

11 - Auto Update¶

Back to Top

Check for updates options

New update notification

AdiIRC has built in check for new versions automatically and allows you to install them with just two clicks. No pain manually replacing files or click through installer prompts!

If you want to permanently skip the update, just click the Skip this version button, it will then notify you only when the next version/build is out.

See also Check for updates options && /betaup.

12 - Nick Colors¶

Back to Top

Nick Colors options

Nick Colors examples

Random nick colors is one of the best features an IRC client could have. In AdiIRC two algorithm are available, one based on limited 0-15 mIRC colors, like most other clients, and one more advanced using extended RGB colors palette. It is also possible to define fixed colors for nicks and other various rules such as user status, idle time, etc.

See also Nick Colors Options && $nick.

Random Nick Colors on nicklist

Random nick colors applied to nicklist.

13 - Spell Checker¶

Back to Top

Spell Checker is a basic feature in AdiIRC, easy to use, manage and download dictionary languages. Adding custom words also is supported.

See also Spellcheck.

14 - Powerful Server List Manager¶

Back to Top

Powerful Server List Manager

ServerList in AdiIRC is very powerful.

Featuring:

- Favorites networks;
- Built in list of popular networks for easy pick;
- Various auto login methods, including SASL;
- Delay control for autojoin channels and between joins;
- Option to prioritize IPV6;
- Custom label on Treebar;
- Run commands on connect;
- Auto regain nick;
- Quit message per server;
- Proxy per server;
- Support for all modern types of SSL protocols, even TLS 1.2 and also client certificates.
- And much more to discover.

See also Serverlist Dialog, /serverlist, /server, /quicksave.

15 - Now Playing Info¶

Back to Top

Now Playing Info supported players

Now Playing Info for popular players is integrated in AdiIRC.

See also Media Player Options, /np && On SONG event.

Now Playing Info statusbar widget

Statusbar widget, double clicking it sends the now playing info to the active window. An easy way to share with your friends what you are listening to.

Now Playing Info output example

Channel action output example.

Now Playing Info output tags customization

Output is totally customizable by identifiers tags.

Now Playing Info toolbar control buttons

Toolbar control buttons for supported players.

Now Playing Info playlist search

Playlist search in supported players for quick changing music.

16 - Nicklist Control¶

Back to Top

Already is a cliché to say AdiIRC is very customizable, the nicklist follow the same principle. Some highlights:

- Allow select multiple nicks just clicking on them.
- Autohide.
- Remove or enable user nick status prefix, it's your decision.
- Coloring prefix and nick separately is possible. Eg. @nick.
- Scrollbars visible/hidden/autohide.
- Position left/right/off.
- Sort by prefix or alphabetically.
- And more to discovery, such as colors, custom font, font weight, parsed tooltips, spacing, etc.

See also Nicklist Options, /nicklist.

17 - Scripting Nicklist Tooltip¶

Back to Top

Nicklist Tooltip example

Nicklist Tooltip does parse full scripting, then display useful nick info on mouse over is pretty easy. The example code is available on boards.

See also Nicklist Tooltip Options.

Nicklist Tooltip options

Nicklist tooltip field to customize content. All Scripting Identifiers are available.

18 - Nicklist Buttons¶

Back to Top

Nicklist Buttons overview

Custom nicklist buttons powered by scripting! Making quick actions is easy as pie. Buttons can be toggled in Menubar -> View.

See also Show Nicklist Buttons.

19 - Custom Icons Everywhere¶

Back to Top

Most icons in AdiIRC can be customized.

Network website icon can be fetched if enabled.

See also Icons Options, /icon.

Nicklist icons options

Several rules to set custom nicklist icons.

Custom toolbar icons

Custom toolbar icons? sure.

See also /toolbar.

Custom menu icons

Custom menu icons? why not!

See also $menuicon.

Custom statusbar icons

Custom statusbar icons? Absolutely yes!

See also /statusbar.

Treebar custom icons

Treebar custom icons.

Nicklist custom icons

Nicklist custom icons.

20 - Full Featured Statusbar¶

Statusbar toggle options

Statusbar customized by scripting

AdiIRC comes with a few standard widgets, custom widgets can be added through scripting.

In screenshot above is an example of many custom items, most using unicode chars to simulate icons.

Fore more info see /statusbar, $statusbar, Statusbar Options.

21 - Custom Menu Items on Menubar¶

Back to Top

Custom menu items on menubar

Customizing Menubar in AdiIRC is quite simple by scripting.

For more info see /menubar, $menubar.

22 - Menu Editor¶

Back to Top

AdiIRC menu editor

In addition to customizing menus by standalone scripts, also there is an editor to change and preview default menus.

It is accessible in Menubar -> Tools -> Edit Menus.

Standard menus are: Status, Channel, Query, Nicklist, Menubar, ChannelLink, Link.

Also see /edit -m, Scripting Menus, /showmenu, $style, $menu, $menuicon, $menutype, $submenu, $invitemenu, $encodingmenu, $slapsmenu, $bname.

23 - Emoticons Draw¶

Back to Top

Custom emoticons images turns your irc much more fun. =)

For more info see Emoticons Options, $emoticons, $imagechar.

24 - Monitoring Panels¶

Back to Top

Monitoring Panels options

Monitoring panels dockable to any side of interface alone or integrated to more panels.

Sticked panels are excluded from F2 toggle hotkey. As usual, there are several options to customize them, such as logging to disk, max buffer, exclude channels, colors and more.

See also Monitor Panels Options, /dockpanels, $dockpanels.

Monitoring Panels demonstration

Rearranging panels by drag and drop.

25 - Themes Manager¶

Back to Top

Themes manager previews

Themes manager for easy preview, load and save. Including latest MTS revision themes support.

See also /themes.

Export/save theme interface

Export/save theme interface. Bundle any kind of supported resources, such as icons, background images, scripts, emoticons, sounds, etc.

Share your custom made themes on the boards.

Load theme interface

Load theme interface.

26 - Scripting Engine¶

Back to Top

Editor search panel

AdiIRC has a powerful scripting language which can be used to extend/change the clients behavior.

It's modeled after the popular mIRC scripting language, aka MSL.

The whole language is documented at Scripting wiki and also distributed in a CHM help file on each new stable release.

The editor is friendly and feature rich.

See also /scripts.

Don't forget to share scripts you wrote with the community on the boards.

27 - Background Images¶

Back to Top

Background image options

Continuing with the high level of interface customization, there is the list of places where you can set custom background images. And plus, you can set custom bg per window. Also an interesting feature, is the transparent background option that grabbles your desktop wallpaper to simulate the transparency.

See also Backgrounds Options, /background.

28 - Away Control¶

Back to Top

Fine grain away adjustments. Auto enable on idle time, change nick, settings per network, back on typing, notify channel/query, run commands and more.

See also Away Options, /away, /back.

29 - Logging¶

Back to Top

Eternalize your conversations on IRC by logging to disk. AdiIRC offers various advanced options, so you don't miss a thing in your IRC experience.

See also Logging Options.

30 - Logs Manager¶

Back to Top

Complete logs manager and viewer is integrated on AdiIRC.

See also Logs Dialog, /viewlog, /log, /logs, /logview, /paths -l, $log, $logdir, $logstamp, $logstampfmt.

31 - DCC Transfers¶

Back to Top

Full featured DCC tranfers with native SSL support!

DCC transfers panel

DCC transfer context menu

All transfer together in a panel.

See also Dcc Options, /dcc, $dccignore, $dccport.

32 - Hotkeys For All Tastes¶

Back to Top

Plenty default hotkeys for keyboard lovers. And more, AdiIRC makes it wildly simple to extend shortcuts for any action and or override default one through powerful scripting.

Check out Default Hotkeys List and custom scripting instructions, On KEYDOWN && On KEYUP events.

More Screenshots 🡆


Support

Please check the links below, if you still need help, visit us on Freenode irc network, channel #adiirc.

You can also send an email or pm on reddit, Twitter.

  • Wiki.
  • Forum for discussing issues and solutions
  • Check for fixed issues or report a bug/issue
  • List of user commands in the client
  • List of shortcuts
  • Scripting documentation
  • Plugin API documentation
  • Getting involved
  • Frequently asked questions
  • Contact


Translations

AdiIRC supports multiple languages, if you want to contribute a translation for your own language, you can do that at Get Localization ‒ a friendly online platform we use to manage the translations.

When a new version of AdiIRC is released, all the translation changes is compiled and added to the installer, as well as the download list below.

You can contact us to request a update to the download list if you want to test something.
It is not necessary in most cases to test the width of a text, most user interface elements will dynamically resize itself to fit the text.

How to install¶

  1. Create a subfolder inside your AdiIRC installation path with the same name as the locale, e.g en-US for English da-DK for Danish pt-BR for Brazilian Portuguese etc.
  2. Download the translation in the Downloads section below.
  3. Unzip the translation.
  4. Copy the AdiIRC.resources.dll file to the local folder you created earlier. e.g C:\AdiIRC\da-DK\AdiIRC.resources.dll
  5. Go to Options -> General -> Choose Language, and select the locale in the dropdown box
  6. Restart AdiIRC to use the new language.

A GUI to install translations ie being considered.

Update a translation¶

  1. Close AdiIRC.
  2. Download the updated translation in the Downloads section below.
  3. Unsipz the translation.
  4. Copy the AdiIRC.resources.dll to the locale folder and overwrite the previous one, e.g C:\AdiIRC\da-DK\AdiIRC.resources.dll
  5. Start AdiIRC.

Automated update of translations is being considered.

Downloads¶

Last updated: May 27, 2017

Language | Links
Danish/da-DK By Per Amundsen & CC | Download - Source
French/fr-FR By André DI VIA & ExoSteev | Download - Source
German/de-DE By Cthulhux | Download - Source
Polish/pl-PL By VRMonk | Download - Source
Brazilian/pt-BR By pereba | Download - Source
Portuguese/pt-PT By NokTham | Download - Source
Russian/ru-RU By res87th | Download - Source

AdiIRC on Get Localization


Options Dialog

AdiIRC has a lot of options which can be confusing, however the defaults are good enough in most cases.

It can be opened by pressing the ALT + O hotkey, by typing /options or by opening File -> Options in the Menubar.

Most options are saved to the config.ini file which can be found by typing /paths -o or from Menubar -> Tools -> Config Files.

See also /options, /setoption.

Search options¶

You can narrow down the option you want by typing in the Searchbox at the top left corner, it will mark the matches with a red rectangle.

Example search for "Spacing":

Save Options¶

You can save options by pressing the "Save" button or press the CTRL + S hotkey.

AdiIRC will also warn you when closing the options window if there are any unsaved changes.

Reset Options¶

You can reset all options in all pages by clicking the "Reset" button.

If you want to reset only one page, you can right-click the page in the listbox and chose the "Reset this page" menu item.

Help¶

Clicking the help icon, opens the help page for current selected tab with more information about each option.

Help for a page can also be opened by right-clicking it in the listbox and chose the "Help" menu item.

Options Tabs¶

  • Away
  • Backgrounds
  • Colors
  • Dcc
  • Editbox
  • Events
  • Emoticons
  • Fonts
  • General
  • Highlights
  • Icons
  • Ignore
  • Links
  • Logging
  • Media Player
  • Messages
  • Monitor Panels
  • Mouse
  • Nick Colors
  • Nicklist
  • Notify
  • Proxy
  • Quick Connect
  • Server
  • Sounds
  • Statusbar
  • Switchbar
  • Sysinfo
  • Tips
  • Tray Icon
  • Treebar
  • Windows


Away Options

Options for the built-in away system.

See also /away, /back.

Enable Away¶

Enables or disabled the built-in away system.

Automatically set back when typing¶

Will mark you as back whenever you type text in a Editbox and press the Enter key.

All /commands except /me /msg /say will not mark you as back.

Automatically set away after [X] minutes idle¶

Will mark you as away if you haven't sent a message to the server in [X] minutes.

Settings for [network]¶

"Other Networks" settings will apply to all networks except networks without the "Use global settings" checkbox enabled.

Use global settings¶

If checked, the network will use global away settings, otherwise it will use custom settings.

Change nick to [X]¶

Changes your nick to [X] when you are marked as away.

Notify you are away in channels¶

Sends your away message to channels when you go away.

Notify you are away in private messages¶

Sends your away message to nicks who message you while you are away.

Notify you are away in highlighted messages¶

Sends your away message to nicks who highlights you while you are away.

Away message¶

Away message.

Away message will be evaluated and can contain identifiers.

Run commands on /away¶

List of /commands to run when you are marked as away.

Commands will be evaluated and can contain identifiers.

Disable away in channels/users¶

All "Notify you are away" messages will not be sent to channels or users in this list.

Notify you are back in channels¶

Sends your back message to channels when you come back.

Run commands on /back¶

List of /commands to run when you are marked as back.

Commands will be evaluated and can contain identifiers.

Back message¶

Back message.

Back message will be evaluated and can contain identifiers.


Backgrounds Options

Most of these options can also be toggled with the /background command.

The Image Layout dropdown allows setting various layouts for the background image, default is usually Stretch.

Main¶

Sets the background image for the MDI area (the area behind the window shown when a docked window is unmaximized)

Channel¶

Sets the background image for the textarea for Status/Channel/Query/Chat windows. (somewhat misleading name).

Menubar¶

Sets the background image for the Menubar.

Toolbar¶

Sets the background image for the Toolbar.

Toolbar Buttons¶

Sets the background image for the all Toolbar buttons which is not a picture window.

Switchbar¶

Sets the background image for the Switchbar.

Treebar¶

Sets the background image for the Treebar.

Disabled for now.

Nicklist¶

Sets the background image for all Nicklist's except custom window.

Statusbar¶

Sets the background image for the Statusbar.

Use (fake) transparent windows¶

When this option is enabled, the textarea of all status/channel/quuery/chat windows will be transparent down to the MDI area behind the window.

If the MDI area have a background image, the window will show a portion of this background image relative to the window location and size, else it will show the MDI area background color.

Use (fake) transparent main window¶

When this option is enabled, the MDI area will try to get the windows background image or color and use this as it's background,

If both the transparent main window and transparent windows option is enabled, it gives the illusion of transparency to the desktop.

Use (fake) transparent nicklist¶

When this option is enabled, nicklist of all channel windows will be transparent down to the MDI area behind the window.


Colors Options

Tip. You can right click a color to Copy/Paste/Reset it, CTRL + C / CTRL + V for copy/paste also works.

Override Windows theme colors¶

When enabled, Menubar/Toolbar/Switchbar/Statusbar/Monitor Panels colors will be used, otherwise the default Windows theme colors will be used.


Dcc Options

  • Dcc Send
    • Use fast send
    • Portrange start
    • Portrange end
    • Bind to adapter or IP address
    • Prioritize IPv6
  • Dcc Get Folders
    • Dcc Ignore Method
  • Auto accept
    • Auto accept transfers
    • Auto accept transfers only from host
    • If file exists

    • Dcc Options¶

    Direct Client to Client options.

    See also /dcc.

    Dcc Get¶

    Default download dir¶

    The default download folder to use when receiving a file.

    Use fast get¶

    if enabled, retrieves data as fast as possible without sending acknowledge packets, otherwise sends acknowledge packets after each read. (Slower but better compatibility with some clients/bots)

    Show progress in taskbar¶

    If enabled, AdiIRC will display progress bar in app icon in taskbar for dcc file transfers.

    Dcc Send¶

    Use fast send¶

    if enabled, sends data as fast as possible without waiting for acknowledge packets, otherwise waits for acknowledge packets after each send. (Slower but better compatibility with some clients/bots)

    Portrange start¶

    Start of the portrange to use for sending dcc files, this is not used for receiving files.

    Portrange end¶

    End of the portrange to use for sending dcc files, this is not used for receiving files.

    Bind to adapter or IP address¶

    If enabled, AdiIRC will try to bind to the chosen network adapter or IP address when sending dcc files, otherwise it will use ip address retrieved from the server.

    Prioritize IPv6¶

    If "Bind to adapter or IP address" is enabled, AdiIRC will use the IPv6 address if found.

    Dcc Get Folders¶

    List of folders to save dcc file transfers matched by file type/extensions.

    Dcc Get Folders Dialog

    Dcc Ignore Method¶

    If set to Disabled, all incoming transfers are allowed.

    If set to Accept only, only incoming transfers with file types matching the list will be allowed.

    If set to Ignore only, only incoming transfers with file types not matching the list will be allowed.

    Auto accept¶

    Auto accept transfers¶

    If enabled, AdiIRC will automatically accept dcc file transfers from any users. (Not recommended)

    Auto accept transfers only from host¶

    If enabled, AdiIRC will automatically accept dcc file transfers from any users matching a host in the list. (Not recommended)

    If file exists¶

    Action to take when receiving a dcc transfer file transfer and Auto accept transfers is enabled and the file already exists.

    When set to Ask, you will be prompted what to do.
    When set to Resume, it will automatically resume the transfer.
    When set to Overwrite, the old file will be deleted and then start the transfer.
    When set to Cancel, the transfer will be canceled/ignored.


Editbox Options

Editbox is the control/box where your type messages.

See also /editbox, $editbox, on TABCOMP.

Use global Editbox history¶

If enabled, Editbox up/down history will be the same for each window, otherwise each window has it's own up/down history.

Save and restore history¶

If enabled, Editbox history will be saved and restored across sessions.

Disable script evaluation in Editbox¶

If enabled, typing $identifier<tab> and //commands will not be evaluated in the Editbox.

Max history¶

Set the maximum number of Editbox history to save.

Editbox Lines¶

If set to automatic, Editbox will automatically resize to fit the text up to half the window size, otherwise it will always show to the chosen number of lines.

Tabcomplete order¶

Sets the order to cycle Tabcomplete nicks. A-Z = alphabetically, Last spoke order = in the order a nick last spoke on the current channel.

Include joins¶

When a nick joins, it's included when cycling Tabcomplete regardless if that nick ever spoke.

Tabcomplete suffix¶

Word or characters to display after the nick when using Tabcomplete, e.g ":" to display "Nick:"

This is the suffix for any word in the Editbox except the first word.

Tabcomplete first word Suffix¶

Word or characters to display after the nick when using Tabcomplete, e.g ":" to display "Nick:"

This is the suffix for the first word in the Editbox.


Events Options

Tip. It's possible to change individual events per channel in Switchbar/Treebar right-click menu -> Events.

See also $eventtarget.

Joins¶

When a user joins a channel, show the message in the channel, in the status window or hide it.

Modes¶

When a user changes channel modes, show the message in the channel, in the status window or hide it.

Part¶

When a user leaves a channel, show the message in the channel, in the status window or hide it.

Topics¶

When a user changes a channel topic, show the message in the channel, in the status window or hide it.

Quits¶

When a user quits irc, show the message in the channel, in the status window or hide it.

Nicks¶

When a user changes nick, show the message in the channel, in the status window or hide it.

Kicks¶

When a user is kicked from a channel, show the message in the channel, in the status window or hide it.

Names¶

When typing /names #channel, show the messages in the channel, in the status window or hide it.

Away¶

When typing /away, show the message in the channel, in the status window or hide it.

Invites¶

When a user invites you to a channel, show the message in the active window or the status window.

Whois¶

When typing /whois nick, show the message in the active window or the status window.

Errors¶

When you receive a error message from the irc server, show the message in the active window or the status window.

Private¶

When you receive a private message from a user and have no window, show the message in the active window or the status window.

Wallops¶

When you receive a wallops message from a user, show the message in the active window or the status window.

Notices¶

When you receive a notice message from a user, show the message in the active window or the status window.

Ctcps¶

When you receive a ctcp message from a user, show the message in the active window or the status window.

Server Notices¶

When you receive a notice message from a server, show the message in the active window or the status window.

Motd¶

When you receive Message Of The Day messages from a server, show the message in the active window or the status window.

Ping/Pong¶

Show or hide Ping/Pong messages in the status window.


Emoticons Options

Use Emoticons¶

Enable or disable emoticons.

Enabling emoticons only works on new messages after emoticons is enabled.

Animated gifs is not supported.

All icons will be resized/scaled to fit inside the text line height, aspect ratio will be preserved.

Case insensitive¶

If enabled, text and TEXT will both be replaced with the same icon, otherwise they could have different icons.

Only replace whole words¶

If enabled, emoticons inside links and words will not be replaced.


Fonts Options

  • Nicklist font weight
    • Font weight for Prefix
    • Font weight for Your
    • Font weight for ChanOwner
    • Font weight for ChanAdmin
    • Font weight for ChanOps
    • Font weight for HalfOps
    • Font weight for Voice
    • Font weight for Normal
  • Treebar font weight
    • Font weight Server
    • Font weight Channel
    • Font weight Private
    • Font weight Tool
    • Font weight Notify
    • Font weight Folder
    • Font weight for Prefix
    • Font weight for Your
    • Font weight for ChanOwner
    • Font weight for ChanAdmin
    • Font weight for ChanOps
    • Font weight for HalfOps
    • Font weight for Voice
    • Font weight for Normal
    • Links font weight

    • Fonts Options¶

    See also /font.

    Messages¶

    Sets the font to use for messages.

    Editbox¶

    Sets the font to use for the Editbox.

    Only Truetype fonts can be used.

    Topicbox¶

    Sets the font to use for the Topicbox.

    Only Truetype fonts can be used.

    Server Monitor¶

    Sets the font to use for the Server Monitor panel.

    Channel Monitor¶

    Sets the font to use for the Channel Monitor panel.

    Monitor¶

    Sets the font to use for the Other Monitor panesl.

    Nicklist¶

    Sets the font to use for the Nicklist.

    Switchbar¶

    Sets the font to use for the Switchbar.

    Only Truetype fonts can be used.

    Treebar¶

    Sets the font to use for the Treebar.

    Tips¶

    Sets the font to use for Tips messages.

    Menubar¶

    Sets the font to use for the Menubar.

    Only Truetype fonts can be used.

    Statusbar¶

    Sets the font to use for the Statusbar.

    Toolbar¶

    Sets the font to use for the Toolbar.

    Only Truetype fonts can be used.

    Edit Scripts¶

    Sets the font to use for the Script Editor.

    Only Truetype fonts can be used.

    Nicklist font weight¶

    Font weight for Prefix¶

    Select the font weight to use for drawing the prefix/channel mode characters (@%+).

    Font weight for Your¶

    Select the font weight to use for drawing your own nick.

    Font weight for ChanOwner¶

    Select the font weight to use for drawing channel owners (&).

    Font weight for ChanAdmin¶

    Select the font weight to use for drawing channel admins (!).

    Font weight for ChanOps¶

    Select the font weight to use for drawing channel operators (@).

    Font weight for HalfOps¶

    Select the font weight to use for drawing channel half operators (%).

    Font weight for Voice¶

    Select the font weight to use for drawing channel users with voice (+).

    Font weight for Normal¶

    Select the font weight to use for normal channel users.

    Treebar font weight¶

    Font weight Server¶

    Select font weight to use for server windows.

    Font weight Channel¶

    Select font weight to use for channel windows.

    Font weight Private¶

    Select font weight to use for private windows.

    Font weight Tool¶

    Select font weight to use for tool windows such as /rawlog and monitor panels.

    Font weight Notify¶

    Select font weight to use for Notify list nicks in Treebar.

    Font weight Folder¶

    Select font weight to use for folders.

    Font weight for Prefix¶

    if Treebar Nicklist is enabled, select the font weight to use for drawing the prefix/channel mode characters (@%+).

    Font weight for Your¶

    if Treebar Nicklist is enabled, select the font weight to use for drawing your own nick.

    Font weight for ChanOwner¶

    if Treebar Nicklist is enabled, select the font weight to use for drawing channel owners (&).

    Font weight for ChanAdmin¶

    if Treebar Nicklist is enabled, select the font weight to use for drawing channel admins (!).

    Font weight for ChanOps¶

    if Treebar Nicklist is enabled, select the font weight to use for drawing channel operators (@).

    Font weight for HalfOps¶

    if Treebar Nicklist is enabled, select the font weight to use for drawing channel half operators (%).

    Font weight for Voice¶

    if Treebar Nicklist is enabled, select the font weight to use for drawing channel users with voice (+).

    Font weight for Normal¶

    if Treebar Nicklist is enabled, select the font weight to use for normal channel users.

    Links font weight¶

    Select the font weight to use for regular and/or channel name links.

    See also Options -> Links.


General Options

Start with windows¶

Makes AdiIRC auto start when windows is started.

Start minimized¶

Makes AdiIRC start in a minimized state, due to various reasons, the main window is shown briefly before it minimizes.

Allow only one copy of AdiIRC running.¶

If enabled, only one copy of AdiIRC.exe in the current folder is allowed to run.

AdiIRC.exe in other folders is ignored.

AdiIRC is always on top of other windows.¶

Puts AdiIRC on top of all other windows on your desktop.

See also /showadiirc.

Disable CTCP reply¶

Disable's all CTCP reply's, such as CTCP VERSION/PING/TIME

Can also be disabled by a script (or modify the reply):

; halt all ctcp reply's.
ctcp *:*:*:halt

; halt only VERSION reply's
ctcp *:VERSION:*:halt

Keep channels open on part¶

Keeps the channel windows open whenever you part or are parted from a channel.

Keep channels open on kick¶

Keeps the channel windows open whenever you are kicked from a channel.

Rejoin channels on kick¶

Automatically rejoins a channel if you are kicked.

Rejoin channels on reconnect¶

Automatically rejoins all opens channels when reconnecting a server.

Confirm closing while connected to server¶

When enabled, a popup dialog to confirm is shown to confirm closing AdiIRC is one or more servers is connected.

Confirm disconnecting when clicking connect icon¶

When enabled, a popup dialog to confirm is shown when clicking the (dis)connect icon in the toolbar, if the current server is connected.

Confirm closing server windows¶

When enabled, a popup dialog to confirm is shown when closing a server window.

Confirm closing channel windows¶

When enabled, a popup dialog to confirm is shown when closing a channel window.

Confirm closing private windows¶

When enabled, a popup dialog to confirm is shown when closing a private window.

Associate AdiIRC with irc:// links¶

Set's AdiIRC as the default irc client when clicking irc:// ircs:// irc6:// ircs6:// xdcc:// links.

Check association on startup¶

Checks if AdiIRC is the default irc client on startup and set's it default if it's not.

Hide channel key¶

Hides the channel key from the Titlebar and Statusbar.

Check for updates¶

Allows AdiIRC to check for new versions Never/Daily/Weekly/Monthly.

See also /update.

Include beta versions¶

Allows AdiIRC to check for beta versions as well as regular versions.

Beta versions is usually safe to install.

See also /betaup.

Global shortcut to hide/show main window¶

Also called bosskey.

Sets a keybind to hide/show main AdiIRC regardles if it has focus or not.

Choose Language¶

Sets the language of AdiIRC, see http://adiirc.com/translations/ for more info.

Border size¶

Sets the border size around the text area, topicbox, editbox and nicklist.

Join channels when invited¶

Automatically joins a channel when invited by another user.

A safer approach using a script:

on *:INVITE:#:{
  if ($input($nick want's to invite you into $chan Accept?, y, Invite) {
    /join $chan
  }
}

Ignore channels¶

List of channels to ignore when Join channel when invited is enabled.


Highlights Options

See also /highlight, $highlight.

Use highlight¶

Enables or disables the highlight system.

Highlight entire line¶

Entire message line will be colored in the matched highlight color instead of just the word.

Enabled:
[42:42] <Nick2> I am highlighting your Nick

Disabled:
[42:42] <Nick2> I am highlighting your Nick

Enabled notice alert¶

If enabled and the current window is not the window where the highlight occured, a notice showing the highlight message, from who and where will be shown in your active window.

Example:
[42:42] -Highlight Alert- Nick2: I am highlighting your Nick (Freenode/#adiirc)

Flash icons¶

Enable or disable flashing of icons in Treebar/Switchbar

Flash text¶

Enable or disable flashing of text in Treebar/Switchbar

Enable sounds¶

Enables or disables sounds/beep for all highlight words.

Enable tips¶

Enables or disables Tip messages for all highlight words.

Ignore highlights if more than [X] nicks are highlighted¶

If enabled, highlights will not be triggered on messages which includes more than [X] nicks in the current channel.

Animate Trayicon on Highlights¶

The # in the trayicon will flash/blink between white and black when you are highlighted.

Animate Trayicon on Private Message¶

The # in the trayicon will flash/blink between white and black when you receive a private message.

Animate Trayicon on Channel Message¶

The # in the trayicon will flash/blink between white and black when a channel receives a message.

Whois on Highlights¶

Sends a /whois nick request whenever you are highlighted.

There is a internal delay to avoid triggering every time you are highlighted from the same nick.

Whois on Private Message¶

Sends a /whois nick request whenever you receive a private message.

There is a internal delay to avoid triggering every time you receive a message same nick.

Flash main window/taskbar on Highlights¶

Enables or disables flashing main window in the Taskbar when you are highlighted for all highlight words.

Flash main window/taskbar on Private Message¶

If enabled, will flash the main window in the Taskbar when you receive a private message.

Flash main window/taskbar on Channel Message¶

If enabled, will flash the main window in the Taskbar when someone types a message on a channel.

Highlight list¶

Add/Edit Highlight Dialog

Ignore highlights from channels/users¶

All highlight options will be ignored on channel or users in this list.


Icons Options

See also /icon.

Main¶

Set the icon to use for the main AdiIRC window, this icon will also be shown in Taskbar.

Server¶

Set the icon to use for Server/Status windows.

Channel¶

Set the icon to use for Channel windows.

Private¶

Set the icon to use for Private windows.

Tool¶

Set the icon to use for Tools windows, such as Rawlog and Monitor Panels.

Custom¶

Set the icon to use for @Custom windows created with /window.

Folder¶

Set the icon to use for Treebar folders.

Notify¶

Set the icon to use for the Notify list nicks in Treebar.

Monitor Panels¶

Set the icon to use for undocked Monitor Panel windows in Treebar.

Highlight¶

Sets the icon to use in Treebar when highlighted.

Treebar arrow down¶

Sets the icon to use when a Treebar folder is expanded.

Treebar arrow right¶

Sets the icon to use when a Treebar folder is collapsed.

Scroll to bottom arrow¶

Sets the icon to use when Options -> Messages -> Show scroll icon when scrolled up is enabled.

Get favicon from server website¶

When enabled, AdiIRC will try to find the favicon for each connected server and use it as window icon.

Enable Nicklist icons¶

Enable or disable Nicklist icons.

Nicklist icons list¶

Add/Edit Nicklist icon Dialog


Ignore Options

See also /ignore.

Enable Ignore¶

Enable or disable Ignore.

Ignore list¶

Add/Edit Ignore Dialog


Links Options

Open links in Default browser¶

When enabled, opens all clicked links in your default browser.

Open links in custom browser¶

When enabled, opens all clicked links with the specified program using the link as a parameter.

Use custom link color¶

When enabled uses the link color set in Options -> Colors to make regular links stand out.

Use custom link font style¶

When enabled uses the font style set in Options -> Fonts to make regular links stand out.

Use custom channel link color¶

When enabled uses the link color set in Options -> Colors to make channel names stand out.

Use custom channel link font style¶

When enabled uses the font style set in Options -> Fonts to make channel names stand out.

Open links with single click¶

When enabled, opens all clicked links with just a single click instead of double click.

Show warning when opening a link¶

When enabled, shows a warning every time a link is clicked.


Logging Options

See also /log.

Log Channels¶

When enabled, logs all channel windows.

Log Privatechat¶

When enabled, logs all private windows.

Log Servers¶

When enabled, logs all server windows.

Log hidden events¶

When enabled, logs all events hidden by Events Options.

Make separate folder for each server¶

When enabled, will create a sub folder with the network name and save the logfile there.

Separate logs by date¶

When enabled, will save the logfile in a subfolder named YYYY-MM-DD.

Strip mIRC tags¶

When enabled, Removes all control codes from the message before logging.

Use Timestamp¶

When enabled, adds a timestamp with the specified Timeformat to the message before logging.

Use line colors¶

When enabled, the line colors used for the message will be added to the log.

Log Nickcolumn character¶

When enabled, the Nickcolumn character used to separate timestamp/nick from the message will be saved and correctly restored.

Log session start/close¶

When enabled, session start and close date will be logged to the logfile.

LogFolder¶

The Folder to save the log files.

Timeformat¶

The time format to use when Use Timestamp is enabled.

Click the Show date/time variables link to see available variables, these variables ONLY work for the timestamp, not for the filename.

FileName¶

The filename to use for logs,

Variables available:

$network - The network name associated with the log window.
$channel - The channel/query name associated with the log window.
$date - Current date in the yyyymmdd format.

Date/time/other variables are not available to keep the filenames predictable for restore logs.

Rotated filename¶

The filename to use for logs when Split logs at [X] is enabled and the log is to be rotated,

Variables available:

$network - The network name associated with the log window.
$channel - The channel/query name associated with the log window.
$date - Current date in the yyyymmdd format.
$count - A incremental number based on number of files with the same filename minus the $count number.

Date/time/other variables are not available to keep the filenames predictable for restore logs.

Split logs at [X] kb¶

When enabled and a log file becomes bigger than [X] kilobytes, it will be renamed to Rotated filename and a new log created.

Show last [X] messages in private windows¶

If enabled, the last [X] messages from the log files will be restored when a private window is opened.

Show last [X] messages in channel windows¶

If enabled, the last [X] messages from the log files will be restored when a channel window is opened.

Disable logging for channels/users¶

Channels and users in this list will not be logged.

Always log channels/users¶

Channels and users in this list will always be logged, regardless of the Log Channels and Log Privatechat options.


Media Player Options

Now playing message¶

Message to show when typing /np.

The message will be evaluated and can contain identifiers.

Action¶

If checked, the Now playing message will be sent as an action.

Now playing message2¶

Message to show when typing /np nick.

The message will be evaluated and can contain identifiers.

Action2¶

If checked, the Now playing message2 will be sent as an action.

Use random now playing messages¶

If enabled, /np will use a random message from the Tools -> Edit Now playing list.

Choose Media Player¶

Choose which media player /np should display now playing information from.

Will also enable the Toolbar media player icons for some players and Statusbar now playing if enabled.

Path to winamp¶

If Choose Media Player is set to Winamp, path to Winamp can be set to launch winamp from Toolbar and to install a Winamp plugin.

Path to PlayList¶

If Choose Media Player is set to Winamp, path to the Winamp m3u file can be set to allow searching and selecting songs to play with /wselect /wseek and through the winamp dialog |%(key)CTRL% + |%(key)J%.

Max playlist search outoput¶

If Choose Media Player is set to Winamp, the max number of results to show when searching the Winamp playlist.


Messages Options

Use timestamp¶

Enables or disables the timestamp for messages.

See also /timestamp, $timestamp.

Format¶

The timestamp format to use.

See also $timestampfmt.

Message prefix System¶

The prefix to use for system messages.

See also $prefixsys.

Message prefix Ctcp¶

The prefix to use for ctcp messages.

See also $prefixctcp.

Message prefix User¶

The prefix to use for regular user messages.

See also $prefixuser.

Message prefix Emote¶

The prefix to use for emote messages.

See also $prefixemote.

Highlight matching lines when hovering nicks¶

If enabled, all lines containing the hovering nick will be highlighted.

Scroll messages when typing¶

If enabled, typing in the Editbox will scroll the message buffer to bottom if the buffer is scrolled up.

AutoFocus Editbox¶

If enabled, when the mouse leaves the message buffer area, focus will put on the Editbox.

Make certain part of messages bold¶

If enabled, interesting parts of some messages like nicks, channel names will be bold.

Enabled:
Nick (nick!nick@host.com) joins #channel

Disabled:
Nick (nick!nick@host.com) joins #channel

AutoCopy selected text to Clipboard¶

If enabled, selected text in the message buffer will automatically be copied to your clipboard when you release the mouse.

Show day changed message¶

If enabled, AdiIRC will show a "Day changed to X" message in all open windows at midnight.

Strip mIRC tags (colors/bold/italic/underline)¶

If enabled, removes control codes from incoming messages.

See also $strip.

Strip mIRC tags in Topicbox¶

If enabled, removes control codes from the Topicbox.

See also $strip.

Use unread line marker¶

If enabled, shows a vertical line in the message buffer indicating new messages since you last focused the window.

Use small unread line marker¶

IF enabled, the unread line marker between two messages with no extra spaces around it.

Show empty line at bottom¶

If enabled, always shows a empty line at the bottom of the message buffer.

ignore timestamp for consecutive messages¶

If enabled, timestamp will be hidden if the same person writes several messages in a row.

Enabled:

[42:42] <Nick1> text
[42:42] <Nick2> text
        <Nick2> text
        <Nick2> text
[42:42] <Nick3> text

Disabled:

[42:42] <Nick1> text
[42:42] <Nick2> text
[42:42] <Nick2> text
[42:42] <Nick2> text
[42:42] <Nick3> text

Show scroll icon when scrolled up¶

When enabled, shows a clickable icon when the buffer is scrolled up, clicking it will scroll the buffer to the bottom.

The icon will switch from white to black depending on the message buffer background color.

Show Scrollbar¶

If enabled, shows vertical scrollbar in the message buffer, if set to Autohide, scrollbar will be hidden until you either mousescroll or hover at the right border of the message area.

Show lines between messages¶

If enabled. shows horizontal lines between the messages in the message buffer.

Use alternative text rendering¶

If enabled, uses a more accurate but much slower way to render text, enable if you have problems with unicode or missing glyphs with certain fonts.

Indent wrapped lines with [X] pixels¶

Indent wrapped lines in the message buffer with [X] pixels.

Max buffer [X] lines¶

Set the maximum number of scrollback lines in the message buffer.

If set to 0, unlimited number of lines.

Can also be set per window in the Switchbar/Treebar right click menu.

Line marker size¶

Sets the unread line marker size in pixels.

Spacing¶

If set to single, messages in the message buffer will use regular spacing.
If set to paragraph, messages in the message buffer will use 1.5 times spacing.
If set to double, messages in the message buffer will use 2 times spacing.

Pixel spacing¶

Sets the number of pixels between each message in the message buffer.

Left border¶

Sets the left border for the message buffer in pixels.

Bottom border¶

Sets the bottom border for the message buffer in pixels.

Use nick column¶

Enable or disable the message buffer nick column.

See also /nickcolumn.

Enabled:

Disabled:

Expand nick column on long nicks¶

If enabled, nick column will automatically resize itself to fit long nicks.

Nick column divider¶

If set to on, nick column divider will be visible.
If set to off, nick column divider will not be visible.
If set to autohide, nick column divider will be visible and automatically hide itself unless the mouse is hovering it.
If set to locked, nick column divider will be visible and locked to avoid accidental resize.

Nick column width¶

Set default nick column width.

If changed, will reset all column width in all windows.

Nick column divider width¶

Set the nick column divider width in pixels.


Monitor Panels Options

Monitor panels can be enabled from the View menu in Menubar.

The panels can be docked almost anywhere and is always visible regardless of what window is currently active, which can be useful for monitoring many channels at once.

See also Monitor Panels.

Monitor Channels¶

Enable or disable the channel messages monitor

Monitor Servers¶

Enable or disable the server messages monitor

Monitor Private¶

Enable or disable the private messages monitor

Monitor Notice¶

Enable or disable the notice messages monitor

Monitor Highlights¶

Enable or disable the highlights monitor

Monitor Urls¶

Enable or disable the url monitor

Save and restore Private¶

If enabled, private monitor messages will be saved on exit and loaded on start.

Save and restore Notice¶

If enabled, notice monitor messages will be saved on exit and loaded on start.

Save and restore Highlights¶

If enabled, highlight monitor messages will be saved on exit and loaded on start.

Save and restore Urls¶

If enabled, url monitor messages will be saved on exit and loaded on start.

Ignore duplicate lines¶

If enabled, duplicate lines will be excluded from the monitor panels.

Exclude active window¶

If enabled, channel/query messages on current active window will be excluded from the monitor panels.

Channel buffer¶

Maximum size of the channel monitor buffer.

Server buffer¶

Maximum size of the server monitor buffer.

Private buffer¶

Maximum size of the private monitor buffer.

Notice buffer¶

Maximum size of the notice monitor buffer.

Highlights buffer¶

Maximum size of the highlights monitor buffer.

Url buffer¶

Maximum size of the url monitor buffer.

Show nickcolumn for server messages.¶

Show or hide the nickcolumn in server messages monitor.

Show timestsamp for server messages¶

Show or hide the timestamp in server messages monitor.

Show network for server messages¶

Show or hide the network name in server messages monitor.

Show nickcolumn for channel messages.¶

Show or hide the nickcolumn in channel messages monitor.

Show timestamp for channel messages¶

Show or hide the timestamp in channel messages monitor.

Show network for channel messages¶

Show or hide the network name in channel messages monitor.

Don't monitor these channels/nicks¶

Disable all kinds of monitoring of channels and nicks in this list.

network:channel can be used to exclude channels on specific networks.

Show/Hide Messages¶

When a user types a message, show or hide the message in the channel monitor.

Show/Hide Joins¶

When a user joins a channel, show or hide the message in the channel monitor.

Show/Hide Modes¶

When a user changes channel modes, show or hide the message in the channel monitor.

Show/Hide Parts¶

When a user leaves a channel, show or hide the message in the channel monitor.

Show/Hide Topics¶

When a user changes a channel topic, show or hide the message in the channel monitor.

Show/Hide Quits¶

When a user joins quits irc, show or hide the message in the channel monitor.

Show/Hide Ctcp¶

When a user sends a ctcp request, show or hide the message in the channel monitor.

Show/Hide Kicks¶

When a user is kicked from a channel, show or hide the message in the channel monitor.

Show/Hide Nicks¶

When a user changes nick, show or hide the message in the channel monitor.


Mouse Options

The commands is evaluated as a script.

Server¶

Sets the command to run when double-clicking in a server window.

Private¶

Sets the command to run when double-clicking in a private window.

Channel¶

Sets the command to run when double-clicking in a channel window.

Nicklist¶

Sets the command to run when double-clicking a nick in the Nicklist.

Notify list¶

Sets the command to run when double-clicking a nick in the Notify list.

Message¶

Sets the command to run when double-clicking a nick in the text buffer.


Nick Colors Options

See also /cnick.

Use random nick colors¶

Enable or disable random nick colors.

Use extended color list¶

If enabled, the random nick color will be a full $rgb value (instead of just color 0-15), and if the color is to close to the background color, it will be inverted.

This option is still in testing, feedback is welcome.

Method¶

Enable nickcolors for messages, Nicklist or both.

Enable nick colors¶

Enable or disable nick colors.

Color entire line¶

Enabled:
[42:42] <Nick2> Writing some text

Disabled:
[42:42] <Nick2> Writing some text

Nick color list¶

Add/Edit Nickcolor Dialog


Nicklist Options

See also /nicklist.

Allow multiple mouseclick select in Nicklist¶

Enables or disables multi selection in Nicklist.

Strip status prefix¶

If enabled, prefix/channel mode characters (@%+) will not be drawn in the Nicklist.

Your prefix follows status color¶

If enabled, your prefix/channel mode color will follow the global prefix/channel mode color instead of "Your" color.

Enabled:
@Nick

Disabled:
@Nick

Show Nicklist buttons¶

Enables or disables the Nicklist buttons.

Buttons can be changed from Menubar -> Tools -> Edit Nicklist Buttons.

Autohide¶

If enabled, Nicklist will automatically hide it self when the mouse leaves and show it self when the mouse enters.

Use custom prefix colors¶

If enabled, prefix/channel modes will be drawn in the colors set in Options -> Colors.

Enabled:
@Nick

Disabled:
@Nick

Show Tooltips¶

If enabled, hovering a nick in the Nicklist will show a Tooltip Text.

Lock Nicklist¶

If enabled, Nicklist will be locked to avoid accidental resize.

Show Scrollbar¶

If enabled, shows vertical scrollbar in the Nicklist, if set to Autohide, scrollbar will be hidden until you either mousescroll or hover at the right border of the Nicklist.

Show user count¶

If enabled, will show the number of channel operators and total users at the top of the Nicklist.

Tooltip Text¶

Text to show when Show Tooltips is enabled.

The Tooltip Text will be evaluated and can contain identifiers.

Position¶

Moves the Nicklist left, right or turns if off.

This options can be changed per channel in the Treebar/Switchbar menu.

Size¶

Set the nicklist size.

When changed, all custom Nicklist sizes will be reset.

Sort By¶

Sort the Nicklist by prefix/channel mode or alphabetically.

Pixel spacing¶

Adds or reduces the space between each nick in the Nicklist.


Notify Options

See also /notify, $notify,

Enable Notify¶

Enables or disables Notify

Notify list¶

Add/Edit Notify Dialog

Show address¶

If enabled, shows the ident/hostname of the nick logging on if supported by the server.

Show time¶

If enabled, shows the time the nick has been online if supported by the server.


Proxy Options

See also /proxy.

Connection¶

Enables/disables proxy for Server connections, Dcc connections or both.

Protocol¶

Set the proxy protocol to connect to.

Hostname¶

Set the proxy hostname to connect to.

Username¶

Set the proxy username used to log in to the proxy (if login is required).

Password¶

Set the proxy password used to log in to the proxy (if login is required).

Port¶

Set the proxy port to connect to.


Quick Connect Options

See also /quickconnect.

Nick¶

The default nick to use when connecting through quick connect dialog or a blank server.

Alternative¶

The default alternative nick to use when connecting through quick connect dialog or a blank server.

Username¶

The default username/ident to use when connecting through quick connect dialog or a blank server.

Fullname¶

The default fullname to use when connecting through quick connect dialog or a blank server.

Host¶

The default host to connect to through quick connect dialog or a blank server.

Port¶

The default port to connect to through quick connect dialog or a blank server.

Use +port for ssl and *port for starttls.

Join these channels on connect¶

List of channels to join when connecting through quick connect dialog or a blank server.

Run these commands on connect¶

List of commands to join when connecting through quick connect dialog or a blank server.

Enable Quick Connect¶

Enables or disables the quick connect dialog on startup.

Show ChannelList on empty connect¶

Show the channel list automatically when connecting a server without any autojoin channels.

Show ChannelList on /list¶

Show the channel list user interface when typing /list.


Server Options

Use new Serverlist¶

Enables or disables the new serverlist.

Old and new serverlist can still be accessed with the /serverlist command.

Reconnect on server disconnect¶

if enabled, AdiIRC will try reconnect when remote connection is disconnected.

Reconnect on resume from sleep¶

If enabled, AdiIRC will when resuming from sleep, try to reconnect all servers which was previously connected when going to sleep.

Save open servers on exit and autoconnect them on next restart¶

If enabled, AdiIRC will on exit save all open servers in the serverlist and mark them for autuconnect on next startup.

All other servers in the serverlist will be unmarked for autoconnect.

All autojoin channels for the open servers will be cleared and all open channels will be added as autojoin in their place.

Use echo-message when available¶

If enabled, AdiIRC will ask to enable ircv3 echo-message tag on supported servers, outgoing messages will be hidden so only the echo'ed message is shown.

Retry [X] times¶

Number of times to try to reconnect.

Wait [X] seconds before retrying¶

Number of seconds to wait between each reconnect try.

Default ban type¶

Default ban type to use when using /ban.

Default Part Message¶

Default part message to use when using /part or closing a channel window.

Default Quit message¶

Default quit message to use when using /quit or disconnecting/closing a server window.

Default quit message will be ignored if random quit message is enabled.

Default Port¶

Default port used in /server and other places.

+port can be used for SSL, *port can be used for STARTTLS.

Use random quit message¶

If enabled, a random line from the quit messages file will be used.

Quit message can be added/removed from the Menubar -> Tools -> Edit Quits.

Default quit message will be ignored.

Default Encoding¶

Default character encoding to use when adding/connecting a new server.

Use UTF8 Fallback¶

If enabled and encoding is not UTF8, AdiIRC will try to decode the text with the chosen encoding and if it fails, fallback to decode with UTF8 instead.

Try to regain nick¶

If enabled, AdiIRC will automatically try to regain your primary nick.

Use serverlist group labels as network name¶

If enabled, the serverlist label you entered will be shown in Treebar/Switchbar/Titlebar etc instead of the network name received from the server.

Track users away status¶

If enabled, AdiIRC will periodically try to find out which users are away or not away.

Only track away on channels smaller than [X] users¶

Disable tracking away status for channels larger than [X] users.

On some servers, AdiIRC needs to send /who #channel periodically, doing this on large channels can cause the server to disconnect you.

Send delay [X] ms¶

Set the delay in milliseconds between each message AdiIRC sends to the server.

Sending too much data too fast can cause the server to disconnect you.

Use Identd¶

Enable or disable the Identd server.

Enable only when connecting¶

If enabled, AdiIRC will start the identd server when connecting to a server, and stop it when connected.

Show Identd requests¶

If enables, shows a notice in the server window when a server wants to know your Identd nick.

Ident Nick¶

The nick to reply when a server asks for your Identd nick.

System¶

The system to reply when a servers asks for your Identd nick.

Ident Port¶

The port the Identd server should listen on.

Enable Dde Server¶

Enables or disables the Dde Server.

Check if Service Name is in use¶

If enables, AdiIRC will check if another Dde server is using the same name before starting it.

Service Name¶

The Dde service name to use.

Dde Delay [X] ms¶

How long to wait in milliseconds before giving up the Dde request.

Skip connections with invalid certificates¶

If enabled, AdiIRC will disconnect servers with invalid ssl certificates.

Display invalid certificates for approval¶

If enabled AdiIRC will ask to approve servers with invalid ssl certificates.

Automatically accept invalid certificates¶

If enabled, AdiIRC will connect to servers with invalid ssl certificates automatically.

Clear approved certificate cache¶

Clears previously accepted invalid certificates.

Client Certificate File¶

Path to a client ssl certificate in the pfx format


Sounds Options

Highlight sound options is set on the highlight word in the highlight options

Enable sounds¶

Enable or disable sounds.

Sounds can be temporary muted with the CTRL + R keybind.

Only play if AdiIRC is not focused.¶

If enabled, sounds will only play if AdiIRC is not the active window.

Temporary mute sounds¶

If enabled, sounds are muted until unmuted or AdiIRC is restarted.

On Event Connect¶

When a server is connected, play a beep/sound or nothing.

On Event Disconnect¶

When a server is disconnected, play a beep/sound or nothing.

On Event Join¶

When a user joins a channel, play a beep/sound or nothing.

On Event Part¶

When a user part a channel, play a beep/sound or nothing.

On Event Invites¶

When a user invites you to a channel, play a beep/sound or nothing.

On Event Kick¶

When a user is kicked from a channel, play a beep/sound or nothing.

On Event Notice¶

When you receive a notice message, play a beep/sound or nothing.

On Event Part¶

When a user part a channel, play a beep/sound or nothing.

On Event Dcc Send¶

When you send a dcc file, play a beep/sound or nothing.

On Event Dcc Chat¶

When you receive a dcc chat request, play a beep/sound or nothing.

On Event Dcc Chat Message¶

When you receive a dcc chat message, play a beep/sound or nothing.

On Event Private Message¶

When your receive a private message, play a beep/sound or nothing.

On Event Channel Message¶

When someone types a message on a channel, play a beep/sound or nothing.

On Event Buffer¶

When a new message arrives while you are scrolled up in the message buffer, play a beep/sound or nothing.

On Event Dcc Success¶

When a dcc transfer is completed successfully, play a beep/sound or nothing.

On Event Dcc Fail¶

When a dcc transfer failed to complete successfully, play a beep/sound or nothing.

On Event Notify Online¶

When a user in the Notify list comes online, play a beep/sound or nothing.

On Event Notify Offline¶

When a user in the Notify list goes offline, play a beep/sound or nothing.

Beeps¶

Number of beeps to play beep is enabled.

Delay¶

Delay in milliseconds between each beep.


Statusbar Options

See also /statusbar, $statusbar.

Enable Statusbar¶

Enable or disable the Statusbar, can also be toggled in the Menubar -> View -> Statusbar and through the /statusbar command.

Show Info¶

Shows or hides the Server/Channel/Query info item.

Show Nick¶

Shows or hides the nick info item.

Show Server¶

Shows or hides the server info item.

Show Lag¶

Shows or hides the lag info item.

Show highlight sound status¶

Shows or hides the highlight sound/mute status

See /mute for more information.

Show Media Player song¶

Shows or hides the media player song item.

Show Bandwidth usage¶

Shows or hides the bandwidth monitor.

Show DCC Transfers¶

Shows or hides the dcc transfers progress bar.

Expand to multiple lines¶

If enabled Statusbar will expand into multiple lines to fit all Statusbar items, Media Player item will no longer function as a "right-align" item and will no longer fill up empty space.


Switchbar Options

See also /switchbar.

Show network name¶

Shows or hides the network name for this network in the status tab, if hidden, the text will be just "Status"

Show nick name¶

Shows or hides the nick name for this network in the status tab.

Show Icons¶

Shows or hides the window icons.

Show tooltips¶

If enabled, shows tooltips when hovering a window in the Switchbar.

Custom tooltips can be set in Options -> Windows.

Lines¶

Selects how many lines should be visibile in the Switchbar.

If "Auto" is selected and "Lock bars" is on, Switchbar will fit as many tabs as possible then make new lines as needed.

If "Auto" is selected and "Lock bars" is off, Switchbar will fit as many tabs as possible then show a overflow button at the end of the Switchbar with the rest of the tabs.
This is a .NET limitation when grip style is visible.

If "1" is selected, Switchbar fill fit as many tabs as possible with a smaller minimum size.

Size¶

Sets the prefered maximum size of a tab, if size is set to 0, Switchbar will make the tabs as large as possible.


Sysinfo Options

Change settings for¶

Select the command to change the output for.

Output¶

Change the output for the selected command.

The output will be evaluated and can contain identifiers.

See also Formatting text.

Choose Network Adapter¶

Select the network adapter to use for the /bw command or disable it.


Tips Options

See also /tips, $tips.

Enable tips¶

Enable or disable Tips.

Note: highlight tips is set on the highlight word in the highlight options.

Hide tips when fullscreen application is active¶

If enabled, Tips will be hidden if a fullscreen application such as a movie or a game is active.

Only show if AdiIRC is not focused¶

If enabled, Tips will be hidden if AdiIRC is focused.

Animate tips¶

If enabled, tips will be faded in/out, otherwise they will be shown/hidden instantly.

Queue [X] tips¶

Maximum number of tips to queue/show in the same Tip window.

Show for [X] secs¶

Show a Tip window for [X] seconds.

Channel tips Message¶

If enabled, shows a Tip message when someone types in a channel.

Can be enabled/disabled for individual channels through the Switchbar/Treebar menu.

Channel tips Join¶

If enabled, shows a Tip message when someone joins a channel.

Channel tips Mode¶

If enabled, shows a Tip message when someone changes channel modes.

Channel tips Quit¶

If enabled, shows a Tip message when someone quits irc.

Channel tips Notice¶

If enabled, shows a Tip message when someone sends a notice message to the channel.

Channel tips Part¶

If enabled, shows a Tip message when someone parts a channel.

Channel tips Topic¶

If enabled, shows a Tip message when someone changes channel topic.

Channel tips Ctcp¶

If enabled, shows a Tip message when someone sends ctco request to the channel.

Channel tips Kick¶

If enabled, shows a Tip message when someone kicks a user on a channel.

Channel tips Nick¶

If enabled, shows a Tip message when someone changes nick.

Private tips Message¶

If enabled, shows a Tip message when someone writes you a private message.

Can be enabled/disabled for individual nicks through the Switchbar/Treebar menu.

Private tips Ctcp¶

If enabled, shows a Tip message when someone sends you a ctcp request.

Private tips Notice¶

If enabled, shows a Tip message when someone sends you a notice message.

Private tips Nick¶

Unused.

Other tips Connect¶

If enabled, shows a Tip message when you connect to a server.

Other tips Dcc Send¶

If enabled, shows a Tip message when a dcc send file transfer starts or stops.

Other tips Dcc Get¶

If enabled, shows a Tip message when a dcc get file transfer starts or stops.

Other tips Dcc Chat¶

If enabled, shows a Tip message when a dcc chat session starts or stops.

Other tips Invite¶

If enabled, shows a Tip message when you are invited to a channel.

Other tips Away¶

If enabled, shows a Tip message when you go away or come back.

Other tips List¶

If enabled, shows a Tip message when a /list request is started and stopped.


Tray Icon Options

Always show in tray¶

If enabled, tray icon is always visible.

Hide window in taskbar¶

If enabled, AdiIRC icon is always hidden from the taskbar

Use single click to restore¶

If enabled, you only need to click the tray icon once to restore/minimize AdiIRC, else you have to doubleclick.

Send to tray on minimize¶

If enabled, AdiIRC will minimize to tray instead of to the taskbar.

Send to tray when pressing X (close button)¶

If enabled, AdiIRC will minimize to tray instead of closing, when the close button is clicked.


Treebar Options

See also /treebar.

Notify List¶

If set to "All", all notify nicks will be visible in the Treebar, if set to "Online", only online notify nicks will be visible, otherwise no nicks will be visible.

Close Icon¶

If set to "Off", no close icon will be visible.
If set to "On hovering", a close icon will be visible when hovering a Treebar node associated with a window.
If set to "Always", all Treebar nodes associated with a window will have a close icon.
If set to "Active", The current selected Treebar node associated with a window will have a close icon.

The icon can be changed from Options -> Icons.

Spacing¶

Sets the number of pixel between each node in the Treebar. (Divied by 2)

Strip status prefix¶

If enabled, prefix/channel mode characters (@%+) will now be drawn in the Treebar Nicklist.

Your prefix follows status color¶

If enabled, your prefix/channel mode color will follow the global prefix/channel mode color instead of "Your" color.

Enabled:
@Nick

Disabled:
@Nick

Nicklist follows selected channel¶

If enabled, the Treebar Nicklist will be collapsed for all channels except the active channel.

Show Nicklist¶

Enables or disables the Treebar Nicklist.

Show top to bottom scrollbar¶

Enables or disables the vertical scrollbar.

Show left to right scrollbar¶

Enables or disables the horizontal scrollbar.

Use Folders¶

Enables or disables the Treebar folder groups.

Can also be enabled/disabled from the Treebar right click menu.

Show Count¶

Enables or disables the Treebar folder groups count.

Can also be enabled/disabled from the Treebar right click menu.

Show window icons¶

Enables or disables the window icons in the Treebar.

Window icon can be changed in Options -> Icons.

Show unread count¶

Enables or disables the Treebar unread messages count.

Can also be enabled/disabled from the Treebar right click menu.

Only show unread messages count¶

If enabled, will only show actual messages (excluding system messages such as join/part etc) in the unread messages count.

Use system menu¶

If enabled, right clicking a window in Treebar will shows the system menu, otherwise it will show the scripted window menu.

Enabled:

Disabled:

Show nick name¶

Shows the current nick on the Server node.

Show network name¶

Shows the current network name on the Server node.

Use flat Treebar¶

If enabled, the Treebar will no longer be nested and all nodes will be shown in the same horizontal position.

Show arrow icons¶

Enables or disables the arrow icons in the Treebar.

Show tooltips¶

If enabled, shows tooltips when hovering a window in the Treebar.

Custom tooltips can be set in Options -> Windows.

Show highlights on collapsed networks¶

If enabled, and a Treebar network node is collapsed, it will show new message/highlight color (and unread count if enabled) for any associated channel/private window on the network node.


Windows Options

Start AdiIRC with maximized windows¶

If enabled, AdiIRC will maximize the first server window added on start.

Minimize windows when pressing X (close button)¶

If enabled, AdiIRC will minimize channel/server/private/tool/custom/panel windows when pressing the close button.

Save and restore main window size/position¶

If enabled, AdiIRC will save and restore the size and position of the main window.

Save and restore window size/position¶

If enabled, AdiIRC will save and restore channel/server/private/tool/custom/panel windows.

Show Titlebar¶

Enable or disable the Titlebar of the main window.

Disabling the Titlebar will remove the window borders.

Open new window on private message¶

If enabled, when you receive a private message and there is no matching private window, AdiIRC will open one.

Enable Menubar¶

Enable or disable the Menubar.

If disabled, pressing the ALT key will show it temporary.

See also /menubar.

Show icon in Menubar¶

If enabled, shows the current active windows icon in the Menubar.

Enable Toolbar¶

Enable or disable the Toolbar.

Can also be enabled/disabled from the Menubar -> View -> Toolbar.

See also /toolbar.

Focus newly opened windows¶

If enabled, AdiIRC will give focus to any new windows, otherwise focus will stay on the current window.

Enable Switchbar¶

Enable or disable the Switchbar.

Can also be enabled/disabled from the Menubar -> View -> Switchbar.

See also /switchbar.

Open new window on /msg¶

If enabled, when typing a /msg message and the target window doesn't exists, AdiIRC will open one.

Open server history/favorites/quick connect in a new window¶

If enabled, opens the Server -> Favorites and Server -> Server history menus and Quickconnect connections in a new server window/tab by default, otherwise opens in the current server window. (SHIFT key can be used to override)

Allow closing windows with middle mouse click/shift click¶

If enabled, middle mouse clicking or pressing SHIFT while left clicking a window in the Treebar/Switchbar.

Hide the selected window activated twice¶

If enabled, clicking the selected window in the Treebar/Switchbar will hide it and activate the next window.

Form Border¶

Changes the main window border style, changing it to none will remove the entire border.

Undocked window Border¶

Changes the window border style for undocked windows (windows with "Show On Desktop" enabled), changing it to none will remove the entire border.

Topicbox¶

If set to "Show", will show a one line Topicbox in channel windows.
If set to "Show Sticky", will show Topicbox expanded to fix the topic in channel windows.
If set to off, Topicbox will be hidden.

Sort Switchbar/Treebar by¶

Sort windows in the Switchbar/Treebar alphabetically or as they appear.

Auto tile¶

If set to off, auto tiling will be disabled.
If set to Tile horizontal, AdiIRC will automatically tile windows horizontally.
If set to Tile vertical, AdiIRC will automatically tile windows vertically.
If set to Cascade, AdiIRC will automatically cascade windows.
If set to Arrange, AdiIRC will automatically arrange windows.

Channel Titles¶

Set the text to be shown in channel window titles.

Server Titles¶

Set the text to be shown in server window titles.

Private Titles¶

Set the text to be shown in private window titles.

Channel tooltip¶

Sets the text to be shown in Switchbar/Treebar tooltips for channel windows, if no text is specified, the window title is used.

Server tooltip¶

Sets the text to be shown in Switchbar/Treebar tooltips for server windows, if no text is specified, the window title is used.

Private tooltip¶

Sets the text to be shown in Switchbar/Treebar tooltips for private windows, if no text is specified, the window title is used.

Window Order¶

Give certain window types or window names higher priority in the Treebar/Switchbar (so they are displayed before other windows).

Typing a channel name will make that channel window come before other channel windows on that network.
Typing a nick name will make that private window come before other private windows on that network.
Typing a network name will make that server window come before other server windows.


Other Dialogs

  • Rawlog
  • Plugins
  • Themes
  • Serverlist
  • Channellist
  • Channel Editor
  • Quick Connect
  • Logs
  • Address book
  • Script Editor
  • Edit Scripts
  • Edit Aliases
  • Edit Menus
  • Edit Variables
  • Edit Users
  • Edit Slaps
  • Edit Now Playing
  • Edit Quits
  • Edit Now Playing


Rawlog Dialog

The Rawlog dialog is used to debug AdiIRC and/or monitor raw IRC messages from/to IRC servers.

Rawlog can be opened from Menubar -> File -> Rawlog or by typing /rawlog.

The rawlog will automatically re-open if it was open the last time AdiIRC was closed.

By default only new debug/raw messages will be added, a buffer can be kept in memory by typing /setoption Misc RawlogBuffer N .. where N is the number of lines to keep. (setting N to 0 disables the buffer)

See also /rawlog, /debug, Scripts Debugger.

Debug tab¶

The debug tab in the right listbox shows AdiIRC debug data.

Server tabs¶

Each open server will have it's own tab in the listbox, it will list all incoming/outgoing raw IRC messages from/to the IRC server.

It can be useful for finding out if raw messages are being sent/received properly.

Outgoing messages are marked with the -> prefix, and incoming messages are marked with the <- prefix.

Save Rawlog¶

The data from a tab can be saved to a file by clicking the Save button.

Clear Rawlog¶

To clear the data from a tab click the Clear button.

Search Rawlog¶

The Rawlog can be searched by clicking the Search button or by pressing CTRL + F.

Attach/Detach Rawlog¶

Rawlog can be attached to become a regular MDI window or detached to become a desktop window by pressing CTRL + D.

Rawlog Treebar priority¶

To make Rawlog the first visible window in the Treebar/Switchbar, add Rawlog at the top of Options -> Windows Options -> Window Order.

Timestamps¶

Timestamps can be added using /rawlog with the -t parameter.

Listbox width¶

The Listbos can be resized by dragging the border between the Listbox and the text area, the width is saved.


Plugins Dialog

Shows a list of installed plugins located in the $adiircdir\Plugins folder.

See also /plugins.

Pressing F5 will refresh the plugin folder/list.

Install plugin¶

Click the Install new button, select the plugin dll, press OK.

Load plugin¶

To load a unloaded plugin, select it in the plugins list, then press the Load button or double-click with the mouse.

Unload plugin¶

To unload a loaded plugin, select it in the plugins list, then press the Unload button. (A restart of AdiIRC is required)

Get plugins¶

You can find plugins in the forum.


Serverlist Dialog

Serverlist¶

The Serverlist allows you to add your networks/servers, add your user information, network options, login options, setup channels to join and run commands when it connects.

It can be opened by pressing the CTRL + S hotkey, by typing /serverlist or by opening Server -> Serverlist in the Menubar.

See also /server, /serverlist.

Search/Filter Networks¶

In the left corner you can type the name of the network to quickly filter it into view.

Move networks up/down¶

Networks can be moved around by left-clicking, then mouse drag/drop the network onto another network.

Favorites¶

You can add a networks to the favorites by right-click it and chose "Add to Favorites", you can also enable "Show only Favorites" to hide all networks not in your favorites list.

Favorites networks can also be accessed from the Server -> Favorites menu in the Menubar.

Save serverlist¶

Serverlist can be saved by pressing the "Save" button or by pressing the CTRL + S hotkey.

AdiIRC will also warn you when closing the Serverlist window if there are any unsaved changes.

Add new network¶

When clicked, a dialog will popup that asks for the name of the network you want to add, you can also selected a template for some well known networks, which will add the correct hostname and port.

Show serverlist on startup¶

If enabled, the Serverlist will be shown when AdiIRC starts.

Options¶

  • General
  • Servers
  • Channels
  • Commands
  • SSL
  • Proxy
  • Misc


Find Text Dialog

Allows search all open windows for matched text.

Double-clicking a match result, pressing Enter or clicking the View button will focus the window and highlight the matched line.

Pressing F5 will run the search again.

See also /findtext, /search.

Exact Match¶

If checked, searches for case-sensitive match.

Regex¶

If checked, searches using a regular expression pattern.

Search Server Windows.¶

If checked, searches all open server windows.

Search Channel Windows.¶

If checked, searches all open channel windows.

Search Private Windows.¶

If checked, searches all open private windows.

Search Custom Windows.¶

If checked, searches all open @custom windows.


Monitor Panels

Monitor panels are a set of panels which allows you to monitor various information for all or some windows/events.

Panels can be enabled/disabled from the View menu or from the /dockpanels command.

By default they are docked inside AdiIRC to the left,right,top or bottom and can be grouped together as tabs or split side-by-side or top-to-bottom.

Panels can also be stacked on top/bottom of each other or to the right/left of each other.

The position,size and dock status of all panels are saved and restored.

There are various options for the monitor panels in Options -> Monitor Panels.

Add/Remove a Monitor Panel¶

To add a monitor to your current layout, click the name of the monitor panel you want to add in Menubar -> View.

To remove a monitor panel you can right-click -> Remove in the monitor itself, in the tab or in the control header.

See also /dockpanels.

Show/Hide Monitor Panels¶

Clicking the Menubar -> View -> Monitor Panels menu or pressing the hotkey F2 will show or hide all monitor panels except the ones that are pinned or are detached as windows.

Moving a monitor panel¶

To move a panel, either grab the tab or the control header and drag it to where you want it to be, if you drag it on top of another panel, it will become a tab, if you drag it to the left,right,top or bottom, it will split the current panel into two and show them side by side or top/bottom.

If you drag it to the middle of the AdiIRC main window, it will become a detached window.

"Lock Bars" must be disabled to move a panel, to disable, right-click in Menubar/Toolbar/Switchbar/Statusbar/Treebar.

Detach a monitor panel into a window¶

Monitor panels can also be detached from AdiIRC as a separate window, by right-click menu "Undock" or by dragging it to the middle of the AdiIRC main window.

When detached, the window can then be attached to AdiIRC as a regular window by pressing CTRL + D.

Attach a monitor window into a panel¶

Grab the Titlebar of the window, and drag it to where you want it to be, if you drag it on top of another panel, it will become a tab, if you drag it to the left,right,top or bottom, it will split the current panel into two and show them side by side or top/bottom.

You can also right-click the window and chose the Dock menu, this will dock the monitor panel to the first other container panel it finds, or create a new container panel.

"Lock Bars" must be disabled to move a panel, to disable, right-click in Menubar/Toolbar/Switchbar/Statusbar/Treebar.

Pinning¶

If the pin icon is clicked, the monitor will be pinned and will be excluded when you press F2 to view/hide the monitors.

Click the pin icon again to unpin.

Treebar¶

Shows the Treebar.

Server messages¶

Monitors server/status messages for all servers.

Channel messages¶

Monitors channel messages for all channels on all servers.

Private messages¶

Monitors private messages for all private chats on all servers.

Notices¶

Monitors notice messages on all servers.

Highlights¶

Monitors highlighted messages on all servers.

Notify¶

Shows the Notify list.

URL catcher¶

Monitors URL's/links found in any message on all servers.

DCC Transfers¶

Shows the DCC transfers list.

Nicklist¶

Shows a global Nicklist which always shows the Nicklist for the current active channel window.


Scripting

AdiIRC has a powerful scripting language which can be used to extend/change the clients behavior.

It's modeled after the popular mIRC scripting language, make sure you read the compatibility section.

Choose a category to read more:

  • Events
  • Operators
  • Identifiers
  • Commands
  • Menus
  • DLL Support
  • COM Support
  • Regular Expressions
  • Variables
  • Binary Variables
  • Hash Tables
  • Scripts
  • Token Manipulation
  • INI Files
  • Files/Folders
  • Custom Windows
  • Picture Windows
  • Dialogs
  • Sockets
  • System Information
  • Now Playing

Example scripts¶

Simple kickcounter script:

alias kick {
    if (!%kickcount) %kickcount = 0

    inc %kickcount

    if (!$3) {
        kick # $$2 Kick number %kickcount
        halt
    }
}

Kickban example

alias kb {
  if (!$1) {
    echo /kb - Nick missing
    return
  }

  var %msg = $iif(#, $2-, $3-)
  var %chan = $iif(#, #, $2)

  ; Set this for default ban reason, or remove for no default reason
  ; Can be shortened to %msg = $iif(%msg, %msg, GTFO)
  if (!%msg) %msg = GTFO

  if ($me isop %chan) {
    MODE %chan +b $wildsite
    KICK %chan $1 %msg
  }
  else echo You are not oper on %chan
}

Simple calculator script:

alias calc {
  if (!$1) {
    echo /calc - Parameters missing
    return
  }

  ; typing /calc -p <expression> sends output to channel
  if ($1 == -p) {
    msg # Calculating : $2-
    msg # Result is : $calc($2-)
  }
  else {
    echo Calculating : $1-
    echo Result is : $calc($1-)
  }
}

Colored version

alias calc {
  if (!$1) {
    echo /calc - Parameters missing
    return
  }

  # typing /calc -p <expression> sends output to channel
  if ($1 == -p) {
    msg # $chr(3)4Calculating : $2-
    msg # $chr(3)4Result is : $calc($2-)
  }
  else {
    echo $chr(3)4Calculating : 4$1-
    echo $chr(3)4Result is : $calc($1-)
  }
}

CTCP flood detection example

CTCP *:*:*:{
  if (!%count) set -u10 %count 1
  else inc -u10 %count 1

  if (%count > 4) ignore -tu30 $wildsite
}

Mass mode example

alias mass {
  if (!$2) {
    echo /mass - Parameters missing [+/-<mode> <nick> <nick> <nick>]
    return
  }

  %len = 2

  ; equal to while (%len <= $count(%1-, $chr(32)))
  while (%len <= $0) {
    if ($(%len) ison #) mode # $1 $($ $+ %len)
    inc %len
  }
}

Shows info about servers, channels and users

on *:JOIN:#: {
  var %s = $scon(0), %c = 0, %u = 0, %t = 0, %c2 = 0;

  while (%t < %s) {
    inc %t
    scon $scon(%t);
    inc %c $chan(0)

    %c2 = 0
    while (%c2 < $chan(0)) {
      inc %c2
      inc %u $nick($chan(%c2), 0)
    }
  }

  /echo You are on ( $+ %s $+ ) servers, ( $+ %c $+ ) channels with ( $+ %u $+ ) users
}

It is possible to use scripts as functions.
These functions are fully nested like the client functions.

Lets say you make a /mycalc like this.

alias mycalc {
  return $calc($$1 + $$2);
}

Then you can call this function with eiter /mycalc <number> <number> the normal way or $mycalc(<number, <number>)
Typing /testcalc will show the result.

alias testcalc {
  echo -a $1 + $2 is $mycalc($1, $2);
  echo -a 5 + 4 is $mycalc(5, 4);
}

Simple convert temperature C to F or F to C
/temp C 20 will print 68 F

alias temp {
  if ($1 == C) echo $calc(($2 * 9/5) + 32) F
  else if ($1 == F) echo $round($calc(($2 - 32) * 5/9), 1) C
  else echo Temp missing
}

Announce song changes in a channel or to a user

On *:SONG:{
  nmsg <network> <channel/Nick> $1-
}

Announce to several channels with:

On *:SONG:{
  nmsg <network> <channel1/Nick>,<channel2/Nick> $1-
  nmsg <network2> <channel3/Nick> $1-
}

Automatically find the summary of a imdb url

On *:TEXT:*:#k: {
  var %reg = $regex($1-, http://www\.imdb\.com(/title/[a-z0-9]+/))
  if (!%reg) { return }
  sockclose imdb
  unset %data
  %imdb = $regml(1) $+ plotsummary
  %imdbchan = #
  sockopen imdb www.imdb.com 80
}

on *:sockopen:imdb: {
  sockwrite -n imdb GET %imdb HTTP/1.1
  sockwrite -n imdb Host: www.imdb.com
  sockwrite -n imdb User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.24 Safari/536.5
  sockwrite -n imdb Referer: http://www.imdb.com
  sockwrite -n imdb Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1
  sockwrite -n imdb Accept-Language: en-us, en;q=0.50
  sockwrite -n imdb Connection: Close $+ $crlf $+ $crlf
}

on *:sockread:imdb:{
  sockread %text
  %data = %data $+ %text
}

on *:sockclose:imdb: {
  if ($regex(%data, <p class="plotSummary">([\s\S]*?)</p>)) {
    msg %imdbchan $regml(1)
  }

  unset %data
}

mIRC scripting compatibility¶

Although mostly compatible, AdiIRC scripting is not fully compatible, there are missing features, various bugs and differences.

As such, asking for AdIRC scripting help should not be done in mIRC specific channels or forums, unless it's a script developed for mIRC and the question is related to mIRC only.

You can ask for AdiIRC scripting help on the Scripting forum or in the #adiirc channel on chat.freenode.net.

Submitting scripting bug reports¶

First verify the script works correctly in mIRC unless it uses AdIRC specific features, then narrow down the bug to the smallest possible lines of code before submitting.

Include as much information about the problem as possible, such as observed behavior and what the expected behavior should be.

More information¶

You can find many AdiIRC scripts in the Scripting forum or mIRC scripts in places such as http://hawkee.com.

Not everyone will work, if you find one that dosen't, see above on how to report a bug.

For more on mIRC scripting and how it works, check out http://en.wikichip.org/wiki/Introduction_-_mIRC and http://www.mirc.org/mishbox/index.htm

Known issues¶

Some $regex/$regsub/$regsubex regular expression features are missing since AdiIRC uses the .NET regular expression engine.
$calc parentheses are not always parsed correctly, adding spaces around them helps.
[] brackets doesn't work inside identifiers and /if expressions without surrounding the brackets with spaces.
DLL's designed to inject them self into mIRC's memory doesn't work (And never will).
Various parsing issues/differences in $calc.


Scripting Events

Scripting Event Options¶

Supported <level> prefixes:

& - Ignore the event if another event has already halted the text.
^ - Enable halt events. (hide default text output from the event)
! - Ignore events made by you.
@ - Only trigger if you have channel op.
$ - Indicate the wildcard text is a regular expression.
me: - Ignore events not made by you.
[+]<level> - Level to match.

Scripting Events¶

Various actions in AdiIRC causes an event to be triggered, these events can be listened to and commands can be performed when they trigger.

Events in bold are AdiIRC only.

on RAW
on CTCP
on ADMIN
on ACTION
on ACTIVE
on BAN
on CHAT
on CLIENTTEXT
on CLOSE
on CONNECT
on CONNECTFAIL
on CTCPREPLY
on DEADMIN
on DEHELP
on DEOP
on DEOWNER
on DEVOICE
 on DIALOG
on DISCONNECT
on DOWNLOAD
on DNS
on ERROR
on EXIT
on FILERCVD
on FILESENT
on GETFAIL
on HELP
on HOTLINK
on INPUT
on INVITE
on JOIN
on KEYDOWN
on KEYUP
on KICK
 on LOAD
on LOGON
on MIDIEND
on MODE
on MP3END
on MSCROLL
on NICK
on NOTICE
on NOTIFY
on OP
on OPEN
on OPTIONS
on OWNER
on PARSELINE
on PART
on PING
on PONG
 on QUIT
on RAWMODE
on RESUME
on SENDFAIL
on SERVERMODE
on SERVEROP
on SIGNAL
on SNOTICE
on SOCKCLOSE
on SOCKLISTEN
on SOCKOPEN
on SOCKREAD
on SOCKWRITE
on SONG
on SONGEND
on START
on SUSPEND
 on TABCOMP
on TEXT
on TOPIC
on UDPREAD
on UNBAN
on UNLOAD
on UNOTIFY
on UNZIP
on USERMODE
on VOICE
on WALLOPS
on WAVEEND
on ZIP

See also $event, $eventtarget, $matchkey, $halted, $stripped, $ulevel, $clevel.

Missing events¶

AGENT
CHATOPEN
DCCSERVER
NOSOUND
VCMD
PLAYEND
SERV
SERVCLOSE
SERVOPEN


Scripting Operators

AdiIRC supports various operators for use in /if /elseif /while and $iif expressions.

/var, /set, $calc supports it's own set of arithmetic expression.

All operators supports the "!" sign to reverse the operation.

Operators in bold is AdiIRC only.

Example

; check if 5 is lower than 4.
if (5 < 4) echo true
else echo false

; Reverse check if 5 is lower than 4 same, as 5 > 4.
if (5 !< 4) echo true
else echo false

Math Comparison Operators¶

Syntax | Name | Result
%x == %y %x = %y %x != %y %x !== %y %x < %y %x > %y %x <= %y %x >= %y %x // %y %x \\ %y %x & %y | Equal Equal Not equal Not equal Less than Greater than Less than or equal to Greater than or equal to Multiple Of (Divides) Not Multiple Of (Not Divides) Bitwise And | True, if %x is equal to %y. True, if %x is equal to %y. True, if %x is not equal to %y. True, if %x is not equal to %y. True, if %x is strictly less than %y. True, if %x is strictly greater than %y. True, if %x is less than or equal to %y. True, if %x is greater than or equal to %y. True, if %x divides %y. True, if %x does not divides %y. True, if (bit representation of) %x AND %y is a none zero.

String Comparison Operators¶

Syntax | Name | Result
%x isin %y %x isincs %y %x iswm %y %x iswmcs %y %x isnum %x isnum N %x isnum N- %x isnum N-M %x isletter %x isletter N %x isalnum %x isalpha %x islower %x isupper | Is In Is In (case sensitive) Wildcard Matching Wildcard Matching (case sensitive) Is Digit Is Digit, Equal to Is Digit, Greater than or equal to Is Digit, in Range Is a Letter Is a Letter In A List Alphanumeric Characters Alphabetic Characters All lower case letters All upper case letters | True, if %x is fully found inside %y. True, if %x is fully found inside (case sensitive) %y. True, if wildcard string %x matches %y. True, if wildcard string %x matches (case sensitive) %y. True, if %x is a number. True, if %x is number N. True, if %x is number N or greater. True, if %x is a number between N and M (inclusively). True, if %x is a letter. True, if %x is a letter in a list of letters. True, if %x contains only alphabetic or numeric characters. True, if %x contains only alphabetic characters. True, if %x contains only lower case letters. True, if %x contains only upper case letters.

Lexicographical String Comparison Operators¶

Syntax | Name | Result
a == b a === b str1 == str2 str1 === str2 a < b a > b str1 < str2 str1 > str2 | Case insensitive character comparison Case sensitive character comparison Case insensitive String comparison Case sensitive String comparison Lexicographically Less Than Lexicographically Greater Than Lexicographically Less Than Lexicographically Greater Than | True, if character a is equal to character b, case insensitive. True, if character a is equal to character b, case sensitive. True, if str1 equals str2 in a case insensitive manner. True, if str1 equals str2 in a case sensitive manner. True, if the $asc(a) comes before $asc(b) True, if the $asc(a) comes after $asc(b) True, if str1 comes before str2 True, if str1 comes after str2

Channel-related Operators¶

Syntax | Name | Result
%x ison %y %x isop %y %x ishop %y %x ishelp %y %x isadmin %y %x isowner %y %x isvoice %y %x isreg %y %x ischan %x isban %y %x isinvite %y %x isexcept %y %x isquiet %y | Is On Is an Operator Is a Halfop Is a Halfop is a Protected Operator Is a Channel Owner Is a Voice Is a Regular Is a Channel Is a Ban Ia a Invite Is a Except Is a Quiet | True, if nick %x is on channel %y. True, if nick %x is an operators on channel %y. True, if nick %x is a halfop on channel %y. True, if nick %x is a halfop on channel %y. True, if nick %x is a protected/admin operator on channel %y. True, if nick %x is a channel owner on channel %y. True, if nick %x is a voice on channel %y. True, if nick %x is a regular user on channel %y. True, if channel %x is a channel you are on. True, if ban address %x is a ban on channel %y. (taken from IBL) True, if invite address %x is a invite on channel %y. (taken from IIL) True, if except address %x is a except on channel %y. (taken from IEL) True, if quiet address %x is a quiet on channel %y. (taken from IQL)

List-related Operators¶

Syntax | Name | Result
%x isaop %x isaop %y %x isavoice %x isavoice %y %x isprotect %x isprotect %y %x isignore %x isignore %y %x isnotify | In Auto Op List In Auto Op List In Auto Voice List In Auto Voice List In Auto Protect List In Auto Protect List In Ignore List In Ignore List For Type In Notify List | TODO (always returns False) TODO (always returns False) TODO (always returns False) TODO (always returns False) TODO (always returns False) TODO (always returns False) True, if host %x is in the Ignore list. True, if host %x is in the Ignore list for type %y. True, if nick %x is in the Notify list.

Other Operators¶

Syntax | Name | Result
%x isurl | Is a url | True, if %x is a url.


Scripting Identifiers

Click on a identifier to read more about it.

Identifiers in bold is AdiIRC only.

$
$!
$$
$*
$&
$+
$0
$1-
$?
$~
$abook
$abs
$acos
$active
$activecid
$activewid
$adate
$address
$addtok
$addtokcs
$admnick
$adiircdir
$adiircexe
$adiircini
$adilang
$album
$alias
$and
$anick
$appactive
$appbits
$appstate
$artist
$asc
$asctime
$asin
$atan
$atan2
$audio
$away
$awaymsg
$awaytime
$banlist
$banmask
$battery
$batteryp
$base
$beta
$bfind
$bindip
$bitoff
$biton
$bitrate
$bits
$bname
 $bnick
$boldify
$builddate
$bvar
$bwdown
$bwdownb
$bwname
$bwrec
$bwrecb
$bwsent
$bwsentb
$bwspeed
$bwup
$bwupb
$bytes
$calc
$calias
$cancel
$cb
$ceil
$chan
$channel
$chanmodes
$chantypes
$chat
$chr
$cid
$clevel
$click
$cmdline
$cnick
$color
$colour
$com
$comcall
$comerr
$comchan
$comchar
$comment
$compact
$compress
$comval
$cos
$cosh
$count
$countcs
$cpucache
$cpucount
$cpuident
$cpuload
$cpumhz
$cpuname
$cpuvendor
$cr
$crc
 $crlf
$ctime
$ctimer
$ctrlenter
$date
$day
$daylight
$dbuw
$dbuh
$dccignore
$dccport
$dde
$ddename
$debug
$decode
$decompress
$decrypt
$deltok
$devent
$dialog
$did
$didreg
$didtok
$didwm
$disk
$diskfree
$diskmenu
$disktotal
$dlevel
$dll
$dllcall
$dname
$dns
$dock
$dockpanels
$dotnet
$download
$downloaderr
$duration
$ebeeps
$editbox
$editboxhistory
$email
$emailaddr
$emoticons
$encode
$encodingmenu
$encrypt
$envvar
$error
$event
$eventid
$eventtarget
$eval
$evalnext
 $exists
$exiting
$false
$feof
$ferr
$fgetc
$file
$filename
$filtered
$finddir
$finddirn
$findfile
$findfilen
$findtok
$findtokcs
$fline
$floor
$font
$fopen
$fread
$frequency
$fulladdress
$fulldate
$fullname
$fullscreen
$fulltitle
$genre
$get
$getdir
$getdot
$gettok
$gfx
$gfxram
$gmt
$group
$halted
$hash
$height
$hfind
$hget
$highlight
$hmac
$hmatch
$hnick
$host
$hotline
$hotlinepos
$hotlink
$hypot
$iaddress
$ial
$ialchan
$ialmark
$ibl
$ident
 $idle
$iel
$ifmatch
$ifmatch2
$ignore
$iif
$iil
$imagechar
$inellipse
$ini
$inick
$initopic
$inmidi
$inmp3
$inpaste
$inpoly
$input
$inrect
$inroundrect
$insert
$insong
$instok
$int
$invitemenu
$inwave
$ip
$iptype
$isadmin
$isalias
$isbit
$isdde
$isdir
$isfile
$isid
$islower
$istok
$istokcs
$isupper
$isutf
$iql
$keychar
$keylocked
$keyrpt
$keyval
$knick
$lactive
$lactivecid
$lactivewid
$lag
$lquitmsg
$layer
$left
$leftwin
$leftwincid
$leftwinwid
 $len
$length
$level
$lf
$line
$lineheight
$lines
$locked
$lof
$log
$log10
$logdir
$logstamp
$logstampfmt
$longfn
$longip
$loop
$lower
$ltimer
$maddress
$mask
$matchkey
$matchtok
$matchtokcs
$md5
$me
$memfree
$memfreep
$memtotal
$menu
$menubar
$menuicon
$menucontext
$menutype
$mid
$mircdir
$mircexe
$mircini
$mkfn
$mklogfn
$mknickfn
$mnick
$mode
$modefirst
$modelast
$modespl
$motherboard
$mouse
$mp3
$msfile
$msgtags
$msgstamp
$msgx
$muted
$mversion
 $naddress
$nadmnick
$network
$newnick
$nhnick
$nick
$nickcolumn
$nickmode
$no
$nofile
$nonick
$nopath
$nopnick
$noqt
$notify
$not
$null
$numeric
$numtok
$nvnick
$ocolor
$ok
$onick
$online
$onlineserver
$onlinetotal
$onpoly
$opnick
$or
$ord
$os
$osbits
$osbuild
$osedition
$osidle
$osinstalldate
$osmajor
$osminor
$osname
$osservicepack
$osversion
$parseline
$parsetype
$parseutf
$percentl
$percentp
$pi
$pic
$playcount
$player
$port
$portable
$portfree
$pos
$poscs
 $position
$prefix
$prefixctcp
$prefixemote
$prefixsys
$prefixuser
$progress
$prop
$puttok
$qt
$query
$quitmessage
$quickconnect
$r
$raddress
$rand
$randomcolors
$rating
$rawbytes
$rawmsg
$rawmsgx
$read
$readn
$readini
$realname
$regbr
$regex
$regml
$regmlex
$regsub
$regsubex
$remote
$remove
$removecs
$remtok
$remtokcs
$replace
$replacecs
$replacex
$replacexcs
$reptok
$reptokcs
$result
$rgb
$right
$round
$samepath
$scid
$scon
$screen
$screenb
$screenh
$screenhz
$screenshot
$screenw
 $script
$scriptdir
$scripts
$scriptline
$sdir
$send
$server
$servertarget
$serverip
$sfile
$sha1
$sha2
$sha256
$sha384
$sha512
$shortfn
$show
$signal
$sin
$sinh
$site
$size
$slapsmenu
$sline
$snick
$snicks
$snotify
$sock
$sockbr
$sockerr
$sockname
$song
$songfile
$sorttok
$sorttokcs
$spellcheck
$sqrt
$ssl
$sslcertsha1
$sslcertsha256
$sslready
$starting
$status
$statusbar
$str
$strip
$stripped
$style
$submenu
$switchbar
$sysdir
$tan
$tanh
$target
$ticks
 $time
$timeout
$timer
$timestamp
$timestampfmt
$timezone
$tip
$tips
$title
$titlebar
$token
$toolbar
$topic
$topicbox
$totaltracks
$track
$treebar
$true
$trust
$ulevel
$ulist
$unsafe
$updays
$updating
$uphours
$upmins
$upper
$uptime
$url
$usermode
$username
$utfdecode
$utfencode
$v1
$v2
$var
$version
$vnick
$vol
$volume
$volumeb
$volumep
$wid
$width
$wildsite
$wildtok
$wildtokcs
$window
$windowtitle
$wmiquery
$xor
$year
$yes
$zip
$ziperr

Missing Identifiers¶

$agent
$agentname
$agentstat
$agentver
$ansi2mirc
$aop
$auto
$avoice
$cd
$cmdbox
$creq
$dir
$dqwindow
$find
$fserv
$hfile
$hotp
$hregex
$id
$inmode
$intersect
$inwho
$link
$lock
$mididir
$mp3dir
$notags
$passivedcc
$play
$pnick
$protect
$rnick
$sound
$speak
$sreq
$ssldll
$ssllibdll
$sslversion
$tempfn
$totp
$vcmd
$vcmdstat
$vcmdver
$wavedir
$wrap


Scripting Commands

Parameters in [x] means they are optional.
Parameters in <x> means they are required.
Parameters with a x|y means either x or y can be used.

Click on a command to read more about it.

Commands in bold is AdiIRC only.

/abook
/aclear
/action
/advertise
/ajinvite
/alias
/aline
/amark
/ame
/amsg
/allnick
/anick
/auser
/autoconnect
/autojoin
/aquit
/away
/back
/background
/ban
/banlist
/bcopy
/beep
/betaup
/bin2txt
/bindip
/bread
/break
/breplace
/bset
/btrunc
/bunset
/bw
/bwrite
/channel
/channels
/charset
/clear
/clearall
/cline
/clipboard
/close
/cnick
/color
/colour
 /comclose
/comlist
/comopen
/comreg
/config
/continue
/copy
/ctcp
/ctcps
/ctcpreply
/cycleall
/dcc
/dde
/ddeserver
/debug
/dec
/dehalfop
/deop
/describe
/desop
/devoice
/dialog
/did
/didtok
/disable
/disconnect
/dlevel
/dline
/dll
/dns
/dock
/dockpanels
/download
/drawcopy
/drawdot
/drawfill
/drawline
/drawpic
/drawrect
/drawreplace
/drawrot
/drawsave
/drawscroll
/drawtext
/ebeeps
 /echo
/echomonitor
/echox
/edit
/editbox
/else
/elseif
/emailaddr
/enable
/encoding
/events
/exit
/fakeraw
/fclose
/fget
/filter
/findtext
/firewall
/flash
/flist
/flushini
/font
/fopen
/fseek
/fsend
/fullname
/fullscreen
/fwrite
/gcmem
/google
/goto
/groups
/guser
/hadd
/halfop
/halt
/haltdef
/hdec
/hdel
/help
/hfree
/highlight
/hinc
/hload
/hmake
 /hop
/hotlink
/hsave
/ialmark
/identd
/icon
/if
/ignore
/iline
/inc
/inick
/invite
/iuser
/join
/kick
/kill
/lag
/leave
/linemarker
/linesep
/list
/load
/loadbuf
/lock
/log
/logs
/logview
/markall
/mdi
/me
/menubar
/mkdir
/mnick
/mode
/msg
/msgbox
/mute
/nextunread
/nick
/nickcolumn
/nicklist
/nmsg
/noop
/notice
/notify
 /np
/oline
/omsg
/onotice
/op
/options
/parseline
/part
/partall
/paths
/perform
/pgoogle
/plugins
/priv
/proxy
/query
/queryrn
/quickconnect
/quicksave
/quit
/quote
/raw
/rawx
/rawlog
/realname
/reconnect
/rejoin
/reload
/remini
/remote
/remove
/rename
/renwin
/reseterror
/resetidle
/resolve
/restart
/return
/returnex
/rlevel
/rline
/rmdir
/run
/ruser
/say
 /savebuf
/saveini
/scid
/scon
/scripts
/scrolltext
/search
/server
/serverlist
/set
/setconfig
/setlayer
/setoption
/showadiirc
/showmenu
/showmirc
/signal
/slap
/sleep
/sline
/sockaccept
/sockclose
/socklist
/socklisten
/sockmark
/sockopen
/sockpause
/sockread
/sockrename
/sockudp
/sockwrite
/sop
/splay
/statusbar
/switchbar
/tab
/themes
/time
/timestamp
/timer
/tip
/tips
/titlebar
/tokenize
/toolbar
 /topic
/topicbox
/treebar
/ulist
/usernick
/txt2bin
/unban
/unignore
/unload
/unnotify
/unset
/unsetall
/update
/updatenl
/url
/uwho
/var
/vars
/viewlog
/voice
/vol
/wdown
/while
/window
/wjump
/wnext
/wpause
/wplay
/wprev
/write
/writeini
/wsearch
/wseekf
/wseekr
/wselect
/wstop
/wup
/zip

System information Commands¶

Output from these are set in Options -> Sysinfo and are merely convenient aliases.

/sysinfo
/gfxinfo
/cpuinfo
/meminfo
/diskinfo
/audioinfo
/uptime
/bw

Missing Commands¶

/aop
/avoice
/creq
/dccserver
/dqwindow
/flood
/flush
/fserve
/ghide
/gload
/gopts
/gplay
/gpoint
/gqreq
/gshow
/gsize
/gstop
/gtalk
/gunload
/ial
/ialclear
/links
/localinfo
/pdcc
/play
/playctrl
/pop
/protect
/pvoice
/qme
/qmsg
/save
/sound
/speak
/sreq
/strip
/tnick
/tray
/vcadd
/vcmd
/vcrem
/winhelp

Command prefixes¶

/! prefix will execute the internal command, even if there is a alias with the same name.

Example:

; Override the /me command,
alias me {
  ; use the /! prefix to call the internal command.
  /!me $1-
}

/. prefix can be used to silence the output from many command.

Example:

/.msg #channel This message will be hidden from your client, but still sent to the server.

Both prefix's can be used at the same time.

Example:

/!.msg #channel This message will be hidden from your client, but still sent to the server.

Evaluate identifiers from Editbox¶

Typing a command in the Editbox with double slashes// will evaluate $identifiers in the line before running it.
E.g //echo -ag My nick is $me

You can also tabcomplete $identifiers manually using $me<tab>.

Creating a new command¶

You can create a new command by opening the menu Tools -> Edit Aliases.

The format for the command is <command> <script to execute>.

Example

; Creates a new command '/p' which will evaluate and then execute the script '/part $chan'.
/p /part $chan

You can also add a command from the script editor, the syntax there is alias <command> <script to execute>

Example

; Creates a new command '/p' which will evaluate and then execute the script '/part $chan'.
; Same as previous example.
alias p /part $chan

If you want to use scripts with multiple lines, you can enclose them with {} brackets in both Edit Aliases and Script Editor.

Example

; Edit Aliases
/p {
  /echo -ag I am parting $chan
  /part $chan
}

; Script editor
alias p {
  /echo -ag I am parting $chan
  /part $chan
}

Almost all built-in commands can be overridden to execute your own script.

Example

; Create your own /part command
alias part {
  /echo -ag I am parting $chan
  raw PART $chan
}

; Create your own /part command, but execute the built-in /part command after executing your own script.
alias part {
  /echo -ag I am parting $chan

  ; Execute the built-in part command
  !part $chan
}

A command can also be called as a $identifier.

Example

; Create a command.
alias mycommand {
  echo -ag I was called as a $iif($isid,identifier,command)
}

; Call the command as identifier.
//noop $mycommand

; Call the command as a command.
/mycommand


Scripting Menus

You can edit most AdiIRC menus in the Menu Editor located at Tools -> Edit Menus.

Status - Edit the status menus.
Channel - Edit the channel menus.
Query - Edit the query menus.
Nicklist - Edit the nicklist menus.
Menubar - Edit the menubar menus.

A menu syntax consists of <Menu text><colon><Menu command>.

For this reason, only one colon is allowed in a menu, neither the text nor the command can contain any other colons for the menu to work properly.

Example

; Add a new menu item with the text "Query", when clicked, execute "/query $1" where $1 means the first word given to this menu, usually a nick.
Query:/query $1

Menu commands can also contain multiple lines, if so they must be enclosed with brackets.

Example

; Add a new menu item with the text "Query", when clicked, execute both "/query $1" and "/whois $1".
Query:{
  /query $1
  /whois $1
}

Menu prefix¶

The "menu" prefix can also be used in a custom script to add more items to a menu, the syntax is the same.

Example

;Add a new menu item with the text "Whois", when clicked execute "/whois $1".
menu nicklist {
  Whois:/whois $1
}

Target multiple menus¶

Multiple menus can be targeted with the same menu item by separating them with comma.

Example

;Add a new menu item for nicklist and channels with the text "Hello World", when clicked execute "/echo -ag Hello World".
menu nicklist,channel {
  Hello World:/echo -ag Hello World
}

Wildcards can also be used.

Example

; Add a new menu item for all menus with the text "Hello World", when clicked execute "/echo -ag Hello World".
menu * {
  Hello World:/echo -ag Hello World
}

; Add a new menu item for all custom window menus with the text "Hello World", when clicked execute "/echo -ag Hello World".
menu @* {
  Hello World:/echo -ag Hello World
}

Menu hierarchy¶

The menu hierarchy is determined by punctuation marks.

This works in both the Menu Editor and in a custom script using the Menu prefix.

Example

menu nicklist {
  ;Create a upper menu item called "Tools", notice you don't need a colon for the upper menu.
  Tools

  ;Use a punctuation mark to put a sub menu item inside "Tools"
  .Whois:/whois $1

  ;Use a punctuation mark to put another sub menu item inside "Tools"
  .Who:/who $1

  ;Create another upper menu item called "Operate"
  Operate

  ;Use a punctuation mark to put a sub menu item inside "Operate"
  .Kill:kill $1

  ;Create a sub menu item called "Operate More" inside "Operate"
  .Operate More

  ;Use two punctuation marks to put a sub menu item inside "Operate More"
  ..Kill again:kill $1
}

Separator¶

Hyphen (-) can be used to add a menu separator.

Example

menu nicklist {
  ;Create a upper menu item called "Tools"
  Tools

  ;Add a separator
  -

  ;Create another upper menu item called "More Tools"
  More Tools
}

Merging menu items¶

It's possible to merge menu items with other menu items using the same text.

Example

; Both "Apple" and "Banana" will be shown in the "Fruit" menu.
menu * {
  Fruit
  .Banana
}

menu * {
  Fruit
  .Apple
}

$1- lines inside menus¶

$1- will be filled with different words depending on the menu type.

Status - The currently connected $network name.
Channel - The current $chan name.
Query - The $nick associated with the query window.
Nicklist - A list of selected nicks in the nicklist.
Menubar - Your nick ($me) on currently connected server.

Adding top menus¶

As of AdiIRC 1.9.7 new top menus can be inserted in the Menubar after the "Help" item using the /menubar command.

Regular scripted menus can be used by referencing the @popup name, e.g "menu @mymenu { }"

Mouse events¶

For custom windows there are some special menu items which is triggered on various mouse events.

These menus must be at the start of the menu block.

Syntax is the same as regular menus, but the menu name must be of the following:

Picture Windows

mouse - Triggers when the mouse moves.
sclick - Triggers when the left mouse button is pressed down.
mclick - Triggers when the middle mouse button is pressed down. (AdiIRC only)
dclick - Triggers when the left mouse button is pressed down twice.
dmclick - Triggers when the middle mouse button is pressed down twice. (AdiIRC only)
drclick - Triggers when the right mouse button is pressed down twice. (AdiIRC only)
uclick - Triggers when any mouse button is released.
rclick - Triggers when the right mouse button is pressed down.
leave - Triggers when the mouse leaves the window.
drop - Triggers when the window receives a drag/drop event.

Custom Windows text area

rclick - Triggers when the right mouse button is pressed down.
dclick - Triggers when the left mouse button is pressed down twice.
dmclick - Triggers when the middle mouse button is pressed down twice. (AdiIRC only)
drclick - Triggers when the right mouse button is pressed down twice. (AdiIRC only)

Custom Windows Nicklist

lbclick - Triggers when the left mouse button is pressed down in the listbox.
rclick - Triggers when the right mouse button is pressed down.
dclick - Triggers when the left mouse button is pressed down twice.
dmclick - Triggers when the middle mouse button is pressed down twice. (AdiIRC only)
drclick - Triggers when the right mouse button is pressed down twice. (AdiIRC only)

rclick and drclick only triggers when there is no right click menu or the right click menu has no items.

Example

; Create a custom window.
/window @test

; Add a mouse menu.
menu @test {
  slick:echo -ag Left mouse button was clicked.
  rlick:echo -ag Right mouse button was clicked.
  Menu:echo -ag Just a regular menu item.
}


Scripting DLL

DLL Support¶

The /dll, $dll and $dllcall features allow you to make calls to DLL's designed to work with AdiIRC. The main reason you would want to do this is that processing information in a DLL can be far faster than doing so in a script, so for intensive data processing a DLL would be more efficient.

If you want to create a DLL for use with AdiIRC you need to create a specific routine like this in your DLL file.

For technical reasons, the DLL must be compiled for 64 bit on 64 bit versions of AdiIRC.

int __stdcall procname(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)

"procname" is the name of the routine you will call from AdiIRC, you can create as many as you need and they can be named anything.

You may need to create a .def file with the "procname" names exported when compiling your DLL.

Parameters¶

mWnd - The handle to the main AdiIRC window.
aWnd - The handle of the window in which the command is being issued, this might not be the currently active window if the command is being called by a remote script.
data - The information that you wish to send to the DLL. On return, the DLL can fill this variable with the command it wants AdiIRC to perform if any.
parms - Can be filled by the DLL on return with parameters that it wants AdiIRC to use when performing the command that it returns in the data variable.
show - Is FALSE if the . prefix was specified to make the command quiet, or TRUE otherwise.
nopause - Is TRUE if AdiIRC is in a critical routine and the DLL must not do anything that pauses processing in AdiIRC, eg. the DLL should not pop up a dialog.

Returns¶

The routine can return an integer to indicate what it wants AdiIRC to do:

0 - Means that AdiIRC should /halt processing.
1 - Means that AdiIRC should continue processing.
2 - Means that it has filled the data variable with a command which it wants AdiIRC to perform, and has filled parms with the parameters to use, if any, when performing the command.
3 - Means that the DLL has filled the data variable with the result that $dll as an identifier should return.

Keeping a DLL Loaded after a call¶

By default a DLL is unloaded immediately after you make the /dll, $dll or $dllcall call. You can keep a DLL loaded by including a LoadDll() routine in your DLL, which AdiIRC calls the first time you load the DLL:

void __stdcall LoadDll(LOADINFO*);

typedef struct {
DWORD mVersion;
HWND mHwnd;
BOOL mKeep;
BOOL mUnicode;
} LOADINFO;

Struct parameters¶

mVersion - Contains the AdiIRC version number in the low and high words.
mHwnd - Contains the window handle to the main AdiIRC window.
mKeep - Set to TRUE by default, indicating that AdiIRC will keep the DLL loaded after the call. You can set mKeep to FALSE to make AdiiRC unload the DLL after the call.
mUnicode - Indicates that text is in unicode as opposed to ansi.

Unloading a DLL¶

You can unload a loaded DLL by using the -u switch:

/dll -u <filename>

AdiIRC will automatically unload a DLL if it is not used for ten minutes, or when AdiIRC exits.

You can also define an UnloadDll() routine in your DLL which AdiIRC will call when unloading a DLL to allow it to clean up.

int __stdcall UnloadDll(int mTimeout);

mTimeout can be:

0 - UnloadDll() is being called due to a DLL being unloaded with /dll -u
1 - UnloadDll() is being called due to a DLL not being used for ten minutes. The UnloadDll() routine can return 0 to keep the DLL loaded, or 1 to allow it to be unloaded.
2 - UnloadDll() is being called due to a DLL being unloaded when AdiIRC exits.


Scripting Com

Com Support¶

/comopen¶

Added in 1.9.4

/comopen name progid

Opens a COM connection to object progid and assigns the connection a name.

For 64 bit AdiIRC, MSScript com objects is not available unless you install http://www.eonet.ne.jp/%7Egakana/tablacus/scriptcontrol_en.html.

Parameters

name - Connection name.
progid - ProgId to open. (e.g Excel.Application)

/comclose¶

Added in 1.9.4

/comclose name

Closes the specified COM connection.

Parameters

name - Connection name.

/comlist¶

Added in 1.9.4

/comlist

Lists all open COM connection.

/comreg¶

Added in 1.9.4

/comreg -u filename

Registers/unregisters a COM DLL with windows.

Switches

-u - Unregister instead of register.

Parameters

filename - DLL filename to unregister/register.

$com¶

Added in 1.9.4

$com(name|N)

Returns name if connection is open, or name of Nth connection. N = 0 returns number of open connections.

Parameters

name|N - The connection name or the Nth connection.

Properties

.progid - The object name.
.result - The value returned by the COM object member after the call
.error - The error code if any.
.errortext - The error text if any.
.argerr - TODO
.dispatch - $true if this is a dispatch pointer.
.unknown - $true if this is a unknown pointer.

$com(name, &bvar)

Returns connection information for the connection and puts it into &bvar.

Parameters

name|- The connection name.
&bvar - The &bvar to write to.

Properties

.progid - The object name.
.result - The value returned by the COM object member after the call
.error - The error code if any.
.errortext - The error text if any.
.argerr - TODO
.dispatch - $true if this is a dispatch pointer.
.unknown - $true if this is a unknown pointer.

$com(name/N,varname)

Returns value of the specified variable name.

Parameters

name/N - The connection name or the Nth connection.
varname - Name of the referenced variable.

$com(name,member,method,type1,value1,...,typeN,valueN)

This calls a member of an open COM connection with the specified method and parameters.

Returns: 1 = ok, 0 = fail.

Parameters

name - Connection name.
member - Member name.
method - Combination of the following values added together:

             1 = DISPATCH_METHOD
             2 = DISPATCH_PROPERTYGET
             4 = DISPATCH_PROPERTYPUT
             8 = DISPATCH_PROPERTYPUTREF

type - The variable type, can be: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.
             VB equivalents are: boolean, byte, currency, date, double, integer, long, single, string, variant.
             To make a variable by reference, use * in the type name, eg. i1*
             To assign a name to a variable for later reference after a call, append it to the type, eg. i1* varname
             When using a variant you must also specify the variable type after it, eg. variant bool.

value - The value assigned to the variable type.

$comcall¶

Added in 1.9.4

$comcall(name,alias,member,method,type1,value1,...,typeN,valueN)

This calls a member of an open COM connection with the specified method and parameters.

Uses the same format as $com() apart from the alias. It is multi-threaded so it will not halt the script and will call the specified alias once the call returns.

Returns: 1 = ok, 0 = fail.

Parameters

name - Connection name.
alias - Alias to call when the call is finished.
member - Member name.
method - Combination of the following values added together:

             1 = DISPATCH_METHOD
             2 = DISPATCH_PROPERTYGET
             4 = DISPATCH_PROPERTYPUT
             8 = DISPATCH_PROPERTYPUTREF

type - The variable type, can be: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.
             VB equivalents are: boolean, byte, currency, date, double, integer, long, single, string, variant.
             To make a variable by reference, use * in the type name, eg. i1*
             To assign a name to a variable for later reference after a call, append it to the type, eg. i1* varname
             When using a variant you must also specify the variable type after it, eg. variant bool.

value - The value assigned to the variable type.

$comerr¶

Added in 1.9.4

$comerr

This should be checked after a call to any COM command or identifier. Returns 1 if there was an error, else 0.

$comval¶

{{include($comval}}


Scripting Regex

Regular Expressions¶

AdiIRC uses the .NET regular expression engine, while mIRC uses the PCRE engine, some differences are converted from PCRE to .NET while others are not possible.

Exploring ways to use PCRE in .NET is on TODO.

Read more about .NET regular expressions:

http://regexhero.net/reference/
https://msdn.microsoft.com/en-us/library/hs600312%28v=vs.110%29.aspx
https://msdn.microsoft.com/en-us/library/az24scfc%28v=vs.110%29.aspx
http://www.regular-expressions.info/dotnet.html

Modifiers¶

.NET does not use a /pattern/modifier syntax, but AdiIRC tries to interpret it and remove them from the pattern.

/g /G - Enables global match.
/i /I - Enables case in-sensitive.
/S - Strips any control codes before matching ($hfind will ignore this).
/s - Enables single line match.
/m /M /c /C - Enables multi line match.
/x /X - Eliminates unescaped white space from the pattern.
/U - Enables non greedy mode. (Tries to replace greedy patterns with non greedy patterns + > +?, * -> *?)
/u - Enables UTF8 instead of ASCII regular expression.

Differences between .NET and PCRE¶

AdiIRC translate some patterns from PCRE into .NET patterns.

(*UTF8)/(*UTF) -> Enables UTF8 instead of ASCII regular expression.
(?R) -> .*
(?2) -> .*
(?1) -> .*
++ -> +
[:alnum:] -> a-zA-Z0-9
[:alpha:] -> a-zA-Z
[:ascii:] -> \x00-\x7F
[:blank:] -> \s\t
[:cntrl:] -> \x00-\x1F\x7F
[:digit:] -> 0-9
[:graph:] -> \x21-\x7E
[:lower:] -> a-z
[:print:] -> \x20-\x7E
[:punct:] -> !"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~
[:space:] -> \s\t\r\n\v\f
[:upper:] -> A-Z
[:word:] - > A-Za-z0-9_
[:xdigit:] -> A-Fa-f0-9
\cc -> \x003
\co -> \x00F
\cb -> \x002
\x\{([A-Fa-f0-9]{1,4})\} -> \uXXXX
\Q \E tries to escapes all characters in between

\K is not available in .NET, use (<=abc)d instead.

These have no .NET counterpart:

code (?{…})
recursive (R), (R1), (R&name)
define (DEFINE).

List of differences between .NET and PCRE https://stackoverflow.com/questions/3417644/translate-perl-regular-expressions-to-net


Scripting Variables

Variables¶

/var¶

Added in 1.8.8

/var [-gns] <%var> [[= ]value]

Sets the value of local variable %var to the specified value.

Syntax can be either var %var = value or var %var value.

Multiple variables can be set in one line using comma as separator, var %var1 = value, %var2 = value2.

Switches

-s - Display variable assignment value.
-g - Creates a global variable instead.
-n - Treat the value as plain text, even if arithmetic operators are used.

Parameters

<%var> - The variable to set.
[[= ]value] - Value to set the variable to. (can be a single arithmetic expression)

Example

alias factorial {
  var %result = 1, %x = $1
  while (%x) {
    var %result = %result * $v1
    dec %x
  }
  return %result
}

;Returns 3628800
//echo -ag $factorial(10)

/vars¶

Added in 1.9.0

/vars

Shows a list of all global variables and their values.

/set¶

Added in 1.8.8

/set [-eklnsuNz] <%var> [value]

Sets the value of %var to the specified value.

Switches

-e - Unset the variable when AdiIRC exits.
-k - Keeps the unset time (-u) from a previous command.
-l - Creates a local variable instead of global.
-n - Treat the value as plain text, even if arithmetic operators are used.
-s - Display variable assignment value.
-uN - Unsets the variable after N amount of seconds, if N = 0 unset the variable after the script is finished.
-z - Decreases the value of the variable by 1/ever second until zero is reached. At zero the variable will be unset.

Parameters

<%var> - The variable to set.
[value] - Value to set the variable to. (can be a single arithmetic expression)

Example

alias example {
  ;Create a variable and set a value.
  /set %var Countdown:

  ;Print the value
  /echo -a %var

  ;Set the value to 3, decrease once per second
  /set -zs %var 3
}

/unset¶

Added in 1.9.0

/unset [-s] <%var> [%var..]

Unset local or global variables, local variables take precedence over a global variable with the same name.

Wildcards is allowed.

Switches

-s - Prints unset information.

Parameters

<%var> - Variable to unset.
[%var..] - Additional variables to unset.

Example

alias example {
  ;Create and fill a variable with data.
  /set %var1 Variable test.

  ;Print the variable value.
  /echo -a %var1

  ;Unset the variable.
  unset %var1

  ;Print the variable value after unset.
  echo -a %var1
}

/unsetall¶

Added in 1.9.3

/unsetall

Unset and removes all variables from the variables list.

$var¶

Added in 1.9.0

$var(%var,[N])

Returns the Nth matching variable name.

Searches both local and global variables, wildcards can be used.

Parameters

%var - Variable to match.
[N] - If N = 0, number of matched variables (default), otherwise the Nth match. (optional)

Properties

.value - The variable value.
.local - $true if the variable is a local variable, otherwise $false.
.secs - Number of seconds until the variable is unset (if autounset is on).

Examples

; Create a variable.
/set %Example Hello World

; Print number of variables matching '%Example*'.
//echo -ag $var(%Example*, 0)

; Print the name and value from the first match.
//echo -ag $var(%Example*, 1) = $var(%Example*, 1).value

; Delete the variable
/unset %Example


Scripting Binary Variables

Binary Variables¶

/bread¶

Added in 1.9.0

/bread [-ta] <filename> <S> <N> <&binvar>

Reads <N> bytes starting at byte position <S> in the file and stores the result in &binvar.

Switches

-t - reads data until the next $crlf or EOF.
-a - Disables UTF-8 encoding of characters in the range 0-255, as long as the line contains no characters > 255.

Parameters

<filename> - The binary file to read.
<S> - The byte position in the file to start reading from.
<N> - Number of bytes to read.
<&binvar> - The &binvar to read the data into.

Example

;noop $example(FileA, FileB)
alias example {
   ;Read the whole file into a binary variable
   bread $qt($1) 0 $file($1).size &tempFile

   ;Write the bytes form the binary variable to a file
   bwrite $qt($2) 0 -1 &tempFile
}

/bwrite¶

Added in 1.9.0

/bwrite [-ta] <filename> <S> [N] <text|%var|&binvar>

Writes [N] bytes from <text|%var|&binvar> to the file starting at byte position <S> or 0, any existing information at this position is overwritten.

Switches

-t - Treat <text|%var|&binvar> as plain text.
-a - TODO

Parameters

<filename> - File to modify.
<S> - Byte position in the file to start writing to.
[N] - Byte count from <text|%var|&binvar> to write.
<text|%var|&binvar> - Text/%variable/&binvar to write to file.

Example

alias example {
  ;Write some text to a file at beginning of the file
  /bwrite file.txt 0 hello there!

  ;Read the binary data into binary variable &tempfile
  /bread $qt(file.txt) 0 $file(file.txt).size &tempfile

  ;Print the binary variable data as text, outputs 'Hello there!'
  echo -ag $bvar(&tempfile, 1-).text

  ;Replace "there!" with "world!"
  /bwrite file.txt 6 world!

  ;Read the binary data into binary variable &tempfile
  /bread $qt(file.txt) 0 $file(file.txt).size &tempfile

  ;Print the binary variable data as text, outputs 'Hello world!'
  echo -ag $bvar(&tempfile, 1-).text
}

/bset¶

Added in 1.9.0

/bset [-ta] <&binvar> <N> <asciivalue> [asciivalue ... asciivalue]

Sets the <N>th byte in binary variable &binvar to the specified ascii value.

If the &binvar docent exists it is created.
If <N> is larger than the size of &binvar it will be zero filled up to <N> bytes.
If you specify multiple ASCII values, they are copied to successive positions after byte position N.

Switches

-t - Treat values a plain text.
-a - Disables UTF-8 encoding of characters in the range 0-255, as long as the line contains no characters > 255.

Parameters

<&binvar> - The &binvar to modify.
<N> - The byte to modify.
<asciivalue> - The ASCII value to insert.

Example

alias example {
  ; Create a binary variable set it to "This is fun!"
  bset -t &Example 1 This is fun!

  ; Print out the content of the variable
  echo -a $bvar(&Example, 1-).text
}

/bunset¶

Added in 1.9.0

/bunset <&binvar> [&binvar ... &binvar]

Unsets the specified list of &binvars.

Parameters

<&binvar> - The &binvar to unset.
[&binvar ... &binvar] - Additional &binvars to unset.

/bcopy¶

Added in 1.9.0

/bcopy [-zc] <&binvar> <N> <&binvar> <S> <M>

Copies <M> bytes from position <S> in the second &binvar to the first &binvar at position <N>.
This can also be used to copy overlapping parts of a &binvar to itself.

Switches

-z - The bytes in the second &binvar that is copied are zero-filled after the copy.
-c - The first &binvar is chopped to <N> + <M>.

Parameters

<&binvar> - Target &binvar to copy to.
<N> - Target position in the first &binvar to copy to.
<&binvar> - Source &binvar to copy from.
<S> - Source position to copy from.
<M> - Number of bytes to copy.

Example

alias /example {
  ;Create a binary variable and assign it some text
  bset -t &example 1 This is a test!

  ;Copy from 'example' from the 11th byte 10 bytes onward
  ;Zero-fill the part that was copied
  bcopy -z &example2 1 &example 11 10

  ;Print out &example's content (up to the first null)
  echo -a $bvar(&example, 1-).text

  ;Print out &example2's content
  echo -a $bvar(&example2, 1-).text
}

/breplace¶

Added in 1.9.0

/breplace <&binvar> <oldvalue> <newvalue> [oldvalue newvalue...]

Replaces all matching ASCII values in &binvar with new values.

Multiple values can be replaced by adding more old/new parameters.

Parameters

<&binvar>- The &binvar to modify.
<oldvalue> - ASCII value to replace.
<newvalue> - ASCII value to insert.

Example

alias example {
  ;Create a binary variable set it to "Hello World"
  bset -t &Example 1 Hello World

  ;Replace e (ASCII value 101) with 3 (ASCII value 51)
  breplace &Example 101 51

  ;Echo our new string
  echo -a $bvar(&Example,1,$bvar(&Example,0)).text
}

/btrunc¶

Added in 1.9.0

/btrunc <filename> <bytes>

Truncates/extends a file to the specified length.

Parameters

<filename> - The file to truncate.
<bytes> - Number of bytes to truncate/extend to.

Example

alias example {
  ;Create variable %temp and add some data.
  /var %temp = Hello! World

  ;Write to variable %temp's content.
  /bwrite Example 0 $len(%temp) %temp

  ;Truncate the file down to 6 bytes.
  /btrunc Example 6

  ;Read the file into a variable.
  /bread Example 0 $file(Example).size &Example

  ;Print out the variable's content.
  /echo -a $bvar(&Example,1,$bvar(&Example,0)).text

  ;Delete the file.
  /remove Example
}

$bvar¶

Added in 1.9.0

$bvar(&binvar,N,M)

Returns M ASCII values from a &binvar starting from the Nth byte.

N-N2 can be used to get a range of ASCII values.
N- can be used to get all ASCII values from position N.

Parameters

&binvar - The &binvar to use.
N - Position to start retrieving bytes.
M - Numbers of bytes to get.

Properties

.text - Returns plain text instead of ASCII values.
.word - TODO
.nword - TODO
.long - TODO
.nlong - TODO

Example

; Returns the length of the binary variable.
//echo -ag $bvar(&binvar,0)

; Returns ASCII value at position N.
//echo -ag $bvar(&binvar,1)

; Returns ASCII values from 5 to 8.
//echo -ag $bvar(&binvar,5,3)

; Returns ASCII values from 5 to end.
//echo -ag $bvar(&binvar,5-)

; Returns plain text from 5 to 8 up to the first zero character.
//echo -ag $bvar(&binvar,5,3).text

; Returns &binvar if the binvar exists.
//echo -ag $bvar(&binvar)

$bfind¶

Added in 1.9.0

$bfind(&binvar, N, M)

Searches a &binvar for a matching value.

The search is case-insensitive.

Parameters

&binvar - The &binvar to search.
N - The position of the &binvar to start the search.
M - Numeric ASCII character(s) or text to search.

Properties

.text - Force a text search if the search text (M) is a number.

Example

; Finds "test" starting from position 1.
//echo -a $bfind(&test, 1, test)

; Finds character 32 (a space) from position 5.
//echo -a $bfind(&test, 5, 32)

; Finds WAV from position 1.
//echo -a $bfind(&test, 1, 87 65 86)


Scripting Hash Tables

Hash Tables¶

/hmake¶

Added in 1.9.0

/hmake [-s] <name> <N>

Creates a new hash table with N slots.

Switches

-s - Displays a creation resulr.

Parameters

<name> - The hashtable name to create.
<N> - The initial number of hashtable items.

Example

; call the setup once
; /example
;
; //echo -a $abbr(lol)
;
alias example {
;Create the table.
/hmake abbr 1000

;Populate the table.
  /hadd abbr lol laughing out load
  /hadd abbr omg oh my gosh
  /hadd abbr lmao laughing my a?? off
  /hadd abbr brb be right back
}
; get the abbreviation
alias abbr return $hget(abbr, $1)

/hfree¶

Added in 1.9.0

/hfree [-sw] <name>

Deletes a hash table.

Switches

-s - Displays the result.
-w - Indicates name is a wildcard.

Parameters

<name> - The hashtable to delete.

Example

alias example {
  ;Create the hash table 'hash'.
  /hmake hash

  ;Print the hashtable size.
  echo -a $hget(hash) : $hget(hash).size

  ;Creates the hash table 'h' with 10 items.
  /hmake h 10

  ;Creates the hash table 'has' with 20 items.
  /hmake has 20

  ;Delete hash table 'hash'.
  /hfree -s hash

  ;Print the hashtable size.
  /echo -a $hget(h) : $hget(h).size - $hget(has) : $hget(has).size

  ;Deletes any hash tables matching h*
  /hfree -sw h*
}

/hadd¶

Added in 1.9.0

/hadd [-bcmsuNz] <name> <item> [text | &binvar]

Switches

-b - Indicates &binvar is set.
-c - Chop the &binvar to first null byte.
-m - Creates the table if it does not exist.
-s - Displays the result.
-uN - Unset the item after N seconds.
-z - Decreases the item once per second until it reaches zero and then unsets it.

Parameters

<name> - The hash table to add to.
<item> - The hash table item to add to.
[text | &binvar] - The text or &binvar value to add.

Example

; call the setup once
; /abbr_setup
;
; //echo -a $abbr(lol)
;
alias abbr_setup {
  ;Populate the table, create it if it does not exist.
  hadd -m abbr lol laughing out load
  hadd abbr omg oh my gosh
  hadd abbr lmao laughing my a?? off
  hadd abbr brb be right back
}

;Get the abbreviation.
alias abbr return $hget(abbr, $1)

/hdel¶

Added in 1.9.0

/hdel [-sw] <name> <item>

Deletes an item from a hash table.

Switches

-s - Displays the result.
-w - Indicates item is a wildcard.

Parameters

<name> - The hashtable to delete from.
<item> - The hashtable item to delete.

Example

alias example {
  ; Create a hash table
  /hadd -m example academic a

   ; Add some items to the hash table..
  /hadd example academy a
  /hadd example accelerate a
  /hadd example accelerator a
  /hadd example accept a
  /hadd example access a
  /hadd example accident a
  /hadd example because b

  ; Print number of items.
  //echo -a $hget(example, 0).item

  ; Remove everything matching wildcard 'a*'.
  /hdel -w example a*

  ; Print number of items.
  //echo -a $hget(example, 0).item

  ; Free table.
  /hfree example
}

/hload¶

Added in 1.9.0

/hload [-bins] <name> <filename> [section]

Loads a table from a file.

Switches

-b - TODO
-i - Treats the file as an ini file. You can specify an optional section name after the filename.
-n - Load file as data only, with no items. When loading with -n each line of data is assigned an N item value, starting at N = 1.
-m - Creates the table if it does not exist. (AdiIRC only)
-s - Displays the result.

Parameters

<name> - The hashtable to load into.
<filename> - The filename of the saved hashtable to load.
[section] - Hashtable file section to load.

/hsave¶

Added in 1.9.0

/hsave [-abinsu] <name> <filename> [section]

Saves a hash table to a file.

Switches

-s = Displays the result.
-b = TODO
-i = Treats the file as an ini file. You can specify an optional section name after the filename.
-n = Load file as data only, with no items. When loading with -n each line of data is assigned an N item value, starting at N = 1.
-a = Appends to an existing file instead of overwriting it.
-u = Includes unset items.

Parameters

<name> - The hash table to save.
<filename> - The filename to save to.
[section] - Section of ini tile to save to. (used witth -i)

/hdec¶

Added in 1.9.0

/hdec [-bcmsuNz] <name> <item> [num | &binvar]

Decreases the value of the item by 'num'.

Switches

-b - Indicates &binvar is set.
-c - Chop the &binvar to first null byte.
-m - Creates the table if it does not exist.
-s - Displays the result.
-uN - Unset the the item after N seconds.
-z - Decreases the item once per second until it reaches zero and then unsets it.

Parameters

<name> - The hashtable where the item resides.
<item> - The hashtable item to decrease.
[num | &binvar] - The number or &binvar to decrease by.

Example

alias countdown {
  ;Adds the item down with a value of 10 to the table count.
  hadd -m count down 10

  echo -a $hget(count,down) $+ !
  :repeat

  ;Checks if the value of down returns true.
  if ($hget(count,down) > 1) {
    ;decreases down by 1
    hdec count down
    ;echos the current count
    echo -a $hget(count,down) $+ !
    ;repeats
    goto repeat
  }
  ;If the previous if statement returns false it carries on with this.
  else echo -a 0, Hurray!
  hfree -s count
}

/hinc¶

Added in 1.9.0

/hinc [-bcmsuNz] <name> <item> [num | &binvar]

Increases the value of the item by 'num'.

Switches

-b - indicates &binvar is set.
-c - chop the &binvar to first null byte.
-m - creates the table if it does not exist.
-s - displays the result.
-uN - unsets the item after N seconds.
-z - decreases the item once per second until it reaches zero and then unsets it.

Parameters

<name> - The hashtable where the <item> is stored.
<item> - The hashtable item to increase.
[num | &binvar] - The number or &binvar to increase by.

Example

alias example {
  ;Create a hashtable.
  /hmake -s example

  ;Add a few items.
  /hadd example item1 4
  /hadd example item2 7
  /hadd example item3 9

  ;Print the items.
  /echo -a item1 = $hget(example, item1)
  /echo -a item2 = $hget(example, item2)
  /echo -a item3 = $hget(example, item3)

  ;Increase the values.
  /hinc example item1 5
  /hinc example item2 12
  /hinc example item3 1

  /echo -e -

  ;Print the items.
  /echo -a item1 = $hget(example, item1)
  /echo -a item2 = $hget(example, item2)
  /echo -a item3 = $hget(example, item3)

  ;Cleanup.
  /hfree -s example
}

$hget¶

Added in 1.9.0

$hget(name|N)

Returns name of a hash table if it exists, or returns the name of the Nth hash table.

Parameters

name|N - Name of the hashtable or If N = 0, number of hashtables, otherwise the Nth hashtable name.

Properties

.size - Returns the size of the hashtable as specified in /hmake.

Example

; Create a hashtable.
/hmake Example

; Print number of hashtables.
//echo -ag $hget(0)

; Print name and size of the first hashtable.
//echo -ag $hget(1) - $hget(1).size

$hget(name|N, item|N, [&binvar])

Returns the data associated with an item in the specified hash table.

Parameters

name|N - Name of the hashtable or the Nth hashtable name.
item|N - Name of the item or if N = 0 number of items, otherwise the Nth item.
[&binvar] - Assigns the contents of the item to a &binvar. (optional)

Properties

.data - Returns the item value.
.item - Returns the item name.
.unset - Returns number of seconds before the item is automatically removed (if set).

Example

; Create a hashtable
/hmake Example

; Add a item to the hashtable
/hadd Example ExampleItem ExampleValue

; Print number of items in the hastable.
//echo -ag $hget(Example, 0)

; Print information about the first item in the hashtable.
//echo -ag Name is $hget(Example, 1).item Value is $hget(Example, 1).data Unset at $hget(Example, 1).unset

$hfind¶

Added in 1.9.0

$hfind(name|N,text,[N],[M],[@window|command])

Searches table for the Nth item name which matches text and returns the item name.

See also $hmatch.

Parameters

name|N - Name of the hash table or the Nth hash table.
text - Text to search for.
[N] - If N = 0, number of matches, otherwise the Nth match. (optional)
[M] - (optional)

 n - Normal text comparison. (default if M is not specified)
 w - Text is wildcard text.
 W - Hash table item/data is wildcard text.
 r - Text is a egular expression.
 R - Hash table item/data is a regular expression.

[@window|command] - if @window is defined, fills the side-listbox with the results, otherwise the command is run on each result.

Properties

.data - Search for a matching data value instead of item name.

Example

; Searches hash table 'Example' for all items using and runs the command 'echo -ag $1-' on each result, $1- holds the item name or data.
//echo -ag result: $hfind(Example, *, 0, w, echo -ag $1-)

; Searches the hash table 'Example' and prints the number of matches.
//echo -ag result: $hfind(Example, *, 0, w)

; Searches the hash table 'Example' and prints the first matched item.
//echo -ag result: $hfind(Example, *, 1, w)

; Searches the hash table 'Example' and prints the first matched data.
//echo -ag result: $hfind(Example, *, 1, w).data

$hmatch¶

Added in 2.0

$hmatch(name|N,text,[N],[M],[@window|command])

Searches table for the Nth item name which matches text and returns the item name.

Uses wildcard search by default.

See also $hfind.

Parameters

name|N - Name of the hash table or the Nth hash table.
text - Text to search for.
[N] - If N = 0, number of matches, otherwise the Nth match. (optional)
[M] - (optional)

 n - Normal text comparison. (default if M is not specified)
 w - Text is wildcard text.
 W - Hash table item/data is wildcard text.
 r - Text is a egular expression.
 R - Hash table item/data is a regular expression.

[@window|command] - if @window is defined, fills the side-listbox with the results, otherwise the command is run on each result.

Properties

.data - Search for a matching data value instead of item name.

Example

; Searches hash table 'Example' for all items using and runs the command 'echo -ag $1-' on each result, $1- holds the item name or data.
//echo -ag result: $hmatch(Example, *, 0, w, echo -ag $1-)

; Searches the hash table 'Example' and prints the number of matches.
//echo -ag result: $hmatch(Example, *, 0, w)

; Searches the hash table 'Example' and prints the first matched item.
//echo -ag result: $hmatch(Example, *, 1, w)

; Searches the hash table 'Example' and prints the first matched data.
//echo -ag result: $hmatch(Example, *, 1, w).data


Scripting Scripts

Scripts¶

/load¶

Added in 1.9.0

/load -a <filename>
/load -bcmnpqs <filename>
/load -rsuv <filename>

The /load command can be used to load any type of existing file including: aliases, popups, remote, users, and variables. Using /load on an already loaded file will update its contents while maintaining its order among other files.
Note that unlike the /reload command, /load will trigger the on LOAD and on START events.

See also /reload, /unload, on LOAD, on UNLOAD, on START.

Switches

-a - loads an aliases file.
-b - Loads a nicklist buttons file. (AdiIRC only)
-ps - TODO
-pc - TODO
-pq - TODO
-pn - TODO
-pm - TODO
-ru - Loads a user list file.
-rv - Loads a variables file.
-rsN - Loads a remote scripts file, if N is specified, load into the Nth position in the script list.

Parameters

<filename> - Filename to load.

/reload¶

Added in 1.9.0

/reload -a <filename>
/reload -bcmnpqs <filename>
/reload -rsuv <filename>

The /reload command can be used to reload any type of existing file including: aliases, popups, remote, users, and variables. Using /reload on an already loaded file will update its contents while maintaining its order among other files. Note that unlike the /load command, /reload will not trigger the on LOAD and on START events.

See also /load, /unload, on LOAD, on UNLOAD, on START.

Switches

-a - loads an aliases file.
-b - Loads a nicklist buttons file. (AdiIRC only)
-ps - TODO
-pc - TODO
-pq - TODO
-pn - TODO
-pm - TODO
-ru - Loads a user list file.
-rv - Loads a variables file.
-rsN -Loads a remote scripts file, if N is specified, load into the Nth position in the script list.

Parameters

<filename> - Filename to (re)load.

/unload¶

Added in 1.9.0

/unload <-anrs> <filename>

Unloads the specified alias or remote script file.

See also /load, /reload, on LOAD, on UNLOAD, on START.

Switches

-a - Unload a alias file.
-n - Prevents the script from having the on UNLOAD event triggered.
-rs - Unload a remote script.

Parameters

<filename> - File to unload.

/alias¶

Added in 1.9.0

/alias [-l] [filename] <aliasname> <command>

Add/remove/replace any single or multi line (AdiIRC only) alias.

Switches

-l - Adds a local alias only available from current script.

Parameters

[filename] - An optional alias filename to update, if no filename is specified it will use the first match or the first loaded alias file.
<aliasname> - Name of the alias to add/remove/replace.
<command> - The command(s) to be executed by the aliasname.

Example

; This will replace the first matching alias with the new command.
/alias /hello /me says hello

; To remove an existing alias:
/alias /hello

; If you want to add/remove/replace a alias in an existing file
/alias hello.txt /alias /me says hello

$script¶

Added in 1.9.0

$script

Returns the filename for the current running script.

$script(N|filename)

Returns the filename for the Nth loaded script file. If you specify a filename, it returns $null if the file is not loaded.

Parameters

N|filename - The filename to check, if N = 0 number of filenames, otherwise the Nth filename.

Example

; Print number of filename.
//echo -ag $script(0)

; Print the first filename.
//echo -ag $script(1)

; Check if 'example.ini' is loaded.
//echo -ag $script(example.ini)

$scriptdir¶

Added in 1.9.0

$scriptdir

Returns the directory of the currently executing script.

Can be used inside text.

Example

; Print the script directory.
//echo -ag current scriptdir is $scriptdir

; Print the script directory inside text.
//echo -ag $scriptdir\somefile.ini

$scriptline¶

Added in 1.9.0

$scriptline

Returns line number in current script.

Example

; Create a alias
alias Example {
  echo -ag Line number for this line is $scriptline
}

; Call the alias
/example

$alias¶

Added in 1.9.4

$alias(N/filename)

Returns the filename for the Nth loaded alias file or if you specify a filename, it returns $null if the file is not loaded.

Parameters

N/filename - Nth alias or alias filename.

Example

; Print number of alias files.
//echo -ag $alias(0)

; Print first alias file.
//echo -ag $alias(1)

; Check if aliases.ini is loaded.
//echo -ag aliases.ini is $iif($alias(aliases.ini),loaded, not loaded)


Token Manipulation

Token in AdiIRC scripting are lists of strings that is separated by a single unique character.

Example

The numerical representation of space char in ASCII table is 32, and 44 is for comma.

//set -e %q = which came first, the chicken or the egg?

; Will print 2, because it has a single comma "splitting" the text in two parts.
//echo -ag $numtok(%q, 44)

; Will print 8, because in this case are 8 strings separated by space char.
//echo -ag $numtok(%q, 32)

To help you to manipulate list of tokens, there is an extensive set of identifiers and commands.

$addtok¶

Added in 1.9.0

$addtok(text,token,C)

Adds a token to the end of text but only if it is not already in text.

$addtok is case-insensitive, see $addtokcs for case-sensitive version.

Parameters

text - The text to tokenize.
token - Token to add.
C - The ASCII value to tokenize by.

Example

; Returns a.b.c.d
//echo -ag $addtok(a.b.c,d,46)

; Returns a.b.c.d
//echo -ag $addtok(a.b.c.d,c,46)

$addtokcs¶

Added in 1.9.0

$addtokcs(text,token,C)

Adds a token to the end of text but only if it is not already in text.

$addtokcs is case-sensitive, see $addtok for case-insensitive version.

Parameters

text - The text to tokenize.
token - Token to add.
C - The ASCII value to tokenize by.

Example

; Returns a.b.c.D
//echo -ag $addtokcs(a.b.c,D,46)

; Returns a.b.c.d
//echo -ag $addtokcs(a.b.c.d,c,46)

$deltok¶

Added in 1.9.0

$deltok(text,N-N2,C)

Deletes the Nth token from text.

N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.

Parameters

text - The text to tokenize.
N-N2 - The range of tokens or Nth token to delete.
C - The ASCII value to tokenize by.

Example

; Delete the 3rd token, result is 'a.b.d'
//echo -ag $deltok(a.b.c.d,3,46)

; Delete the second to third token, result is 'a.d'
//echo -ag $deltok(a.b.c.d,2-3,46)

; Delete all tokens from the second to end.
//echo -ag $deltok(a.b.c.d,2-,46)

$findtok¶

Added in 1.9.0

$findtok(text,token,N,C)

Returns the position of the Nth matching token in text.

$findtok is case-insensitive, see $findtokcs for case-sensitive version.

Parameters

text - The text to tokenize.
token - The token to find.
N - The Nth token to find.
C - The ASCII value to tokenize by.

Example

; Find position where token 'c' starts.
//echo -ag $findtok(a.b.c.d,c,1,46)

$findtokcs¶

Added in 1.9.0

$findtokcs(text,token,N,C)

Returns the position of the Nth matching token in text.

$findtokcs is case-sensitive, see $findtok for case-insensitive version.

Parameters

text - The text to tokenize.
token - The token to find.
N - The Nth token to find.
C - The ASCII value to tokenize by.

Example

; Find position where token 'C' starts.
//echo -ag $findtokcs(a.b.C.d,c,1,46)

$gettok¶

Added in 1.9.0

$gettok(text,N,C)

Returns the Nth token in text.

Same as $token.

N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.

Parameters

text - The text to tokenize.
N - The Nth token to get.
C - The ASCII value to tokenize by.

Example

; Print the 3rd token in 'a.b.c.d.e'.
//echo -ag $gettok(a.b.c.d.e,3,46)

; Print the second to forth token in 'a.b.c.d.e'.
//echo -ag $gettok(a.b.c.d.e,2-4,46)

; Print all tokens from the second position.
//echo -ag $gettok(a.b.c.d.e,2-,46)

$instok¶

Added in 1.9.0

$instok(text,token,N,C)

Inserts token into the Nth position in text, even if it already exists in text.

N can be a negative value.

Parameters

text - Text to add the token to.
token - Token to insert.
N - The Nth position to insert at.
C - The ASCII value to tokenize by.

Example

; Insert token 'c' at token position '3'.
//echo -ag $instok(a.b.d,c,3,46)

$istok¶

Added in 1.9.0

$istok(text,token,C)

Returns $true if token exists in text, otherwise returns $false.

$istok is case-insensitive, see $istokcs for a case-sensitive version.

Parameters

text - The text to tokenize.
token - The token to check.
C - The ASCII value to tokenize by.

Example

; Check if 'b' is a token in 'a.b.c.d'
//echo -ag $istok(a.b.c.d, b, 46)

$istokcs¶

Added in 1.9.0

$istokcs(text,token,C)

Returns $true if token exists in text, otherwise returns $false.

$istokcs is case-sensitive, see $istok for a case-insensitive version.

Parameters

text - The text to tokenize.
token - The token to check.
C - The ASCII value to tokenize by.

Example

; Check if 'B' is a token in 'a.B.c.d'
//echo -ag $istokcs(a.B.c.d, B, 46)

$matchtok¶

Added in 1.9.0

$matchtok(text,string,N,C)

Returns tokens that contain the specified string.

$matchtok is case-insensitive, see $matchtokcs for case-sensitive version.

Parameters

text - The text to tokenize.
string - Search string.
N - If N is 0, returns number of matches, otherwise returns the Nth match.
C - The ASCII value to tokenize by.

Example

; Returns number of matches
//echo -ag $matchtok(one two three, e, 0, 32)

; Returns the second match
//echo -ag $matchtok(one two three, e, 2, 32)

$matchtokcs¶

Added in 1.9.0

$matchtokcs(text,string,N,C)

Returns tokens that contain the specified string.

$matchtokcs is case-sensitive, see $matchtok for case-insensitive version.

Parameters

text - The text to tokenize.
string - Search string.
N - If N is 0, returns number of matches, otherwise returns the Nth match.
C - The ASCII value to tokenize by.

Example

; Returns number of matches
//echo -ag $matchtokcs(onE two thrEe, E, 0, 32)

; Returns the second match
//echo -ag $matchtokcs(onE two thrEe, E, 2, 32)

$numtok¶

Added in 1.9.0

$numtok(text,C)

Returns number of tokens in text.

Parameters

text - The text to tokenize.
C - The ASCII value to tokenize by.

Example

; Print number of tokens in text
//echo -ag $numtok(a.b.c.d.e, 46)

$puttok¶

Added in 1.9.0

$puttok(text,token,N,C)

Overwrites the Nth token in text with a new token.

N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.

Parameters

text - The text to tokenize.
token - Token to put.
N - The Nth token to replace.
C - The ASCII value to tokenize by.

Example

; Replace the second token with 'e'.
//echo -ag $puttok(a.b.c.d,e,2,46)

; Print the second to third token to 'e'.
//echo -ag $puttok(a.b.c.d,e,2-3,46)

; Replace all tokens from position 2 to 'e'.
//echo -ag $puttok(a.b.c.d,e,2-,46)

$remtok¶

Added in 1.9.0

$remtok(text,token,N,C)

Removes the Nth matching token from text.

$remtok is case-insensitive, see $remtokcs for case-sensitive version.

Parameters

text - The text to tokenize.
token - Token to add.
N - If N = 0, all matching tokens, otherwise the Nth token.
C - The ASCII value to tokenize by.

Example

; Remove the first 'b' token.
//echo -ag $remtok(a.b.c.d,b,1,46)

; Remove all 'b' tokens.
//echo -ag $remtok(a.b.b.b,b,0,46)

$remtokcs¶

Added in 1.9.0

$remtokcs(text,token,N,C)

Removes the Nth matching token from text.

$remtokcs is case-sensitive, see $remtok for case-insensitive version.

Parameters

text - The text to tokenize.
token - Token to add.
N - If N = 0, all matching tokens, otherwise the Nth token.
C - The ASCII value to tokenize by.

Example

; Remove the first 'B' token.
//echo -ag $remtokcs(a.b.B.c.d,B,1,46)

; Remove all 'B' tokens.
//echo -ag $remtokcs(a.b.B.B,b,0,46)

$reptok¶

Added in 1.9.0

$reptok(text,token,new,[N],C)

Replaces the Nth matching token in text with a new token.

$reptok is case-insensitive, see $reptokcs for case-sensitive version.

Parameters

text - The text to tokenize.
token - Token to match.
new - New token to replace with.
[N] - If N = 0, all matching tokens, otherwise the Nth match. (Optional, default is 1)
C - The ASCII value to tokenize by.

Example

; Replace the first token matching 'b' with 'e'
//echo -ag $reptok(a.b.c.d,b,e,1,46)

; Replace all tokens matching 'b' with 'e'
//echo -ag $reptok(b.b.b.c,b,e,0,46)

$reptokcs¶

Added in 1.9.0

$reptokcs(text,token,new,[N],C)

Replaces the Nth matching token in text with a new token.

$reptokcs is case-sensitive, see $reptok for case-insensitive version.

Parameters

text - The text to tokenize.
token - Token to match.
new - New token to replace with.
[N] - If N = 0, all matching tokens, otherwise the Nth match. (Optional, default is 1)
C - The ASCII value to tokenize by.

Example

; Replace the first token matching 'B' with 'E'
//echo -ag $reptokcs(a.B.b.c.d,B,E,1,46)

; Replace all tokens matching 'B' with 'e'
//echo -ag $reptokcs(B.B.B.b,B,e,0,46)

$sorttok¶

Added in 1.9.0

$sorttok(text,C,ncra)

Sorts the tokens in text.

$sorttok is case-insensitive, see $sorttokcs for case-sensitive version.

Parameters

text - The text to tokenize.
C - The ASCII value to tokenize by.
ncra - n = numeric sort, c = channel nick prefix sort, r = reverse sort, a = alphanumeric sort. (Default is an alphabetic sort)

Example

; Sort the tokens alphanumeric
//echo -ag $sorttok(e.d.c.b.a,46)

; Sort the tokens numeric, reversed
//echo -ag $sorttok(1.3.5.2.4,46,nr)

$sorttokcs¶

Added in 1.9.0

$sorttokcs(text,C,ncra)

Sorts the tokens in text.

$sorttokcs is case-sensitive, see $sorttok for case-insensitive version.

Parameters

text - The text to tokenize.
C - The ASCII value to tokenize by.
ncra - n = numeric sort, c = channel nick prefix sort, r = reverse sort, a = alphanumeric sort. (Default is an alphabetic sort)

Example

; Sort the tokens alphanumeric
//echo -ag $sorttokcs(e.D.c.b.a,46)

$wildtok¶

Added in 1.9.0

$wildtok(text,wildstring,N,C)

Returns the Nth token that matches the wildcard string.

$wildtok is case-insensitive, see $wildtokcs for case-sensitive version.

Parameters

text - The text to tokenize.
wildstring - String to search.
N - If N = 0, return number of matching tokens, otherwise the Nth token.
C - The ASCII value to tokenize by.

Example

; Prints the number of matches from the wildstring 't*'.
//echo -ag $wildtok(one two three, t*, 0, 32)

; Prints the first match from the wildstring 't*e'.
//echo -ag $wildtok(one two three, t*e, 1, 32)

$wildtokcs¶

Added in 1.9.0

$wildtokcs(text,wildstring,N,C)

Returns the Nth token that matches the wildcard string.

$wildtokcs is case-sensitive, see $wildtok for case-insensitive version.

Parameters

text - The text to tokenize.
wildstring - String to search.
N - If N = 0, return number of matching tokens, otherwise the Nth token.
C - The ASCII value to tokenize by.

Example

; Prints the number of matches from the wildstring 'T*'.
//echo -ag $wildtokcs(one two Three, T*, 0, 32)

; Prints the first match from the wildstring 'T*e'.
//echo -ag $wildtokcs(one two Three, T*e, 1, 32)

Tokenize¶

Added in 1.9.0

/tokenize <C> <text>

Fills the $1 $2 ... $N identifiers with tokens in <text> separated by character <c>.

Parameters

<C> - The ASCII value to separate by.
<text> - The text to separate.

Example

; Separate the text "one:two:three" by ASCII value 58 (:)
//tokenize 58 one:two:three | echo -a Result of $!2: $2

$*¶

Added in 1.9.0

$*

This is a special identifier which can be used to loop a script line for each token in $1-.

Example

; Create a loopme alias.
alias loopme {
  echo -ag Current token is $*
}

; Call the loopme alias.
/loopme a b c d e f g


Scripting Ini Files

INI Files¶

/writeini¶

Added in 1.9.0

/writeini [-n] <inifile> <section> <item> <value>

Switches

-n - Forces AdiIRC to write to an INI file, even if it's bigger then 64k (obsolete)

Parameters

<inifile> - The file to write to.
<section> - The section to write.
<item> - The item to write.
<value> - The value to write.

Example

;Write a few items to a file.
/writeini abb.ini abbreviations lol Laughing Out Loud
/writeini abb.ini abbreviations rofl Rolling On the Floor, Laughing

;Print a line from abb.ini.
//echo -a $readini(abb.ini, n, abbreviations, lol)

/saveini¶

Added in 2.4

/saveini

Updates all AdiIRC-related INI files with the current settings.

Saves everything which is normally only saved when closing AdiIRC, vars.ini, main window size/position, Monitor Panels positions, Titlebar text etc.

/remini¶

Added in 1.9.0

/remini <inifile> <section> [item]

Deletes whole sections or single items in an INI file.

Parameters

<inifile> - Ini file where the section is located.
<section> - Section in the ini file to remove.
[item] - Item in the section to remove.

Examples

;Remove the entire section TEST in file.ini.
/remini file.ini TEST

;Remove only the testitem element from the TEST section in file.ini.
/remini file.ini TEST testitem

/flushini¶

Added in 1.9.6

/flushini <filename>

Does nothing since ini files are written directly in AdiIRC.

$ini¶

Added in 1.9.0

$ini(file,topic|N,[item|N])

Returns the name/Nth position of the specified topic/item in an INI/text file.

See also $readini.
Same as $initopic.

Parameters

file - File to read from.
topic|N - Topic or the Nth topic, if N = 0 number of topics, otherwise the Nth topic.
[item|N] - Item or the Nth item, if N = 0 number of item, otherwise the Nth item. (optional)

Examples

; Print number of topics in '$adiircini'.
//echo -ag $ini($adiircini,0)

; Print the name of the first topic in '$adiircini.
//echo -ag $ini($adiircini,1)

; Check if the topic 'Messages' exists.
//echo -ag $ini($adiirc,Messages)

$readini¶

Added in 1.9.0

$readini(filename, [np], section, item)

Returns a single line of text from an INI file.

See also $ini.

Parameters

filename - INI file to read from.
[np] - (optional)

n - Don't evaluate any identifiers.
p - command | separators are treated as such instead of as plain text.

section - The INI section to read from.
item - The INI item to read.

Example

; Read $adiircini and retrieve the section 'Messages' and the item 'Timestamp'.
//echo -ag $readini($adiircini, Messages, Timestamp)

$initopic¶

Added in 1.9.9

$initopic(file,topic|N,[item|N])

Returns the name/Nth position of the specified topic/item in an INI/text file.

See also $readini.
Same as $ini.

Parameters

file - File to read from.
topic|N - Topic or the Nth topic, if N = 0 number of topics, otherwise the Nth topic.
[item|N] - Item or the Nth item, if N = 0 number of item, otherwise the Nth item. (optional)

Examples

; Print number of topics in '$adiircini'.
//echo -ag $initopic($adiircini,0)

; Print the name of the first topic in '$adiircini.
//echo -ag $initopic($adiircini,1)

; Check if the topic 'Messages' exists.
//echo -ag $initopic($adiirc,Messages)


Scripting Files Folders

File/Folder Handling¶

/fopen¶

Added in 1.8.10

/fopen [-no] <handle> <filename>

Opens the specified file and assigns a name to it for later reference. The open fails if the file does not exist.

Switches

-n - Creates the file if it does not exists, fails if the file exists.
-o - Creates a new file, overwrites if it exists.

Parameters

<handle> - Handle to assign the file.
<filename> - Path/Filename to open.

Example

alias fopen_example {
  ;Open hello.txt file.
  /fopen -n h hello.txt

  ;Error check
  if ($ferr) {
    /echo -sce info * /fopen_example: $err
    /halt
  }

  ;Write 'Hello There' to the file.
  /fwrite h Hello There

  ;Close the handle.
  /fclose h

  ;Open file in default editor.
  /run hello.txt
}

/fclose¶

Added in 1.8.10

/fclose <handle>

Closes the file associated with this handle.

If you specify a wildcard, all matching handles are closed.

Parameters

<handle> - The handle to close.

Example

alias example {
  ;Open a file.
  /fopen -o x example.txt

  ;write to the file
  /fwrite x Print this line.

  ;Close the file handle
  /fclose x
}

/flist¶

Added in 1.9.0

/flist [handle]

Lists all open files, or those matching the specified handle.

Wildcards can be used.

Parameters

[handle] - Handle to match.

Examples

;List all open files matching myhandle*.
/flist myhandle*

;List all open files.
/flist

/fseek¶

Added in 1.8.10

/fseek [-lnrw] <handle> <position | line number | wildcard | regex>

Sets the read/write pointer to the specified position in the file.

-l - Set position to line 'line number'.
-n - Set position to start of the next line.
-r - Set position to text matching 'regex'.
-w - Set position to text matching 'wildcard'.

Parameters

<handle> - The file handle to seek.
<position | line number | wildcard | regex> - The position/Line number with -l/Wildcard with -w/Regex with -w to set.

/write¶

Added in 1.9.0

/write [-cidna l<line> s<text> w<wildcard> r</regex/>] <filename> [text]

Writes lines to a text file.

Switches

-c - Clears the entire file before writing to it.
-i - Inserts the text at a given line instead of replacing it.
-d - Deletes the given or last line.
-n - Prevent adding $crlf at the end of the text.
-a - Appends the text to an existing line.
-l - Line number for the line to write/modify/delete.
-s - Operates on a line that matches the scanned <text>.
-w - Operates on a line that matches the scanned <wildcard> pattern.
-r - same as -w - but uses a regular expression match.

Parameters

<line> - The line number to find.
<text> - The text to scan.
<wildcard> - Wildcard pattern to match.
</regex/> - Regex pattern to match.
<filename> - The file name to manipulate.
[text] - The text to be written to the file.

Example

alias example {
  ; Create a file and add a few lines of text to it.
  /write Example.txt this is a cool line
  /write Example.txt hello there!
  /write Example.txt text files are cool

  ; Locate the line that starts with "hello" and insert the following text before it.
  /write -is"Hello" Example.txt This will become line 2!

  ; Delete line 1.
  /write -dl1 Example.txt
}

/filter¶

Added in 1.9.4

/filter [-asdfhNkwxnpriocteubglLzN] [n-n2] [c s] <infile | dialog id> <outfile | dialog id | alias> [alias] <matchtext>

Scans lines of text in a window, file or dialog control, any matches are then written out to another window, file, or dialog control.
The order of the switch are important, they define what is the infile and what is the outfile, see the examples for more information.

You can filter blank lines by specifying $crlf for the matchtext.

The $filtered identifier will retrieve the number of matches found.

Switches

-w - Indicates the parameter is a window.
-f - Indicates the parameter is a file.
-a - Sorts filtered lines by calling the optional [alias] parameter, the alias is passed two lines, $1 and $2, it must compare both and return -1, 0, or 1 to indicate relative sort order of these lines to each other.
-x - Excludes matching lines.
-n - Prefixes lines with a line number. (the Nth match)
-d - TODO
-s - Indicates the status window will be used.
-p - TODO
-r - Specifies the range of lines n to n2 for filtering.
-b - Strips any control codes when matching text.
-g - Indicates the matchtext is a regular expression.
-z - TODO
-k - Indicates that you have specified an <alias> as the output instead of a window name. The alias will be called with the result of each filtered line with the form $<alias>($1) where $1 is the matched line.
-i - Indicates that you have provided a [dialog id] custom dialog control as the input.
-o - Indicates that you have provided a [dialog id] custom dialog control as the output.
-c - Clears the output window/file before writing to it.
-t - Sorts the output based on [c s], column C using character S as the columns separator.
-e - Used with -t, specifies a descending sort.
-u - Used with -t, specifies a numeric sort.
-l - Filters from the side-listbox in the first window.
-L - Filters to the side-listbox in the second window.
-hN - TODO
-N - Keep the nickcolumn character when filtering from a window. (AdiIRC only)

Parameters

[n-n2] - if -r is used, indicates the range of lines to be scanned*
[c s] - if -t is used, indicates how to do the sort
<infile | dialog id> - if no switch implies a window's name to be use as the infile, you must provide an infile (a window, a file, or a dialog control)
<outfile | dialog id | alias> - if no switch implies a window's name to be used as the outfile, you must provide an outfile (a window, a file, a dialog control, or an alias name if -k is used)
[alias] - optional alias called if -a is used
<matchtext> - the expression used for the search, if $null is used, it matches everything.

Example

;Filter from the file "c:\my file.txt" to the custom window @mywin.
/filter -fw "c:\my file.txt" @mywin *findthis*

;Filter from the custom window @mywin to the file "c:\my file.txt".
filter -wf @mywin "c:\my file.txt" *findthat*

;Filter from the status window to the single message window.
/filter -sd *findthis*

;Filter from the single message window to the status window.
/filter -ds *findthat*

;Filter from the filename @this_is_a_file to the dialog 'dialog', id '1'.
/filter -fo @this_is_a_file dialog 1 *findthis*

;Filter from a file and call an alias for each line.
/filter -fk file myalias *findthat*

;Filter from a file to a file using regex.
/filter -ffg file1 file2 /regex here/

alias sortexample {
  ;Create 2 windows.
  /window @asd1
  /window @asd2

  ;Add some unordered lines.
  aline @asd1 cccc3|cccc2|cccc1
  aline @asd1 aaaa3|aaaa2|aaaa1
  aline @asd1 bbbb3|bbbb2|bbbb1

  ;Sort by column "1" where column separator is "|" (ascii char 124). (equal to $gettok(cccc3|cccc2|cccc1, 1, 124))
  /filter -twwc 1 124 @asd1 @asd2
}

/loadbuf¶

{{include(/loadbuf}}

/savebuf¶

{{include(/savebuf}}

/copy¶

{{include(/copy}}

/rename¶

{{include(/rename}}

/remove¶

{{include(/remove}}

/rmdir¶

{{include(/rmdir}}

/mkdir¶

{{include(/mkdir}}

/paths¶

{{include(/paths}}

/run¶

{{include(/run}}

$crc¶

Added in 1.9.0

$crc(text|&binvar|filename,[N])

Returns the CRC checksum of the specified item.

Parameters

text|&binvar|filename - Value to calculate CRC checksum from.
N - 0 = plain text, 1 = &binvar, 2 = filename (content of the file), 2 is default.

$exists¶

Added in 1.9.0

$exists(file|dir)

Returns $true if a file or dir exists otherwise $false.

See also $isfile $isdir.

Parameters

file|dir - File or directory.

Example

; Check if file exists
if ($exists(c:\windows\notepad.exe) file exists

; Check if directory exists
if ($exists(c:\windows) directory exists

$file¶

Added in 1.8.10

$file(filename|foldername)

Returns information about the specified file or folder.

Default returns file size.

Same as $lof.

Parameters

filename|foldername - Filename or folder to retrieve information from.

Properties

.size - File size in bytes. (returns 0 for folders)
.ctime - Creation time. (unix timestamp)
.mtime - Last modification time. (unix timestamp)
.atime - Last access time. (unix timestamp)
.shortfn - Short file name.
.longfn - Full file name.
.attr - File attributes.
.sig - returns "ok" if digital signed, else "none".
.version - returns the file version, if any.

Example

; Show AdiIRC.exe filesize
//echo -ag $file($adiircexe).size

; Show explorer.exe digital signature
//echo -ag $file(c:\windows\explorer.exe).sig

$finddir¶

Added in 1.9.0

$finddir(dir,wildcard,N,[depth],[@window|command])

Searches the specified directory and its sub directories for the Nth directory name matching the wildcard specification and returns the full path and directory if it is found.

If /halt is used in the [command], the search is halted instead of the entire script.

Parameters

dir - The directory to search.
wildcard - Wildcard to search for.
N - If N = 0, number of directories, otherwise the Nth directory.
[depth] - Maximum folder depth. (optional)
[@window|command] - Custom window name to fill with the result or a command to run on each result. (optional)

Properties

.shortfn - Return the path in a shortfn format.

Example

; Print number of sub directories found in $adiircdir.
//echo -ag $finddir($adiircdir,*.*,0)

; Print the 1st directory found.
//echo -ag $finddir($adiircdir,*.*,1)

; Print all sub directories in $adiircdir, when using the command parameter, $1- will hold the path.
//noop $finddir($adiircdir,*.*,0,echo -ag $1-)

$findfile¶

Added in 1.9.0

$findfile(dir,wildcard,N,[depth],[@window|command])

Searches the specified directory and its subdirectories for the Nth filename matching the wildcard file specification and returns the full path and filename if it is found.

If /halt is used in the [command], the search is halted instead of the entire script.

Parameters

dir - The directory to search.
wildcard - Wildcard to search for.
N - If N = 0, number of files, otherwise the Nth filename.
[depth] - Maximum folder depth. (optional)
[@window|command] - Custom window name to fill with the result or a command to run on each result. (optional)

Properties

.shortfn - Return the path in a shortfn format.

Example

; Print number of filenames found in $adiircdir.
//echo -ag $findfile($adiircdir,*.*,0)

; Print the 1st filename found.
//echo -ag $findfile($adiircdir,*.*,1)

; Print all filenames in $adiircdir, when using the command parameter, $1- will hold the path.
//noop $findfile($adiircdir,*.*,0,echo -ag $1-)

$getdir¶

Added in 1.9.0

$getdir

Returns the DCC download directory specified in Options -> DCC.

$getdir(filespec)

Returns the DCC download directory matching the filespec, otherwise the directory specified in Options -> DCC.

Parameters

filespec - The filespec.

Example

; Get the directory for .mp3 files.
//echo -ag $getdir(*.mp3)

$isdir¶

Added in 1.8.10

$isdir(dirfile)

Returns $true if the specified directory exists, otherwise $false.

Parameters

dirfile - Directory to check.

Example

; Check if 'windows' exists.
//if ($isdir(C:\Windows)) echo -ag directory exists

$isfile¶

Added in 1.8.10

$isfile(file)

Returns $true if the specified file exists, otherwise $false.

Parameters

file - File to check.

Example

; Check if notepad.exe exists.
//if ($isfile(C:\Windows\notepad.exe)) echo -ag file exists

$lines¶

Added in 1.9.0

$lines(filename)

Returns the total number of lines in the specified text file.

Parameters

filename - Filename to read from.

Example

;Open a file for writing
/fopen file file.txt

;Write a line to the file
/fwrite file Hello World

;Close the file
/fclose file

;Print the number of lines in file.txt
//echo -ag $lines(file.txt)
<pre>

$logdir¶

Added in 1.8.10

$logdir

Returns the Logs directory set in Options -> Logging -> Log folder.

$longfn¶

Added in 1.9.0

$longfn(filename)

Returns the long version of a short filename.

Parameters

filename - The filename.

Example

alias Example {
  ; Get the shortfn of AdiIRC.exe
  var %short $shortfn($adiircexe)

  ; Print the long filename
  echo -ag $longfn(%short) vs %short
}

$shortfn¶

{{include($shortfn}}

$mircexe¶

Added in 1.9.0

$mircexe

Returns the full path and filename of the AdiIRC executable file.

Can be used inside text.

$adiircexe¶

Added in 1.9.0

$adiircexe

Returns the full path and filename of the AdiIRC executable file.

Can be used inside text.

$mircini¶

Added in 1.9.0

$mircini

Returns the full path and filename of the AdiIRC settings file (config.ini).

Can be used inside text.

$adiircini¶

Added in 1.9.0

$adiircini

Returns the full path and filename of the AdiIRC settings file (config.ini).

Can be used inside text.

$mircdir¶

Added in 1.9.0

$mircdir

Returns the directory where AdiIRC stores its settings, themes, scripts and so on.

Can be used inside text.

$adiircdir¶

Added in 1.9.0

$adiircdir

Returns the directory where AdiIRC stores its settings, themes, scripts and so on.

Can be used inside text.

Example

; Print the scripts folder, no space after $adiircdir is needed.
echo -ag $adiircdir\Scripts

$scriptdir¶

Added in 1.9.0

$scriptdir

Returns the directory of the currently executing script.

Can be used inside text.

Example

; Print the script directory.
//echo -ag current scriptdir is $scriptdir

; Print the script directory inside text.
//echo -ag $scriptdir\somefile.ini

$mkfn¶

Added in 1.9.0

$mkfn(filename)

Replaces invalid filename characters with underscore.

Parameters

filename - The filename to format.

Example

; Format the filename 'tes\t.txt' to 'tes_t.txt'
//echo -ag $mkfn(tes\t.txt)

$mklogfn¶

Added in 1.9.0

$mklogfn(filename)

Returns the filename formatted according to options set in Options -> Logging.

Parameters

filename - The filename to format.

$mknickfn¶

Added in 1.9.0

$mknickfn(nickname)

Formats a nick for use as a valid filename.

Removes certain characters from the nick.

Parameters

nickname - The nickname to format.

Example

; Format the nickname 'tes\t' to 'test'
//echo -ag $mknickfn(tes\t)

$msfile¶

Added in 1.9.0

$msfile(dir,[title],[oktext])

Displays the multiple select file dialog and returns the number of selected files.

Parameters

dir - Starting folder in the file dialog.
[title] - Dialog title text. (optional)
[oktext] - TODO (optional)

Example

; Select some files and print the number of selected files.
//echo -ag Number of selected files is $msfile($adiircdir, Select Files)

$msdir(N)

Returns the Nth file from the last $msfile selection.

Parameters

N - If N = 0, number of selected files, otherwise the Nth selected file.

Example

; Select some files.
//noop $msfile($adiircdir, Select Files)

; Print the first selected file.
//echo -ag First selected file was $msdir(1)

$nofile¶

Added in 1.9.0

$nofile(filename)

Returns the path in filename without the actual filename.

Example

; Print the path 'c:\windows\notepad.exe' without the filename.
//echo -ag $nofile(c:\windows\notepad.exe)

$nopath¶

Added in 1.9.0

$nopath(filename)

Returns filename without a path if it has one.

Example

; Print the filename for the path 'c:\windows\notepad.exe'.
//echo -ag $nopath(c:\windows\notepad.exe)

$read¶

Added in 1.9.0

$read(filename, [ntswrp], [matchtext], [N])

Returns a single line of text from a file.

See also $readn.

Parameters

filename - Filename to read.
[ntswrp] - (optional)

n - Don't evaluate any identifiers in the line.
t - Treat the first line as a plain text, even if it's a number.
s - Search for matchtext.
w - Search for matchtext as a wildmatch.
r - Search for matchtext as a regular expression.
p - Treat command | separators as such instead of as plain text.

[matchtext] - Matchtext to search. (optional)
[N] - The Nth line.

Example

; Prints a random line from the file 'file.txt'.
//echo $read(file.txt)

; Prints line '10' from the file 'file,txt.
//echo $read(file.txt, 10)

; Searches file 'file,txt for a line beginning with the text 'Hello World' and prints the text following the match value.
//echo $read(file.txt, s, Hello World)

; Searches file 'file.txt' for a line matching the wildmatch '*Hello World*' and prints it.
//echo $read(file.txt, w, *Hello World*)

$readn¶

Added in 1.9.0

$readn

Returns the line number that was matched in a previous call to $read. If no match was found, $readn is set to zero.

Example

; Read a random line from the file 'file.txt'.
//noop $read(file.txt)

; Print the line number from the last $read.
//echo -ag Line number from the last read was: $readn

$sdir¶

Added in 1.9.0

$sdir(dir,[title],[oktext])

Displays the select folder dialog and returns the selected folder.

Parameters
dir - Starting folder in the folder dialog.
[title] - Dialog title text. (optional)
[oktext] - TODO (optional)

Example

; Open the folder dialog.
//echo -ag $sdir(c:\windows,Select Folder)

$sfile¶

Added in 1.9.0

$sfile(file,[title],[oktext])

Displays the select file dialog and returns the selected file.

Parameters
file - Start filename filter in the file dialog.
[title] - Dialog title text. (optional)
[oktext] - TODO (optional)

Example

; Open the file dialog.
//echo -ag $sfile(*.*,Select File)

$sysdir¶

Added in 1.9.7

$sysdir(item)

Returns the system folder for the specified item.

Parameters

item - The item to retrieve: profile, desktop, documents, downloads, music, pictures and videos.

Example

; Retrieve the documents folder
//echo -ag Documents folder is $sysdir(documents)

$fopen¶

Added in 1.9.0

$fopen(name|N)

Returns information about an open file.

Parameters

name|N - Name of an open file, If N = 0 number of open files, otherwise the Nth open file.

Properties

.fname - Returns the name associated with the file.
.pos - Returns the current position in the file.
.eof - Returns $true if the position is as the end of the file, otherwise $false.
.err - TODO

Example

; Open a file.
/fopen Example Example.txt

; Print number of open files.
//echo -ag $fopen(0)

; Print information about the 'Example' file.
//echo -ag $fopen(Example) position is $fopen(Example).pos

; Close the file.
/fclose Example

$fread¶

Added in 1.9.0

$fread(name|N)

Returns the next $crlf delimited line from an open file.

Parameters

name|N - Name of the file or the Nth file.

Example

; Open a file.
/fopen Example Example.txt

; Add some text to the file.
/fwrite Example Hello World

; Read the next line.
//echo -ag Next line is: $fread(Example)

; Close the file.
/fclose Example

; Delete the file.
/remove Example

$fgetc¶

Added in 1.9.0

$fgetc(name|N)

Returns the next character from current position in an open file.

Parameters

name|N - Name of the file or the Nth file.

Example

; Open a file.
/fopen Example Example.txt

; Add some text to the file.
/fwrite Example Hello World

; Read the next character.
//echo -ag Next char is: $fgetc(Example)

; Close the file.
/fclose Example

; Delete the file.
/remove Example

$feof¶

Added in 1.9.0

$feof

Returns $true if end of file was reached during the last file access attempt, otherwise $false.

Example

; Open a file.
/fopen Example Example.txt

; Add some text to the file.
/fwrite Example Hello World

; Read the text.
//echo -ag $fread(Example)

; Close the file.
/fclose Example

; Delete the file.
/remove Example

; Print the status from $feof.
//echo -ag File $IIf($feof,was,was not) read to end

$ferr¶

Added in 1.9.0

$ferr

Returns any errors during the last file access attempt.

Example

; Print the status from $ferr.
//echo -ag Error was: $ferr


Scripting Custom Windows

Custom Windows¶

/window¶

Added in 1.9.0

/window [-abBcCde[N]fg[N]hHij[N]k[N]l[N]mMn[N]opq[N]rRsStT[N]uvw[N]xz] [-tN,..,N] [+bdeflLmnstx] <@name> [rgb|[x y [w h]]] [/command] [popup.txt] [font [size]] [iconfile [N]]

Creates or manipulates a custom window with a Topicbox/Editbox/Text area/Listbox depending on the parameters used, see Custom Windows for more information.

If -p is specified, a picture window is created which can be custom drawn using various commands/identifiers, see Picture Windows for more information.

Option Switches

Switch | Description
-a | Set as the active window.
-b | TODO
-B | Prevent window from using an internal border.
-c | Close window.
-C | Center window.
-d | Create desktop window instead of child.
-e[N] | Enable Editbox; 0 = single, 1 = multi, 2 = auto, 3 = default.
-f | Makes the w h the required width and height of the text display area. (instead of the window size)
-g[N] | Sets/removes window button color, 0 = normal color, 1 = message color, 2 = highlight color, 3 = system color (3 is AdiIRC only).
-h | Hide window.
-H | Enables auto-hide for a side-listbox.
-i | Dynamically associate with whatever happens to be the active connection.
-j[N] | Sets buffer size to N lines.
-k[N] | Hides the @ prefix in the window name, 0 = hide prefix, 1 = show prefix.
-l[N] | Add listbox, if N is specified then a side-listbox N characters wide is created.
-m | Enable line marker in the window.
-M | TODO
-n[N] | Minimize window ([N] = TODO)
-o | Sets the windows as the top most window. (used with -d)
-p | Creates a picture windows.
-q[N] | If N is 0 hides the nick column, if N is 1 shows the nick column. AdiIRC only
-Q[N] | If N is 0 docks the window, if N is 1 undocks the window. AdiIRC only
-r | Restore window.
-R | TODO
-s | Sort the main window, whether text or listbox. (only listbox for now)
-S | Sort the side-listbox.
-t | Indicates the [rgb] parameter is defined, sets the forms transparency key to [rgb]. AdiIRC only
-T[N] | Enable Topicbox; 0 = Show, 1 = Show Sticky, 2 = Off, 3 = default. AdiIRC only
-u | Remove ontop setting of a desktop window.
-v | Close window when associated status window is closed.
-w[N] | Show/hide window from treebar or switchbar; 0 = hide from both, 1 = show in switchbar, 2 = show in treebar, 3 = show in both
-x | Maximize window
-z[N] | if N = 1, places window button at end of switchbar/Treebar, if N = 0, restores original place. (Default is 1)
-Z | Reset the window icon to default.

Tab Switches

Switch | Description
-tN,..,N | TODO

Appearance Switches

These causes graphical glitches for MDI windows because .net MDI does not like windows without proper borders.

Switch | Description
+b | Border.
+d | No border.
+e | 3d Edge.
+f | Dialog frame.
+l | Tool window.
+L | Tool window. (hide from taskbar)
+n | Minimize box.
+s | Sizeable.
+t | Titlebar.
+x | Maximize box.

Parameters

Parameter | Description
<@name> | Window name.
[rgb] | The $rgb value used with the -t parameter.
x y [w h] | Left top [width height] - position and size of window. (A -1 value for any of the parameters means use default (or existing) value).
/command | Default command.
popup.txt | Popup filename, must be plane text file. TODO
font [size] | Font name [font size].
iconfile [N] | Sets a custom titlebar icon for the window. (N = TODO)

Example

alias example1 {
  ; Create a desktop + picture window, Coordinates: (250,250), size 300x300.
  /window -dep @Example 250 250 300 300

  ; Color it with the control code color 3. (default is green)
  /drawfill @Example 3 3 1 1 100 100

  ; Draw text "Hello world!".
  /drawtext @Example 1 Arial 30 50 100 Hello World!

  ; Close the window.
  /window -c @Example
}

/titlebar¶

Added in 1.9.0

/titlebar [@window] <text>

Sets the main application titlebar. If you specify a custom @window name, then the titlebar for that custom window is changed.

Parameters

[@window] - Window to change the title.
<text> - Title text to set.

Example

; Changes AdiIRC's titlebar to Hello world!
/titlebar Hello world!

; Open a custom window.
/window -e @Example

; Changes @Example Titlebar to Hello world!
/titlebar @Example Hello world!

/renwin¶

Added in 1.9.2

/renwin <@oldname> <@newname> [topic]

Allows you to change the name of an existing window to a different one, and an optional topic can be specified.

Parameters

<@oldname> - Current window name.
<@newname> - New window name.
[topic] - Window topic/title.

Example

; Open a custom window.
/window -e @Example1

; Rename @Example1 to @Example2 and add topic 'Hello world'.
/renwin @Example1 @Example2 Hello World

/aline¶

Added in 1.9.1

/dline [-hl] <@name> <N[-N2]>

Deletes the Nth line through N2th line in a custom window.

Switches

-h - Highlights the window's node in the treebar if the window is not active.
-l - Specify the action to take place on the side-listbox.

Parameter

<@name> - Name of the custom window.
<N[-N2]> - The range to be deleted, (negative values are not accepted)

Example

alias example {
  ;Open a custom window.
  /window -de @Foo

  ;Add a line, line colored in yellow. (8)
  /aline 8 @Foo Line A

  ;Add a line, color Dark Green. (3)
  /aline 3 @Foo Line B

  ;Add a line, color Dark Green. (3)
  /aline -s 3 @Foo Line C

  ;Add a line, color Dark Green. (3)
  /aline -s 3 @Foo Line D

  ;Delete line 2 and 3 with range 2-3, only A D remain.
  /dline @Foo 2-3
}

/aline¶

Added in 2.2

/iline [-ahilnpsb] [color] <@name> <N> <text>

Inserts <text> into the Nth line in a custom window named <@name>.

Switches

-a - Selects the newly added item while keeping the old selection in a listbox
-h - Highlights the window's node in the treebar/switchbar is the window is minimized
-iN - Indents the wrapped line by N characters.
-l - Specify the action to take place on the side-listbox
-n - Prevent the line from being added if it already exists
-p - TODO
-s - Clears the old selection in a listbox and selects the newly added item
-b - Indicates the [c] color is in $rgb format. (AdiIRC only)

Parameters

[color] - Line color number.
<@name> - The custom window name.
<N> - The line number to insert the text at.
<text> - The text to add.

Example

; Open a custom window.
/window -de @Example

; Add 3 blue colored lines.
/aline 12 @Example Line1
/aline 12 @Example Line2
/aline 12 @Example Line3

; Insert a red colored lines at line number 2
/iline 4 @Example 2 Line4

/rline¶

Added in 1.9.5

/rline [-ahslb] [c] <@name> <N> <text>

Replaces the Nth line in any window with a new line.

Switches

-a - Selects the newly added item while keeping the old selection in a listbox.
-h - Highlights the window's node in the treebar is the window is not active.
-s - Clears the old selection in a listbox and selects the newly added item.
-l - Specify the action to take place on the side-listbox,
-b - Indicates the [c] color is in $rgb format. (AdiIRC only)

Parameter

[c] - An optional color number for the line
<@name> - Name of the window.
<N> - The line to change.
<text> - Text to insert.

Example

alias example {
  ; Open a custom window.
  /window -de @Example

  ; Add a line with the text 'Line A'.
  /aline @Example Line A

  ; Add a line with the text 'Line B'.
  /aline @Example Line B

  ; Add a line with the text 'Line C'.
  /aline @Example Line C

  ; Change the text of the second line to 'Line D'.
  /dline @Example 2 Line D
}

/cline¶

Added in 1.9.3

/cline [-bhlmr] [c] <@name> <N|nick>

Changes the color of the Nth line to color [c].

If [c] is not defined, the line will be reset to default color.

Switches

-b - Indicates the [c] color is in $rgb format. (AdiIRC only)
-h - Highlights the window's button. (if window is not active)
-l - Apply to side listbox.
-m - TODO
-r - Reset an item in the listbox to default; [c] parm must be omitted
-t - Apply to text buffer. (AdiIRC only)

Parameters

[c] - Optional line color.
<@name> - Custom window name.
<N|nick> - Line number or matching listbox item to color.

Example

alias example {
  ; Open a custom window.
  /window @Example

  ; Add a 'Hello World' line to the custom window.
  /aline @Example Hello World

  ; Change the color of the first line to red (4).
  /cline 4 @Example 1

  ; Change the color of the first line to rgb color blue
  /cline -b $rgb(0,0,255) 1
}

/sline¶

Added in 1.9.0

/sline [-ar] <#channel> <N|nick>

Selects or de-selects lines in a channel nickname listbox. It can select either the Nth nickname in a listbox, or a specified nickname.

Switches

-a - Appends selection to current selection.
-r - Deselects instead of selects.

Parameters

<#channel> - Channel where the listbox is located.
<N|nick> - Nick or the Nth nick to select.

Custom Window's Menus¶

Scripting Menus

$window¶

Added in 1.9.0

$window(N/@name/@wildcard, M)

Returns properties for a window.

Parameters

Parameter | Description
N/@name/@wildcard | Name of the window or the Nth window. (@wildcard is also possible if M is defined)
M | The Nth @wildcard match. (optional)
If N is -1 | returns properties for the desktop area.
If N is -2 | returns properties for the AdiIRC main window.
If N is -3 | returns properties for the MDI client area of the main window.

Properties

Propertie | Description
.x | Horizontal position of the window relative to the mainform.
.y | Vertical position of the window relative to the mainform.
.w | Window width.
.h | Window height.
.dx | Horizontal position of the window relative to the desktop.
.dy | Vertical position of the window relative to the desktop.
.dw | Width of the text display area.
.dh | Height of the text display area.
.bw | Width of the bitmap for a picture window.
.bh | Height of the bitmap for a picture window.
.mdi | $true if the window is a MDI window/docked, otherwise $false
.title | The text of the window Titlebar.
.state | minimized/maximized/hidden/normal.
.font | Name of the current font.
.fontsize | Size of the current font.
.fontbold | $true if the font is bold, otherwise $false.
.fontitalic | $true if the font is italic, otherwise $false.
.fontunderline | $true if the font is underline, otherwise $false.
.fontcs | returns the character set of the current font.
.logfile | Name of logfile if one is open for the window.
.historyfile | Name of the file Editbox history will be saved to. (AdiIRC only)
.iconfile | Name of the icon file used for a custom icon. (AdiIRC only)
.backgroundfile | Name of the background file used for a custom background. (AdiIRC only)
.stamp | $true if timestamp is on for this window, otherwise $false.
.icon | $true if icon is visible in Switchbar otherwise $false.
.ontop | $true if window is on top otherwise $false.
.type | Window type, channel/status/query/custom/chat/tool/panel.
.anysc | $true if the window was created with the /window -i parameter, otherwise $false.
.wid | Window id.
.cid | Connection id.
.hwnd | Window handle.
.sbtext | Switchbar button text for this window.
.sbcolor | Switchbar color event event/message/highlight for this window.
.sbstate | Switchbar button state (1 = visible, 0 = not visible) for this window.
.tbtext | Treebar text for this window.
.tbstate | Treebar state (1 = visible, 0 = not visible) for this window.
.lb | Nicklist state (2 = visible, 0 = not visible) for this window.
.topicbox | Topicbox state (2 = Show sticky, 1 = show, 2 = off) for this window. (AdiIRC only)
.idle | idle state.
.isbottom | $true if the textarea is scrolled to the bottom, otherwise $false. (AdiIRC only)
.unread | Returns number of unread messages. (this include system messages, use .sbcolor to check the type, AdiIRC only)
.layer | Returns the window layer. (AdiIRC only)
.mscrollpos | Returns the current scrollbar position for the message area. (AdiIRC only)
.mscrollmax | Returns the max scrollbar position for the message area. (AdiIRC only)
.collapsed | Returns $true if the associated Status Window is collapsed in the Treebar, otherwise $false. (AdiIRC only)

$line¶

Added in 1.9.0

$line(@name,N,[T])

Returns the Nth line of text in the specified window.

Parameters

@name - The window to retrieve text from.
N - If N = 0 number of lines, otherwise the Nth line.
[T] - If T = 0 use display area (default) if T = 1, use side-listbox. (optional)

Properties

.state - Returns 1 if the line is selected in a side-listbox, otherwise 0.
.color - Returns the line or nick color.
.rgbcolor - For side-listbox returns the line color in rgb format, otherwise returns the rgb line color if any (AdiIRC only)

Example

; Create a custom window.
/window @Example

; Add a few lines to the window.
/aline @Example Test1
/aline @Example Test2
/aline @Example Test3

; Print number of lines in the window.
//echo -ag $line(@Example, 0)

; Print the second line in the window.
//echo -ag $line(@Example, 2)

$fline¶

Added in 1.9.0

$fline(@name,wildtext,[N],[T])

Returns Nth position of line which matches the specified wildcard text.

Parameters

@name - The custom window name to search.
wildtext - Wildcard text to search for.
[N] - If N = 0 returns number of matches, otherwise the Nth match. (Optional, default is 1)
[T] - If T = 0 reference the display area (default), If T is 1, it references the listbox, 2 implies that wildtext is a regular expression, and 3 for both. (Optional)

Example

; Open a custom window.
/window @Example

; Add some lines
/aline @Example Test1
/aline @Example Test2
/aline @Example Test3

; Search the display area for the wildtext 'Text*' and print number of results.
//echo -ag $fline(@Example, Test*, 0)

; Search the display area for the wildtext 'Text*' and print the second result.
//echo -ag $fline(@Example, Test*, 2)

$sline¶

Added in 1.9.0

$sline(@name,N)

Returns the Nth selected line in a listbox.

Parameters

@name - The window name.
N - If N = 0, returns the total number of selected lines in the window, otherwise the Nth line.

Properties

.ln - Returns the line number of Nth selected line.

Example

; Create a custom window with a listbox.
/window -l @example

; Add some items to the listbox.
/aline @example Test1
/aline @example Test2
/aline @example Test2

; Select the second line in the listbox.
/sline @example 2

; Print the number og selected lines in the listbox.
//echo -ag $sline(@example, 0)

; Print the value of the first selected line in the listbox.
//echo -ag $sline(@example, 1)

; Print the line number of the first selected line in the listbox.
//echo -ag $sline(@example, 1).ln


Scripting Picture Windows

Picture Windows¶

/window¶

Added in 1.9.0

/window [-abBcCde[N]fg[N]hHij[N]k[N]l[N]mMn[N]opq[N]rRsStT[N]uvw[N]xz] [-tN,..,N] [+bdeflLmnstx] <@name> [rgb|[x y [w h]]] [/command] [popup.txt] [font [size]] [iconfile [N]]

Creates or manipulates a custom window with a Topicbox/Editbox/Text area/Listbox depending on the parameters used, see Custom Windows for more information.

If -p is specified, a picture window is created which can be custom drawn using various commands/identifiers, see Picture Windows for more information.

Option Switches

Switch | Description
-a | Set as the active window.
-b | TODO
-B | Prevent window from using an internal border.
-c | Close window.
-C | Center window.
-d | Create desktop window instead of child.
-e[N] | Enable Editbox; 0 = single, 1 = multi, 2 = auto, 3 = default.
-f | Makes the w h the required width and height of the text display area. (instead of the window size)
-g[N] | Sets/removes window button color, 0 = normal color, 1 = message color, 2 = highlight color, 3 = system color (3 is AdiIRC only).
-h | Hide window.
-H | Enables auto-hide for a side-listbox.
-i | Dynamically associate with whatever happens to be the active connection.
-j[N] | Sets buffer size to N lines.
-k[N] | Hides the @ prefix in the window name, 0 = hide prefix, 1 = show prefix.
-l[N] | Add listbox, if N is specified then a side-listbox N characters wide is created.
-m | Enable line marker in the window.
-M | TODO
-n[N] | Minimize window ([N] = TODO)
-o | Sets the windows as the top most window. (used with -d)
-p | Creates a picture windows.
-q[N] | If N is 0 hides the nick column, if N is 1 shows the nick column. AdiIRC only
-Q[N] | If N is 0 docks the window, if N is 1 undocks the window. AdiIRC only
-r | Restore window.
-R | TODO
-s | Sort the main window, whether text or listbox. (only listbox for now)
-S | Sort the side-listbox.
-t | Indicates the [rgb] parameter is defined, sets the forms transparency key to [rgb]. AdiIRC only
-T[N] | Enable Topicbox; 0 = Show, 1 = Show Sticky, 2 = Off, 3 = default. AdiIRC only
-u | Remove ontop setting of a desktop window.
-v | Close window when associated status window is closed.
-w[N] | Show/hide window from treebar or switchbar; 0 = hide from both, 1 = show in switchbar, 2 = show in treebar, 3 = show in both
-x | Maximize window
-z[N] | if N = 1, places window button at end of switchbar/Treebar, if N = 0, restores original place. (Default is 1)
-Z | Reset the window icon to default.

Tab Switches

Switch | Description
-tN,..,N | TODO

Appearance Switches

These causes graphical glitches for MDI windows because .net MDI does not like windows without proper borders.

Switch | Description
+b | Border.
+d | No border.
+e | 3d Edge.
+f | Dialog frame.
+l | Tool window.
+L | Tool window. (hide from taskbar)
+n | Minimize box.
+s | Sizeable.
+t | Titlebar.
+x | Maximize box.

Parameters

Parameter | Description
<@name> | Window name.
[rgb] | The $rgb value used with the -t parameter.
x y [w h] | Left top [width height] - position and size of window. (A -1 value for any of the parameters means use default (or existing) value).
/command | Default command.
popup.txt | Popup filename, must be plane text file. TODO
font [size] | Font name [font size].
iconfile [N] | Sets a custom titlebar icon for the window. (N = TODO)

Example

alias example1 {
  ; Create a desktop + picture window, Coordinates: (250,250), size 300x300.
  /window -dep @Example 250 250 300 300

  ; Color it with the control code color 3. (default is green)
  /drawfill @Example 3 3 1 1 100 100

  ; Draw text "Hello world!".
  /drawtext @Example 1 Arial 30 50 100 Hello World!

  ; Close the window.
  /window -c @Example
}

/titlebar¶

Added in 1.9.0

/titlebar [@window] <text>

Sets the main application titlebar. If you specify a custom @window name, then the titlebar for that custom window is changed.

Parameters

[@window] - Window to change the title.
<text> - Title text to set.

Example

; Changes AdiIRC's titlebar to Hello world!
/titlebar Hello world!

; Open a custom window.
/window -e @Example

; Changes @Example Titlebar to Hello world!
/titlebar @Example Hello world!

/renwin¶

Added in 1.9.2

/renwin <@oldname> <@newname> [topic]

Allows you to change the name of an existing window to a different one, and an optional topic can be specified.

Parameters

<@oldname> - Current window name.
<@newname> - New window name.
[topic] - Window topic/title.

Example

; Open a custom window.
/window -e @Example1

; Rename @Example1 to @Example2 and add topic 'Hello world'.
/renwin @Example1 @Example2 Hello World

/drawcopy¶

Added in 1.9.0

/drawcopy -himnrt <@window> [color] <x y w h> <@window> <x y [w h]>

Copies part of a picture to a different position in the same window or to another window. If the second [w h] parameters are specified, the picture is stretched/squeezed to fit.

Switches

-h - Highlights the windows icon if it is minimized.
-i - Draws in inverse mode.
-m - Changes the stretch mode quality when the picture is resized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.
-t - Indicates that you have specified the [color] RGB value as a transparent color in the source bitmap.

Parameters

<@window> - The picture window to copy from.
[color] - If -t is used, the RGB color used for transparency.
<x y w h> - Portion to of the source @window to copy.
<@window> - The picture window to copy to.
<x y [w h]> - The coordinate where to draw, if [w h] are specified, the picture is squeed/stretched to fit, they can be negative value to get a mirror effect.

/drawdot¶

Added in 1.9.0

/drawdot [-ihnr] <@window> <color> <size> <x y> [<x y>...]

Draws a dot using the specified color and size at the x,y co-ordinates. Multiple co-ordinates can be provided.

Switches

-i - Draws in inverse mode.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.

Parameters

<@window> - The picture window to draw in.
<color> - Color off the dot to draw.
<size> - Size of the dot to draw.
<x y> - x,y co-ordinates to draw at.
[<x y>...] - Additional x,y co-ordinates to draw at.

/drawfill¶

Added in 1.9.0

/drawfill [-ihnrs] <@window> <color> <color> <x y> [filename] [<x y>...]

Fills an area with the specified color starting at the specified co-ordinates.

Switches

-i - Draws in inverse mode.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.
-s - Indicates that the second color parameter is the color that should be filled (surface fill). If no -s is specified, the second color is the border color at which filling should stop (border fill).

Parameters

<@window> - Name of the picture window to draw.
<color> - The color used for the fill.
<color> - The color used to know how to fill (if -s, it fills as long as the color of the pixels around is the same color as the one you provide here, otherwise, it fills as long as the color of pixel is not the color you provide here)
<x y> - The coordinate where to fill.
[filename] - TODO
[<x y>...] - TODO

/drawline¶

Added in 1.9.0

/drawline [-ihnr] <@window> <color> <size> <x y> <x y> [<x y>...]

Draws a line from the first <x y> co-ordinate to the second, if more co-ordinates are specified, the line is continued.

Switches

-i - Draws in inverse mode.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.

Parameters

<@window> - The picture window to draw in.
<color> - Color off the line to draw.
<size> - Size of the line to draw.
<x y> - x,y co-ordinates to draw at.
[<x y>...] - Additional points to draw.

/drawpic¶

Added in 1.9.0

/drawpic -ihmnotsclgN <@window> [color] <x y [w h]> [x y w h] [N] <filename>

Switches

-t - TODO
-s - Indicates that you have specified the first [w h] parameters to squeeze/stretch the bitmap.
-c - Indicates that the bitmap should be cached. This greatly speeds up subsequent references to this bitmap. If you specify -c and the bitmap is already in the cache, it is loaded and used from the cache, otherwise it is reloaded from the file. You can clear the entire cache with /drawpic -c.
-l - TODO
-m - Changes the stretch mode quality when the picture is resized.
-o - Indicates that you have specified the [N] value before the filename, representing the index of the icon in the file.
-gN - TODO
-i - TODO
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.

Parameters

<@window> - The window name to draw.
[color] - If -t is used, the RGB color used for transparency.
<x y [w h]> - The x y coordinates where you want to draw, if -s is used, [w h] is the width/height that will be used to squeeze/stretch the bitmap.
[x y w h] - The area in the picture to be drawn.
[N] - If -o is used, the index number of the picture in the file.
<filename> - The filename for the picture.

/drawrect¶

Added in 1.9.0

/drawrect -ihnrfecd <@window> <color> <size> <x y w h> [<x y w h>...]

Draws a rectangle at the specified co-ordinates of the specified width and height. If more co-ordinates are specified these are also drawn as separate rectangles.

Switches

-i - Draws in inverse mode.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.
-f - Draws a filled rectangle.
-e - Draws an ellipse instead of a rectangle.
-c - Draws a focus rectangle.
-d - Draws a rounded rectangle, using the format "/drawrect -d x y w h [w h]" where w and h are the width and height of the ellipse used to draw the corners.

Parameters

<@window> - Name of the Picture Window to draw to.
<color> - The color used for the rectangle.
<size> - Thickness of the border in pixels.
<x y w h> - Co-ordinates for a rectangle in pixels, x and y are the top left corner.
[<x y w h>...] - Draw additional rectangles.

/drawreplace¶

Added in 1.9.0

/drawreplace -nr <@window> <color1> <color2> [x y w h]

Replaces all occurrences of color1 with color2.

Switches

-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.

Parameters

<@window> - Name of the picture window to draw.
<color1> - The color to replace.
<color2> - The color to replace with.
[x y w h] - the area of the picture to replace.

/drawrot¶

Added in 1.9.0

/drawrot -hmnbfc <@window> [color] <angle> [x y w h]

Rotates an area of a bitmap by the specified angle.

Switches

-b - Indicates that you have specified the background color value
-f - TODO
-c - TODO
-m - Changes the stretch mode quality when the picture is resized.

Parameters

<@window> - Name of the window to rotate.
[color] - The background color to use if -b is defined.
<angle> - The angle of the rotation.
[x y w h] - The area to rotate.

/drawsave¶

Added in 1.9.0

/drawsave -bNqN <@window> <filename>

Saves the background picture of the specified picture @window to a file.

Switches

-bN - TODO
-qN - TODO

Parameters

<@window> - Window name to save from.
<filename> - Filename to save to.

/drawscroll¶

Added in 1.9.0

/drawscroll -hn <@window> <x> <y> <x y w h> [<x> <y> <x y w h>...]

Scrolls the region inside the specified rectangle. The first <x> and <y> parameters represent the distance to scroll and can be positive or negative.

Switches

-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.

Parameters

<@window> - Name of the window to scroll.
<x> - The number of pixel to scroll on the x axis.
<y> - The number of pixel to scroll on the y axis.
<x y w h> - The region to scroll.
[<x> <y> <x y w h>...] - Additional pixels and regions to scroll.

/drawtext¶

Added in 1.9.0

/drawtext -hnrpboc <@window> <color> [color] [fontname fontsize] <x y [w h]> <text>

Draws text at the specified co-ordinates.

Switches

-p - Processes and interprets control codes in the text.
-b - Indicates that you have specified the second color parameter as the background color for the text.
-o - Indicates specified font should be in bold.
-c - Indicates that you have specified the [w h] values as the rectangle in which text should be printed. Text will be clipped if it extends beyond this rectangle.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the colors are in RGB format.

Parameters

<@window> - Name of the window to draw.
<color> - The textcolor.
[color] - The background color, if -b has been specified.
[fontname fontsize] - The name of the font and the size of the font.
<x y [w h]> - The coordinate of the text.
<text> - The text to draw.

$window¶

Added in 1.9.0

$window(N/@name/@wildcard, M)

Returns properties for a window.

Parameters

Parameter | Description
N/@name/@wildcard | Name of the window or the Nth window. (@wildcard is also possible if M is defined)
M | The Nth @wildcard match. (optional)
If N is -1 | returns properties for the desktop area.
If N is -2 | returns properties for the AdiIRC main window.
If N is -3 | returns properties for the MDI client area of the main window.

Properties

Propertie | Description
.x | Horizontal position of the window relative to the mainform.
.y | Vertical position of the window relative to the mainform.
.w | Window width.
.h | Window height.
.dx | Horizontal position of the window relative to the desktop.
.dy | Vertical position of the window relative to the desktop.
.dw | Width of the text display area.
.dh | Height of the text display area.
.bw | Width of the bitmap for a picture window.
.bh | Height of the bitmap for a picture window.
.mdi | $true if the window is a MDI window/docked, otherwise $false
.title | The text of the window Titlebar.
.state | minimized/maximized/hidden/normal.
.font | Name of the current font.
.fontsize | Size of the current font.
.fontbold | $true if the font is bold, otherwise $false.
.fontitalic | $true if the font is italic, otherwise $false.
.fontunderline | $true if the font is underline, otherwise $false.
.fontcs | returns the character set of the current font.
.logfile | Name of logfile if one is open for the window.
.historyfile | Name of the file Editbox history will be saved to. (AdiIRC only)
.iconfile | Name of the icon file used for a custom icon. (AdiIRC only)
.backgroundfile | Name of the background file used for a custom background. (AdiIRC only)
.stamp | $true if timestamp is on for this window, otherwise $false.
.icon | $true if icon is visible in Switchbar otherwise $false.
.ontop | $true if window is on top otherwise $false.
.type | Window type, channel/status/query/custom/chat/tool/panel.
.anysc | $true if the window was created with the /window -i parameter, otherwise $false.
.wid | Window id.
.cid | Connection id.
.hwnd | Window handle.
.sbtext | Switchbar button text for this window.
.sbcolor | Switchbar color event event/message/highlight for this window.
.sbstate | Switchbar button state (1 = visible, 0 = not visible) for this window.
.tbtext | Treebar text for this window.
.tbstate | Treebar state (1 = visible, 0 = not visible) for this window.
.lb | Nicklist state (2 = visible, 0 = not visible) for this window.
.topicbox | Topicbox state (2 = Show sticky, 1 = show, 2 = off) for this window. (AdiIRC only)
.idle | idle state.
.isbottom | $true if the textarea is scrolled to the bottom, otherwise $false. (AdiIRC only)
.unread | Returns number of unread messages. (this include system messages, use .sbcolor to check the type, AdiIRC only)
.layer | Returns the window layer. (AdiIRC only)
.mscrollpos | Returns the current scrollbar position for the message area. (AdiIRC only)
.mscrollmax | Returns the max scrollbar position for the message area. (AdiIRC only)
.collapsed | Returns $true if the associated Status Window is collapsed in the Treebar, otherwise $false. (AdiIRC only)

$width¶

Added in 1.9.1

$width(text,font,size,[B],[C])

Returns width of text in pixels for the specified font.

If you use a negative number for the font size, it will match the size of fonts in the font dialogs.

Parameters

text - Text to measure.
font - Font to measure.
size - Font size to measure.
[B] - If B is non-zero, the font is bold. (optional)
[C] - If C is non-zero, control codes are processed. (optional)

Example

; Measure the width of text 'Hello World' using font 'Verdana 9'.
//echo -ag $width(Hello world, Verdana, 9)

$height¶

Added in 1.9.1

$height(text,font,size)

Returns height of text in pixels for the specified font.

If you use a negative number for the font size, it will match the size of fonts in the font dialogs.

Parameters

text - Text to measure.
font - Font to measure.
size - Font size to measure.

Example

; Measure the height of text 'Hello World' using font 'Verdana 9'.
//echo -ag $height(Hello world, Verdana, 9)

$click¶

Added in 1.9.4

$click(@window, N)

Retrieves mouse click information from a picture window.

If no properties is defined, returns both X Y.

Parameters

@window - Picture window to use.
N - The Nth mouse click item, if N = 0, returns number of mouse click items.

Properties

.x - Returns the X coordinate of the mouse click.
.y - Returns the Y coordinate of the mouse click.

Example

; Create the custom alias to launch the example
;
; Synopsis: /clickWatch

alias clickWatch {
  ; Create a custom picture window, which is centered.
  window -dpC @clicker 0 0 250 125

  ; Custom 'update' alias keeps code from repeating.
  ; During initial launch the values should be empty.
  update 15 Total Clicks: empty
  update 35 Current Position: none yet
  update 55 Previous Position: none yet
}
; Monitor the sclicks in our custom '@clicker' window.
menu @clicker  {
  sclick: {

    ; Clear the window for the new value updates.
    clear @clicker

    ; Set the %current and %prev variables to the current.
    ; x/y click location, and to the previous x/y click.
    ; locations, respectively.
    var %current = $click(@clicker,0), %prev = $calc(%current - 1)

    ; Utilizing the custom 'update' alias, update the data.
    update 15 Total Clicks: $click(@clicker,0)
    update 35 Current Position: $click(@clicker,%current)
    update 55 Previous Position: $iif(%prev,$click(@clicker,%prev),none yet)
  }
}
; Custom update alias removes a lot of the /drawtext repetition.
; from this example.
alias -l update {
  drawtext @clicker $color(normal) 7 $1 $2-
}

$inellipse¶

Added in 1.9.0

$inellipse(x,y,x,y,w,h)

Returns $true if the point x y is inside the specified ellipse, otherwise $false.

$inrect¶

Added in 1.9.0

$inrect(x,y,x,y,w,h)

Returns $true if the point x y is inside the specified rectangle, otherwise $false.

$inroundrect¶

Added in 1.9.4

$inroundrect(x,y,x,y,w,h,w,h)

Returns $true if the point x y (the first ones) is inside the specified rounded rectangle, otherwise $false.

$inpoly¶

Added in 1.9.0

$inpoly(x,y,a1,a2,b1,b2,...)

Returns $true if the point x y is inside the polygon defined by the specified points, otherwise $false.

$onpoly¶

Added in 1.9.4

$onpoly(n1,n2,x,y,x,y,...)

Returns $true if two polygons overlap, otherwise $false.

Parameters

n1 - Number of points in the first polygon.
n2 - Number of points in the second polygon.
x - First x coordinate.
y - First y coordinate.
x - Second x coordinate.
y - Second y coordinate.
... - Additional coordinates.

$getdot¶

Added in 1.9.1

$getdot(@,x,y)

Returns the RGB color value of the dot at the specified position in a picture window.

Parameters

@ - The picture window name.
x - The X coordinate.
y - The Y coordinate.

Example

; Open a picture window.
/window -p @Example

; Fill a rectangle on the picture window.
/drawfill @Example 4 4 0 0

; Get the RGB color value at x coordinate 0 and y coordinate 0.
//echo -ag $getdot(@Example, 0, 0)

$lineheight¶

Added in 1.9.5

$lineheight(font, size)

Returns the line height of the given font and size.

Parameters

font - Font to calculate.
size - Font size to calculate.

Example

//echo -ag Lineheight for Consolas 10 is $lineheight(Consolas, 10)

$pic¶

Added in 1.9.1

$pic(filename)

Returns the filesize/imagesize of a image file.

Parameters

filename - Image file to check.

Properties

.width - Return the image width.
.height - Return the image height.
.size - Return the image size.

Example

; Print width and height of a image file.
//echo -ag Image width is $pic(image.jpg).width height is $pic(image.jpg).height

$mouse¶

Added in 1.9.0

$mouse

Returns various properties about the mouse and keys pressed during events.

Properties

.lb - Returns $true if the mouse event occurred in a side-listbox otherwise $false.
.x - Mouse X position relative to active window.
.y - Mouse Y position relative to active window.
.mx - Mouse X position relative to AdiIRC main window.
.my - Mouse Y position relative to AdiIRC main window.
.dx - Mouse X position relative to the desktop area.
.dy - Mouse Y position relative to the desktop area.
.key - Bitwise flag, see example.

Example

alias Example {
  ; Test $mouse.key for various values, more than one value can be true.
  if ($mouse.key & 1) echo left button is pressed.
  if ($mouse.key & 2) echo control key is pressed.
  if ($mouse.key & 4) echo shift key is pressed.
  if ($mouse.key & 8) echo alt key is pressed.
  if ($mouse.key & 16) echo right mouse button is pressed.
  if ($mouse.key & 32) echo middle mouse button is pressed.
  if ($mouse.key & 64) echo x mouse button 1 is pressed.
  if ($mouse.key & 128) echo x mouse button 2 is pressed.
}

; Print mouse X and Y coordinates.
//echo -ag $mouse.x / $mouse.y

$rgb¶

Added in 1.9.0

$rgb(N,N,N|N|name)

If N,N,N is defined, returns an RGB decimal color value.
if N is defined, returns a RRR,GGG,BBB value.
if name is defined, returns a system color RGB decimal value.

Parameters

N,N,N - An RRR,GGG,BBB value.
N - A RGB decimal value.
name - A system color name: face, shadow, hilight, 3dlight, frame, or text.

Switches

.hex - Returns the value in hex format. (AdiIRC only)

Example

; Print the RGB decimal value from 123,123,123
//echo -ag RGB value is $rgb(123,123,123)

; Print the RRR,GGG,BBB value from 8092539
//echo -ag RGB decimal value is $rgb(8092539)


Scripting Dialogs

Dialogs¶

/dialog¶

Added in 1.9.0

/dialog -abcdefghijklmnoprstuvx <name> [newname|table] [x y w h] [text|filename] [N]

Allows you to create a modeless dialog with the -m switch.

See also $dialog, on DIALOG, Dialog Items.

Switches

-a - Used with -m, uses currently active window as the parent.
-b - Interprets size as dbu.
-c - Click cancel button.
-d - Open dialog on the desktop, used with -m.
-e - Restores the dialog if created on the desktop.
-f - Hides the window borders. (AdiIRC only)
-g - Renames existing dialog using <name> <newname>.
-h - Make dialog work with active server connection. (TODO)
-i - Minimise the dialog if created on the desktop.
-j - Shows the window borders. (AdiIRC only)
-k - Click ok button.
-l - TODO
-m - Create a modeless dialog using 'table'.
-n - Unset ontop setting.
-o - Set dialog ontop of all windows.
-p - Interprets size as pixels.
-r - Centers dialog.
-s - Set dialog position/size.
-t - Set dialog title to 'text'.
-u - Set dialog icon to 'filename'. (AdiIRC only)
-v - Makes the dialog the active window.
-x - Close a dialog without triggering any events.

Parameters

<name> - Name of the dialog to creae.
[newname] - Newname used with -g
[table] - Name of the dialog table to use.
[x y w h] - X/Y Position on the desktop and the Height/Width of the dialog.
[text|filename] - Dialog title text or dialog icon filename.
[N] - Icon index. (AdiIRC only, used with -u)

Dialog Items

Example

; Create a dialog table.
Dialog Example1 {
  title "This is Example 1"
  size -1 -1 172 129
  option dbu
  tab "Tab A", 14, 2 0 165 123
  tab "Tab B", 15
  tab "Tab C", 16
  edit "", 17, 8 16 154 104, tab 16 multi return autohs vsbar
  menu "&File", 1
  item "&New", 6, 1
  item "&Open", 7, 1
  item break, 8, 1
  item "&Save", 9, 1
  item "Save &as", 10, 1
  menu "&Edit", 2
  item "&Copy", 11, 2
  item "P&aste", 12, 2
  menu "&view", 3
  item "&All", 13, 3
  menu "&Help", 4
  item "&About", 5, 4
}

; Create and show the dialog as modeless and on the desktop.
/dialog -md Example1 Example1

/did¶

Added in 1.9.0

/did -abcdefghijklmnorstuvz <name> <id> [n] [text | filename | start [end]]

The /did command allows you to modify the values of controls in a dialog,

Switches

-a - Add line of text to end.
-b - Disable id.
-c - Check checkbox/radiobutton list/combo line.
-d - Delete Nth line.
-e - Enable id.
-f - Set focus on id.
-g - Set a new icon/image to an icon control.
-h - hide id
-i - Insert text at Nth line.
-j - Resets the edited setting in an editbox. (TODO)
-k - Works with -cu, keeps other selections in a listbox.
-l - Uncheck the checkbox of an item in a listcb control.
-m - Disables editbox.
-n - Enables editbox.
-o - Overwrite Nth line with text.
-r - Clear all text in id.
-s - Checks the checkbox of an item in a listcb control.
-t - Set id as default button.
-u - Uncheck checkbox/radiobutton list/combo line.
-v - Make id visible.
-z - Resets the width of horizontal scrollbar in listbox. (TODO)

Parameters

<name> - Name of the dialog.
<id> - Id of the control to edit, you can use the form N-N1,N2-N3 to change multiple id's at once, 1-5,6,9 would change the following ids: 1,2,3,4,5,6,9.
[n] - Usually a line number, it can also be an id number with menus, use 0 if you want to access the editbox of a combo control.
[text] - The text parameter if applicable.
[filename] - Filename used with -g. |start [end] - Used with -z to set the range of a scrollbar, or with -c to set a selection

/didtok¶

Added in 1.9.0

/didtok <name> <id> <c> <text>

Tokenizes a string by character c, then adds the result to a dialog list/combo/edit box.

Parameters

<name> - Name of the dialog.
<id> - Id of the dialog control.
<c> - ASCII value to tokenize by.
<text> - Text to tokenize.

Example

; Dialog table layout.
dialog colors {
  size -1 -1 100 200
  list 1, 10 10 80 180
}

; Run the dialog.
/dialog -m colors colors

; Tokenize the string "red blue orange yellow" by whitespace and insert result into the list control.
/didtok colors 1 32 red blue orange yellow

$did¶

Added in 1.9.0

$did

Returns the id of the matched dialog id during a on DIALOG event.

Example

on *:DIALOG:*:*:{
  echo -ag The matched dialog id is $did
}

$did([name},id,[N])

Returns settings and values from a dialog item.

See also /dialog, on DIALOG, Dialog Items.

Parameters

[name] - If specified, name of the dialog otherwise $dname from the current event is used. (optional)
id - Id of the dialog item.
[N] - If N = 0, get number of lines, otherwise the Nth line for a item with multiple lines. (optional)

Properties

.text - Returns line or Nth line.
.len - Returns length of line or length of Nth line.
.lines - Returns number of lines.
.sel - If N = 0, returns number of lines otherwise the Nth selected line.
.seltext - Returns selected text in an editbox or first selected item in a listbox.
.selstart - Returns select start character in editbox line.
.selend - Returns select end character in editbox line.
.edited - Returns $true if text in editbox was changed, otherwise $false.
.state - Returns 0 = off, 1 = on, and 2 = indeterminate.
.next - Returns id of next control in tab key order.
.prev - Returns id of previous control in tab key order.
.visible - Returns $true if the control is visible, otherwise $false.
.enabled - Returns $true if the control is enabled, otherwise $false.
.isid - Returns $true if id exists in the dialog, otherwise $false.
.csel - If N is 0, returns number of checked lines, otherwise line number of the Nth checked box in a listcb control.
.cstate - Returns 0 = off, 1 = on for item in a listcb control.

$didwm¶

Added in 1.9.0

$didwm([name],id,wildtext,[N])

Returns the number of the line that matches the wildtext, with the search starting at line N.

Parameters
[name] - If specified, name of the dialog otherwise $dname from the current event is used. (optional)
id - Id of the dialog item.
regex - The wildtext to search.
[N] - If N = 0, number of matches, otherwise the Nth match. (optional)

$didreg¶

Added in 1.9.0

$didreg([name],id,regex,[N])

Returns the number of the line that matches the regular expression, with the search starting at line N.

Parameters
[name] - If specified, name of the dialog otherwise $dname from the current event is used. (optional)
id - Id of the dialog item.
regex - The regular expression to perform.
[N] - If N = 0, number of matches, otherwise the Nth match. (optional)

$didtok¶

Added in 1.9.1

$didtok([name],id,C)

Returns a tokenized list of the items in a dialog list/combo/edit box.

Parameters

[name] - If specified, name of the dialog otherwise $dname from the current event is used. (optional)
id - Id of the dialog item.
C - The ASCII value to tokenize by.

on DIALOG¶

Added in 1.9.0

on <level>:DIALOG:<name>:<event>:<id>

Triggers when a dialog item state is changed, e.g clicking a button or types text in a Editbox.

See also $dname, $devent, $did, /dialog, $dialog, Dialog Items.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The dialog name that this event triggers for; wildcards accepted.
<event> - The dialog event that this event triggers for; wildcards accepted.
<id> - The id name of the dialog item to listen for; wildcards accepted. Multiple IDs can be specified in the form: 1,2,3,4-8,9
<commands> - The commands to be performed when the event listener's criteria is met.

Events

Event | Description
active | Triggers when the dialog is made active.
close | Triggered when a dialog has been closed.
dclick | Occurs when a double left-click has occurred in a list box or combo box, as well as on the dialog itself.
drop | Triggers when an item has been dragged and dropped with the mouse.
edit | When text in an editbox or a combo box has changed.
init | This event ID is 0, and triggers before a dialog is displayed. This allows initialization time for the dialog and its items.
menu | Whenever a menu-item is selected.
mouse | When the mouse is moved.
rclick | Works when the mouse right-clicks.
sclick | Occurs during a single-click in a list box/combo box, during check/uncheck of radio/check buttons, or during the click of a button.
scroll | A scrollbar control position has changed.
uclick | Left mouse button has been released/gone up.


Scripting Sockets

Sockets¶

/socklisten¶

Added in 1.9.0

/socklisten [-dp] [bindip] <name> [port]

Listens on the specified port for connections to that port. If a port is not specified, the port is selected randomly from the range specified in Options -> DCC Options -> Port Range.

Switches

-d - Switch indicates that you specified an ip address as the bind address.
-p - TODO

Parameters

[bindip] - Ip address to bind to. (used with -d)
<name> - Name to give the listening connection.
[port] - Port to listen on.

/sockopen¶

Added in 1.8.10

/sockopen [-den46] [bindip] <name> <address> <port>

Switches

-d - The specified IP address is the bind ip address.
-e - Creates an SSL connection.
-n - Disables the Nagle algorithm.
-t - TODO
-4 - Connect to Ipv4 addresses.
-6 - Connect to Ipv6 addresses.

Parameters

[bindip] - Bind ip to be used.
<name> - Socket connection name.
<address> - Remote ip address to connect to.
<port> - Remote port to connect to.

Example

alias example {
  ;Initiate a connection with "irc.freenode.org" on port 6669, Secured connection.
  /sockopen -e IRC irc.freenode.org +6697
}

on *:sockopen:IRC:{
  ;Send our USER and NICK irc commands.
  /sockwrite -n IRC USER Tester $+ $rand(1,100) Test Test:mSL Testing $+ $crlf
  /sockwrite -n IRC NICK Tester $+ $rand(1,100) $crlf
}

;Show all receiving data in a window.
on *:sockread:IRC:{
  /window -de @IRC
  /var %x
  /sockread %x
  /aline -p @IRC $iif(%x,$v1,-)
}

/sockclose¶

Added in 1.8.10

/sockclose <name>

Closes the connection with the specified name. If you specify a wildcard name, all connections that match the wildcard are closed.

Parameters

<name> - Socket name to close.

/sockread¶

Added in 1.9.0

/sockread [-fn] [numbytes] <%var|&binvar>

Reads bytes from the receive buffer into the specified variable.

If you specify a %var variable, a line of text ending with a Carriage Return/LineFeed is read into %var. The $crlf are stripped off (this may result in %var being $null if the line only consisted of $crlf).

If you specify a &binvar then [numbytes] of info is read into the binary variable. If no [numbytes] is specified it defaults to 4096 bytes.

Switches

-f - Forces AdiIRC to fill the %var variable with whatever text is in the receive buffer, even if it does not end in a $crlf.
-n - allows you to read a $crlf terminated line into a &binvar. If the incoming line does not contain a $crlf, no bytes will be read into &binvar, unless you specify the -f switch, which forces the read (same as when reading into %vars).

Parameters

[numbytes] - Number of bytes to read into &binvar.
<%var|&binvar> - %var or &binvar to read the data into.

/sockwrite¶

Added in 1.8.10

/sockwrite [-tnba] <name> [numbytes] <text|%var|&binvar>

Queues data to be sent on the specified connection. AdiIRC will then try to send that info as quickly as it can. Once it has finished sending the info, it triggers the on sockwrite event so you can send more info if you need to.

You can use a wildcard name to send the same information at once to all connections that match the wildcard.

If the write fails, it will set $sock().wserr to the error value, and triggers the on sockwrite event with $sockerr set.

Switches

-t - Forces AdiIRC to send anything beginning with a & as normal text instead of interpreting it as a binary variable.
-n - Appends a $crlf to the line being sent if it is not a &binvar and if it does not already have a $crlf.
-b - Indicates that you are specifying the numbytes value which is the number of bytes you want sent.
-a - TODO

Parameters

<name> - Name of the connection to send to.
[numbytes] - Number of bytes to send. (used with -b)
<text|%var|&binvar> - Plain text, %var or &binvar to send.

/sockpause¶

Added in 1.9.0

/sockpause [-r] <name>

Pauses/restarts a socket when reading incoming data.

Switches

-r - Restarts a socket instead of pausing.

Parameters

<name> - Socket to modify.

/sockmark¶

Added in 1.9.0

/sockmark <name> [text]

Assigns temporary data to a socket to be referenced later using $sock(<name>).mark. Leaving the [text] parameter $null will clear the socket mark. The sockmark command can be used to assign the same data to multiple sockets using a wildcard pattern.

Parameters

<name> - Socket to mark.
[text] - Text to add to the socket mark.

Example

; Non-functioning example, shows practical usage only
on $*:text:/^!foo (\S+)$/Si:#:{
  ; if ( .. validate input .. ) {
  sockopen sock1 www.example.com 80
  sockmark sock1 $regml(1)
}
on *:sockopen:sock1:{
  ; submit the information we got from the user
  sockwrite -nt $sockname GET /foobar.php?q= $+ sock($sockname).mark HTTP/1.0
  sockwrite -nt $sockname Host: www.example.com
  sockwrite -nt $sockname $crlf
}
; on *:sockread:sock1: {
;    ....
; }

/sockrename¶

Added in 1.9.0

/sockrename <name> <newname>

Assigns a new name to an existing connection.

Parameters

<name> - Socket to rename.
<newname> - New socket name.

/sockaccept¶

Added in 1.9.0

/sockaccept <name>

Accepts the current connection to your listening port and assigns it a name to identify it.

Parameters

<name> - Name to assign the connection.

/sockudp¶

Added in 2.3

/sockudp [-bntkd] [bindip] <name> [port] <ipaddress> <port> [numbytes] [text|%var|&binvar]

Opens a UDP connection to a remote ipaddress/port and sends a UDP packet.

Switches

-b - Indicates that you are specifying the numbytes value which is the number of bytes you want sent.
-n - Appends a $crlf to the line being sent if it is not a &binvar and if it does not already have a $crlf.
-t - Forces AdiIRC to send anything beginning with a & as normal text instead of interpreting it as a binary variable.
-k - Forces the socket to stay open, so it can receive UDP data.
-d - The specified IP address is the bind ip address.

Parameters

[bindip] - Bind ip to be used.
<name> - Socket connection name.
[port] - Bind port to be used.
<ipaddress> - Remote ipaddress to connect to.
<port> - Remote port to connect to.
[numbytes] - Number of bytes to send. (used with -b)
[text|%var|&binvar] - Text, %variable or &binvar to send.

Example

alias gettime {
  ; Set a NULL byte binary variable.
  bset &null 1 0

  ; Open a UDP connection to Time-a.nist.gov = 129.6.15.28
  sockudp -k gettime 129.6.15.28 37 &null
}

on *:udpread:gettime: {

  ; Read the reply.
  sockread -f &time

  var %time $bvar(&time,1,$bvar(&time,0))

  ; Convert to binary, remove spaces.
  var %bin $regsubex(%time, /(\d+)\s?/g, $base(\1, 10, 2, 8))

  ; Get the current unix time in decimal system.
  var %time = $base(%bin, 2, 10)

  ; Print the time and close the socket.
  echo -ag Currnt Time/Date: $asctime($calc(%time - 2208988800), yyyy-mm-dd hh:nn:ss TT)
  sockclose $sockname
}

/socklist¶

Added in 1.9.0

/socklist [-tul] [name]

Lists all matching open sockets.

Switches

-t - Lists only tcp sockets.
-u - Lists only udp sockets.
-l - Lists only listening sockets.

Parameters

[name] - List socket matching name, can be a wildcard.

/bindip¶

Added in 1.9.0

/bindip [on|off] <ipaddress/adapter>

Bind or toggles ip address/network adapter for DCC transfers.

/bindip with no parameters shows current status.

Parameters

on - Sets bind on.
off - Sets bind off.

<ipaddress/adapter>* - IpAddress or Network Adapter to bind to.

Example

;Binds ip to 192.168.0.1
/bindip 192.168.0.1

;Finds local ip address on Local Network Adapter and binds to it.
/bindip Local Network Adapter

;Disable binding.
/bindip off

$sock¶

Added in 1.9.0

$sock(name,[N])

Returns information about a the Nth socket connection.

Parameters

name - Name to lookup, can be a wildcard.
[N} - If N = 0, number of matches, otherwise the Nth match. (optionally)

Properties

.name - Name of the socket.
.addr - Hostname the socket is connected to.
.sent - Number of bytes sent.
.rcvd - Number of bytes received.
.sq - Number of bytes in send queue.
.rq - Number of bytes in receive queue.
.status - Status of the connection: paused/active.
.ip - IP Addresss the socket is connected to.
.port - Port the socket is connected to.
.ls - Number of seconds since the socket last sent data.
.lr - Number of seconds since the socket last received data.
.mark - Socket mark set by /sockmark.
.type - Socket type udp/tcp.
.to - Number of sockets since it was opened.
.wsmsg - Return the last socket error message.
.wserr - Return the last socket error.
.pause - Returns $true if socket is paused, otherwise $false.
.ssl - Returns $true if socket is a SSL connection, otherwise $false.
.sport - Returns the source port from the last received UDP packet.
.saddr - Returns the source address from the last received UDP packet.

Example

; Print number of sockets.
//echo -ag $sock(*, 0)

; Print the first socket.
//echo -ag $sock(*, 1)

$sockbr¶

Added in 1.9.0

$sockbr

Returns the number of bytes read during a on SOCKREAD event.

Example

; Open a socket connection to 'google.com' port '80'.
/sockopen Example www.google.com 80

; Listen for the on SOCKOPEN event.
on *:SOCKOPEN:Example:{
  ; Write a GET request.
  sockwrite -nt $sockname GET / HTTP/1.0
  sockwrite -n $sockname
}

; Listen for the on SOCKREAD event.
on *:SOCKREAD:Example:{
  ; Create a local variable to hold the data.
  var %i

  ; Read the data waiting into the local variable.
  sockread %i

  ; Print number of bytes read.
  echo -ag Read $sockbr bytes.

  ; Close the connection.
  sockclose $sockname
}

$sockerr¶

Added in 1.9.0

$sockerr

Returns any error during a socket command or socket event.

Example

; Open a socket connection to 'google.com' port '80'.
alias Example {
  /sockopen Example www.google.com 80

  ; Check if there was an error.
  if ($sockerr) {
    echo -ag There was an error: $sockerr
    halt
  }
}

; Listen for the on SOCKOPEN event.
on *:SOCKOPEN:Example:{
  ; Write a GET request.
  sockwrite -nt $sockname GET / HTTP/1.0
  sockwrite -n $sockname

  ; Check if there was an error.
  if ($sockerr) {
    echo -ag There was an error: $sockerr
    halt
  }
}

; Listen for the on SOCKREAD event.
on *:SOCKREAD:Example:{
  ; Check if there was an error.
  if ($sockerr) {
    echo -ag There was an error: $sockerr
    halt
  }

  ; Create a local variable to hold the data.
  var %i

  ; Read the data waiting into the local variable.
  sockread %i

  ; Print data read.
  echo -ag Data = %i
}

$sockname¶

Added in 1.9.0

$sockname

Returns the name of a socket during on SOCKCLOSE, on SOCKLISTEN, on SOCKOPEN, on SOCKREAD and on SOCKWRITE events.

Example

; Open a socket connection to 'google.com' port '80'.
/sockopen Example www.google.com 80

; Listen for the on SOCKOPEN event.
on *:SOCKOPEN:*:{
 ; Print the name of the socket.
 echo -ag Sockname is $sockname

 ; Close the socket.
 sockclose $sockname
}

$bindip¶

Added in 1.9.0

$bindip(N|ipaddress)

Returns information off a network adapter.

Parameters

N|ipaddress - If N = 0, returns the total number of active network adapters else the Nth network adapter or a network adapter matching the ipaddress.

Properties

.name - Returns the name of matched network adapter.
.ip - Returns the internal ipaddress associated with the network adapter.
.loopback - Returns $true if the associated internal ipaddress is loopback address otherwise $false.

$portfree¶

Added in 1.9.0

$portfree(N,[ipaddress])

Returns $true if the specified port number is not in use, otherwise $false.

Parameters

N - The port number to check.
[ipaddress] - If specified, only the interface with that IP address is checked for used ports, otherwise all active interfaces are checked. An adapter name can also be used instead of an IP address.

Example

; Check if port 4242 is free.
//echo -ag Port 4242 is $iif($portfree(4242), open, not open)

$iptype¶

Added in 1.9.3

$iptype(text)

Returns "ipv4" or "ipv6" if text is is a valid IP address format.

Parameters

text - The text to validate.

Properties

-expand - Expand a ipv6 address.
.compress - Compress a ipv6 address.

Example

; Check a IPv4 address.
//echo -ag 8.8.8.8 is $iptype(8.8.8.8)

; Check a IPv6 address.
//echo -ag FE80:0000:0000:0000:0202:B3FF:FE1E:8329 is $iptype(FE80:0000:0000:0000:0202:B3FF:FE1E:8329)

on SOCKLISTEN¶

Added in 1.9.0

on <level>:SOCKLISTEN:name:<commands>

Triggers when someone tries to connect to a port that you are listening on using /socklisten.

See also on SOCKOPEN, on SOCKCLOSE, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Listen for requests to port 4242.
/socklisten adiirc 4242

; When someone is connecting, accept the connection.
on *:SOCKLISTEN:adiirc:{
  /sockaccept name
}

on SOCKOPEN¶

Added in 1.9.0

on <level>:SOCKOPEN:<name>:<commands>

Triggers when a /sockopen command is successful and a connection has been made.

See also on SOCKOPEN, on SOCKLISTEN, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

; Open a connection to AdiIRC.com, port 80.
/sockopen adiirc adiirc.com 80

on *:SOCKOPEN:adiirc:echo -ag Connection to AdiIRC successful | sockclose adiirc

on SOCKWRITE¶

Added in 1.9.0

on <level>:SOCKWRITE:name:<commands>

Triggers when AdiIRC has finished sending all of the data that you previously queued for sending or when the socket is ready for more writing.

See also on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, on UDPREAD, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

on SOCKREAD¶

Added in 1.9.0

on <level>:SOCKREAD:name:<commands>

Triggers when there is info waiting to be read on the specified connection.
You can read this info using the /sockread command.

See also on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, on UDPREAD, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Open a connection to AdiIRC.com, port 80.
/sockopen adiirc adiirc.com 80

; Make a request for the index page.
on *:SOCKOPEN:adiirc:{
  sockwrite -n adiirc GET / HTTP/1.0
  sockwrite -n adiirc Host: www.adiirc.com
  sockwrite -n adiirc
}

on *:SOCKREAD:adiirc:{
  var %s
  sockread %s
  echo -ag Read line %s
}

on SOCKCLOSE¶

Added in 1.9.0

on <level>:SOCKCLOSE:name:<commands>

Triggers when a connection is closed by the remote connection. (not by /sockclose)

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

See also on SOCKLISTEN, on SOCKCLOSE, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Example

; Open a connection to AdiIRC.com, port 80.
/sockopen adiirc adiirc.com 80

; Make a request for the index page.
on *:SOCKOPEN:adiirc:{
  sockwrite -n adiirc GET / HTTP/1.0
  sockwrite -n adiirc Host: www.adiirc.com
  sockwrite -n adiirc
}

on *:SOCKCLOSE:adiirc:echo -ag adiirc.com closed the connection

on UDPREAD¶

Added in 2.3

on <level>:UDPREAD:name:<commands>

Triggers when there is info waiting to be read on the specified UDP connection.
You can read this info using the /sockread command.

See also on SOCKREAD, on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, /sockudp, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The UDP $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:udpread:name:{
  if ($sockerr) { echo -s An error occurred while trying to read data: $sock($sockname).wsmsg | return }
  else {
    sockread %a
    echo -s received: %a
  }
}


Scripting Sysinfo

System Information¶

/bw¶

Added in 1.4.6

/bw

Sends download/upload speed to current channel or private window, if a network adapter is chosen in Options -> Sysinfo.

Others¶

/sysinfo
/gfxinfo
/cpuinfo
/meminfo
/diskinfo
/audioinfo
/uptime

$appbits¶

Added in 1.9.2

$appbits

Returns 32 on 32 bit AdiIRC and 64 bit on 64 bit AdiIRC. (Regardless of windows bits, see $osbits for that)

Deprecated see $bits

$audio¶

Added in 1.8.10

$audio

Returns the name first audio card detected by AdiIRC. (may not be your default audio card)

$audio(N)

Returns the name of the Nth audio card detected by AdIIRC.

If N is 0, it will return the count of how many audio cards was detected.

Parameter

N - The Nth audio card.

$battery¶

Added in 2.3

$battery

Returns $true if running on battery, otherwise returns $false.

See also $batteryp.

$batteryp¶

Added in 2.3

$batteryp

If running on battery, returns percentage left, otherwise 100.

See also $battery.

$bwdown¶

Added in 1.5

$bwdown

Returns current download bandwidth speed in human readable format on selected network adapter.

$bwdownb¶

Added in 1.5

$bwdownb

Returns current download bandwidth speed in bytes on selected network adapter.

$bwname¶

Added in 1.5

$bwname

Return network adapter name of the network adapter to monitor bandwidth, if no network adapter is defined, returns $null.

This can be chosen in Options -> Sysinfo -> Network Adapter.

$bwrec¶

Added in 1.9.2

$bwrec

Returns numbers of bytes received in human readable format on selected network adapter.

$bwrecb¶

Added in 1.9.3

$bwrecb

Returns numbers of bytes received in byte format on selected network adapter.

$bwsent¶

Added in 1.9.2

$bwsent

Returns numbers of bytes sent in human readable format on selected network adapter.

$bwsentb¶

Added in 1.9.3

$bwsentb

Returns numbers of bytes sent in byte format on selected network adapter.

$bwspeed¶

Added in 1.5

$bwspeed

Returns the connection (LAN) speed on selected network adapter.

$bwup¶

Added in 1.5

$bwup

Returns current upload bandwidth speed in human readable format on selected network adapter.

$bwupb¶

Added in 1.5

$bwupb

Returns current upload bandwidth speed in bytes on selected network adapter.

$cpucache¶

Added in 1.5

$cpucache

Returns cpu cache in bytes for 1 core.

$cpucount¶

Added in 1.5

$cpucount

Returns numbers of cpu's and cores.

$cpuident¶

Added in 1.5

$cpuident

Returns cpu identifier.

$cpuload¶

Added in 1.8.10

$cpuload

Returns cpu load in percent.

Can take a while to return a value/freeze on first use.

$cpumhz¶

Added in 1.5

$cpumhz

Returns cpu frequency in megahertz.

$cpuname¶

Added in 1.5

$cpuname

Returns cpu name.

$cpuvendor¶

Added in 1.8.10

$cpuvendor

Returns cpu vendor identifier.

$diskfree¶

Added in 1.5

$diskfree

Returns total free disk space from all drives in human readable format.

$disktotal¶

added in 1.5

$disktotal

Returns total disk space from all drives in human readable format.

$dotnet¶

Added in 1.9.2

$dotnet

Returns the .NET (dotnet) version AdiIRC is running on.

$gfx¶

Added in 1.6

$gfx

Returns the name of the first graphics card found.

Might not be the default graphics card.

gfx(N)

Returns the name of the Nth graphics card found.

Parameters

N - If N = 0, number of graphics cards, otherwise the Nth graphics card.

Example

; Print number of graphics cards.
//echo -ag $gfx(0)

; Print the name of the first graphics cards.
//echo -ag $gfx(1)

$gfxram¶

Added in 1.6

$gfxram

Returns the amount of vram in megabytes from the first graphics card found.

Might not be the default graphics card.

gfxram(N)

Returns the amount of vram in megabytes from the Nth graphics card found.

Parameters

N - If N = 0, number of graphics cards, otherwise the Nth graphics card.

Example

; Print number of graphics cards.
//echo -ag $gfxram(0)

; Print vram of the first graphics cards.
//echo -ag $gfxram(1)

$lag¶

Added in 1.9.0

$lag

Returns connection lag to current active IRC server in milliseconds.

$memfree¶

Added in 1.6

$memfree

Returns free ram in megabytes format.

$memfreep¶

Added in 1.6

$memfreep

Returns free ram in percentage format.

$memtotal¶

Added in 1.6

$memtotal

Returns total amount of installed ram in megabytes format.

$motherboard¶

Added in 1.9.0

$motherboard

Returns the motherboard manufacturer and version name.

$os¶

Added in 1.9.0

$os

Returns the version number of the operating system.

$osbits¶

Added in 1.9.7

$osbits

Returns "32" on 32 bit windows, and "64" on 64 bit version of windows.

$osbuild¶

Added in 1.8.10

$osbuild

Returns the windows build number.

$osedition¶

Added in 1.8.10

$osedition

Returns the windows edition.

$osidle¶

Added in 1.9.7

$osidle

Returns number of seconds since last keystroke or mouse movement.

Example

/timer 1 5 echo -ag Computer has been idle for $osidle seconds

$osinstalldate¶

Added in 1.9.1

$osinstalldate

Returns the date windows was installed in unix timestamp format.

$osmajor¶

Added in 1.8.10

$osmajor

Returns the major windows version number.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx

$osminor¶

Added in 1.8.10

$osminor

Returns the minor windows version number.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx

$osname¶

Added in 1.8.10

$osname

Returns the name of the windows version. (Windows 7, Windows 8 etc)

$osservicepack¶

Added in 1.8.10

$osservicepack

Returns the windows service pack version.

$osversion¶

Added in 1.5

$osversion

Returns the version number of the operating system.

$screen¶

Added in 1.8.2

$screen

Returns the name of the first screen found.

$screen(N)

Returns the name of the Nth screen found.

Parameters

N - If N = 0, the number of screens found, otherwise the Nth screen.

Example

; Print number of screens.
//echo -ag $screen(0)

; Print the name of the first screen found.
//echo -ag $screen(1)

$screenb¶

Added in 1.8.2

$screenb

Returns the bit depth of the first screen found.

$screenb(N)

Returns the bit depth of the Nth screen found.

Parameters

N - If N = 0, the number of screens found, otherwise the Nth screen.

Example

; Print number of screens.
//echo -ag $screenb(0)

; Print the bith depth of the first screen found.
//echo -ag $screenb(1)

$screenh¶

Added in 1.8.2

$screenh

Returns the height of the first screen found.

$screenh(N)

Returns the height of the Nth screen found.

Parameters

N - If N = 0, the number of screens found, otherwise the Nth screen.

Example

; Print number of screens.
//echo -ag $screenh(0)

; Print the height of the first screen found.
//echo -ag $screenh(1)

$screenhz¶

Added in 2.3

$screenhz

Returns the refresh rate of the first screen found.

$screenhz(N)

Returns the refresh rate of the Nth screen found.

Parameters

N - If N = 0, the number of screens found, otherwise the Nth screen.

Example

; Print number of screens.
//echo -ag $screenhz(0)

; Print the refresh rate of the first screen found.
//echo -ag $screenhz(1)

$screenw¶

Added in 1.8.2

$screenw

Returns the width of the first screen found.

$screenw(N)

Returns the width of the Nth screen found.

Parameters

N - If N = 0, the number of screens found, otherwise the Nth screen.

Example

; Print number of screens.
//echo -ag $screenw(0)

; Print the width of the first screen found.
//echo -ag $screenw(1)

$uphours¶

Added in 1.6

$uphours

Hours since computer was last (re)started.

$upmins¶

Added in 1.6

$upmins

Minutes since computer was last (re)started.

$uptime¶

Added in 1.9.6

$uptime

Returns connection time in seconds for the associated server connection.

Added in 1.9.2

$uptime(mirc|AdiIRC|server|system, N)

Returns uptime in milliseconds for the specified item.

Parameters

mirc|AdiIRC|server|system - Item to retrieve uptime for.
N - Optional, if N = 1 returns same format as $duration, if N = 2 returns same format as $duration but without seconds, and if N = 3 returns seconds instead of milliseconds.

Example

; Current connection uptime.
//echo -ag Server has been connected $uptime seconds

; AdiIRC uptime.
//echo -ag AdiIRC has been connected $uptime(AdiIRC, 1)


Scripting Now Playing

Now Playing¶

/np¶

Added in 1.5

/np [nick]

Will show what your current media player is playing (if enabled).

If nick is defined, it will show an emote on that nick based on the options set in Options -> Media player.

Parameters

[nick] - Nick to show a now playing emote on.

/vol¶

Added in 1.9.0

/vol -mpuNvw [volume]

Sets the volume on your system for waves, midis, and mp3s (same as waves)

Switches

-m - Midi.
-p - Mp3.
-uN - Sets mute setting; 1 = on, 2 = off.
-v - Mp3 (Should be master TODO)
-w - Wave.

Parameters

[volume] - Volume. (0 to 65535)

Examples

;Turn on mute
/vol -vu1

/wdown¶

Added in 1.5

/wdown

Tells media player to turn volume down.

Only works with iTunes/MediaMonkey/Winamp/Spotify.

/wjump¶

Added in 1.5

/wjump <position>

Tells media player to jump to position in the playlist.

Only works with iTunes/MediaMonkey/Winamp.

Parameters

<position> - Numeric position to jump to.

/wnext¶

Added in 1.5

/wnext

Tells media player to play next song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.

/wpause¶

Added in 1.5

/wpause

Tells media player to pause a song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.

/wplay¶

Added in 1.5

/wplay

Tells media player to start playing a song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.

/wprev¶

Added in 1.5

/wprev

Tells media player to play previous song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.

/wsearch¶

Added in 1.5

/wsearch <search term>

Searches through media player playlist for search term and prints result.

Only works with iTunes/MediaMonkey/Winamp.

Parameters

<search term> - Search term to find.

/wseekf¶

Added in 1.5

/wseekf

Tells media player to seek forward in a song.

Only works with iTunes/MediaMonkey/Winamp.

/wseekr¶

Added in 1.5

/wseekr

Tells media player to seek reverse in a song.

Only works with iTunes/MediaMonkey/Winamp.

/wselect¶

Added in 1.5

/wselect <search term>

Plays first hit from a search through media player playlist for search term.

Only works with iTunes/MediaMonkey/Winamp.

Parameters

<search term> - Search term to find and play.

/wstop¶

Added in 1.5

/wstop

Tells media player to stop playing a song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.

/wup¶

Added in 1.5

/wup

Tells media player to turn volume up.

Only works with iTunes/MediaMonkey/Winamp/Spotify.

$album¶

Added in 1.8.10

$album

Returns the album of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$bitrate¶

Added in 1.8.10

$bitrate

Returns the bitrate of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$comment¶

Added in 1.8.10

$comment

Returns the comment field of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$frequency¶

Added in 1.8.10

$frequency

Returns the mpeg frequency of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$fulltitle¶

Added in 1.8.10

$fulltitle

Returns the full title of the currently playing song, usually in $artist - $title format.

$layer¶

Added in 1.8.10

$layer

Returns the mpeg layer of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$length¶

Added in 1.8.10

$artist

Returns the length of the currently playing song in XX:XX format.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$percentl¶

Added in 1.8.10

$percentl

Returns the percent left of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$percentp¶

Added in 1.8.10

$percentp

Returns the percent played of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$playcount¶

Added in 1.8.10

$playcount

Returns the play counter of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$player¶

Added in 1.8.10

$player

Returns the current selected media player.

$position¶

Added in 1.8.10

$position

Returns the playlist position of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$progress¶

Added in 1.8.10

$progress

Returns a text progress bar (**---) of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$rating¶

Added in 1.8.10

$rating

Returns the track rating (**---) of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$size¶

Added in 1.8.10

$size

Returns the filesize of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$song¶

Added in 1.8.10

$song

Returns the full title of the currently playing song, usually in $artist - $title format.

$songfile¶

Added in 2.7

$songfile

Returns the full file path of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$title¶

Added in 1.8.10

$title

Returns the title of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$totaltracks¶

Added in 1.8.10

$totaltracks

Returns the total track count of the currently selected playlist.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$track¶

Added in 1.8.10

$track

Returns the track number of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$volume¶

Added in 1.8.10

$volume

Returns the volume in percent of the current selected media player.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$volumeb¶

Added in 1.8.10

$volumeb

Returns a text volume bar (**---) of the currently selected media player.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$volumep¶

Added in 1.8.10

$volumep

Returns the volume in percent of the current selected media player.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.

$year¶

Added in 1.8.10

$year

Returns the year of the currently playing song.

Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.


On RAW

Added in 1.9.0

RAW <numeric|text>:<matchtext>:<commands>

Triggers whenever AdiIRC receives a raw numeric or text event.

Parameters

<numeric|text> - Numeric or text event to listen to.
<matchtext> - Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

RAW 001:*:echo -ag Raw 001 is $1-

RAW CAP:LS *:echo -ag CAP prefixes on this server are $1-


On CTCP

Added in 1.9.0

CTCP <level>:<matchtext>:<*|#|?>:<commands>

Triggers whenever you receive a CTCP request.

See also /ctcp, /ctcpreply, on CTCPREPLY.

Parameters

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Disable CTCP version reply.
CTCP *:VERSION:*:halt

; Reply with a custom version.
CTCP *:VERSION:*:ctcpreply $nick IRC Version 42 | halt


On ADMIN

Added in 2.0

on <level>:ADMIN:<#|*>:<commands>

Triggers when a user receives admin.

See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $admnick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:ADMIN:#:echo -ag $nick just gave $admnick admin


On ACTION

Added in 1.8.10

on <level>:ACTION:<matchtext>:<*|#|?>:<commands>

Triggers whenever a action message is received.

See also on TEXT, on NOTICE.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:ACTION:*:*:echo -ag Action message $1- from $nick.


On ACTIVE

Added in 1.9.0

on <level>:ACTIVE:<*#?=!@~>:<commands>

Triggers when a window in AdiIRC is activated or when its active status changes.

See also on APPACTIVE, $active, $lactive, $activecid, $lactivecid, $activewid, $lactivewid.

Parameters

<level> - The User Access Level for the event to trigger.
<*#?=!@~> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Listen to ACTIVE event, print new active window and previously active window.
on *:ACTIVE:*:echo Activated: $active De-Activated: $lactive


On BAN

Added in 1.9.0

on <level>:BAN:<#|*>:<commands>

Trigger when a user on a channel is banned.

See also on UNBAN, $banmask, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:BAN:#:echo -ag $nick just banned $banmask from $chan


On CHAT

Added in 1.9.0

on <level>:CHAT:<matchtext>:<commands>

Trigger when a message is sent to a dcc chat window.

See also =$nick.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:CHAT:*:echo -ag $nick sent message $1-


On CLIENTTEXT

Added in 1.9.6

on <level>:CLIENTTEXT:<matchtext>:<*#?=!@>:<commands>

Triggers whenever the client sends a client text to any window, $1- will hold the original client text, can be halted using /halt.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*#?=!@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:CLIENTTEXT:*:*:echo -ag the client text was $1-


On CLOSE

Added in 1.9.0

on <level>:CLOSE:<?|@|=|!|*>:<commands>

For DCC Chat windows, it only triggers when the connection is closed.

Trigger for various events relating to the closing of a window of different types of windows.

See also on OPEN.

Parameters

<level> - The User Access Level for the event to trigger.
- The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Print a message when a query window is closed.
on *:CLOSE:?:*:echo -ag Closed query window for $nick


On CONNECT

Added in 1.9.0

on <level>:CONNECT:<commands>

Triggers when AdiIRC connects to an IRC Server right after the MOTD is displayed.

See also on DISCONNECT, on CONNECTFAIL.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:CONNECT:/join #channel

on *:CONNECT:echo -ag Now connected to $network


On CONNECTFAIL

Added in 1.9.0

on <level>:CONNECTFAIL:<commands>

Triggers when a connection attempt (including all retries) has failed.

See also on CONNECT, on DISCONNECT.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:CONNECTFAIL:echo -ag Unable to connect to $network $1-


On CTCPREPLY

Added in 1.9.0

on <level>:CTCPREPLY:<matchtext>:<commands>

Triggers when you receive a ctcp reply to a /ctcp request that you initiated.

See also on CTCP, /ctcp, /ctcpreply.

Parameters

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Listen for CTCPREPLY events matching 'VERSION*' and print the reply.
on *:CTCPREPLY:VERSION*:/echo -ag $nick is using IRC client: $1-

; Send a ctcp request 'VERSION' to 'Nick'
/ctcp Nick VERSION


On DEADMIN

Added in 2.0

on <level>:DEADMIN:<#|*>:<commands>

Triggers when a user loses admin.

See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $admnick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:DEADMIN:#:echo -ag $nick just removed $admnick as admin


On DEHELP

Added in 1.9.0

on <level>:DEHELP:<#|*>:<commands>

Triggers when a user loses help op.

See also on HELP, on VOICE, on DEVOICE, on OP, on DEOP, on SERVEROP, $hnick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:DEHELP:#:echo -ag $nick just deopped $hnick


On DEOP

Added in 1.9.0

on <level>:DEOP:<#|*>:<commands>

Triggers when a user is deopped.

See also on OP, on VOICE, on DEVOICE, on HELP, on DEHELP, on SERVEROP, $opnick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:DEOP:#:echo -ag $nick just deopped $opnick


On DEOWNER

Added in 2.0

on <level>:DEOWNER:<#|*>:<commands>

Triggers when a user loses owner.

See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $onick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:DEOWNER:#:echo -ag $nick just removed $onick as owner


On DEVOICE

Added in 1.9.0

on <level>:DEVOICE:<#|*>:<commands>

Triggers when a user loses voice.

See also on VOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $vnick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:DEVOICE:#:echo -ag $nick just removed $vnick voice


On DIALOG

Added in 1.9.0

on <level>:DIALOG:<name>:<event>:<id>

Triggers when a dialog item state is changed, e.g clicking a button or types text in a Editbox.

See also $dname, $devent, $did, /dialog, $dialog, Dialog Items.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The dialog name that this event triggers for; wildcards accepted.
<event> - The dialog event that this event triggers for; wildcards accepted.
<id> - The id name of the dialog item to listen for; wildcards accepted. Multiple IDs can be specified in the form: 1,2,3,4-8,9
<commands> - The commands to be performed when the event listener's criteria is met.

Events

Event | Description
active | Triggers when the dialog is made active.
close | Triggered when a dialog has been closed.
dclick | Occurs when a double left-click has occurred in a list box or combo box, as well as on the dialog itself.
drop | Triggers when an item has been dragged and dropped with the mouse.
edit | When text in an editbox or a combo box has changed.
init | This event ID is 0, and triggers before a dialog is displayed. This allows initialization time for the dialog and its items.
menu | Whenever a menu-item is selected.
mouse | When the mouse is moved.
rclick | Works when the mouse right-clicks.
sclick | Occurs during a single-click in a list box/combo box, during check/uncheck of radio/check buttons, or during the click of a button.
scroll | A scrollbar control position has changed.
uclick | Left mouse button has been released/gone up.


On DISCONNECT

Added in 1.9.0

on <level>:DISCONNECT:<commands>

Triggers when you quit or AdiIRC disconnects from a IRC Server.

See also on CONNECT, on CONNECTFAIL.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:DISCONNECT:echo -ag Disconnected from $network


On DOWNLOAD

Added 2.3

on <level>:DOWNLOAD:name:<commands>

Triggers when a download is finished.

See also /download, $download, $downloaderr.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $download name to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Download the url 'https://adiirc.com/setup64.exe' to the file 'setup.exe'.
/download adiirc https://adiirc.com/setup64.exe setup.exe

on *:DOWNLOAD:adiirc:echo -ag Download of $download($download).file is complete.


On DNS

Added in 1.9.0

on <level>:DNS:<commands>

Triggers when a /dns query either succeeds or fails.

See also $dns, /dns.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Lookup a IP address.
/dns 8.8.8.8

; Listen to the DNS event and print the results from the lookups.
on *:DNS:{
var %n = $dns(0)
 echo 4 Found %n addresses
 while (%n > 0) {
   echo 4 dns: $dns(%n) nick: $dns(%n).nick addr: $dns(%n).addr ip: $dns(%n).ip
   dec %n
 }
}


On ERROR

Added in 1.8.10

on <level>:ERROR:<matchtext>:<commands>

Triggers when an IRC Server sends an ERROR message, this usually occurs on a disconnect.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:ERROR:*:echo -ag Received error: $1- from the server


On EXIT

Added in 1.9.0

on <level>:EXIT:<commands>

Triggers when AdiIRC is closing.

See also on START.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:EXIT:echo -ag AdiIRC is closing.


On FILERCVD

Added in 1.9.9

on <level>:FILERCVD:<filename[,filename]>:<commands>

Triggers when a dcc get succeeds.

See also on FILESENT, on SENDFAIL, on GETFAIL, $filename, $get.

$get($nick) and $get(-1) can be used to retrieve dcc information about this event.

Parameters

<level> - The User Access Level for the event to trigger.
<filename[,filename]> - Filename(s) to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:FILERCVD*:echo -ag Got $filename from $nick $address


On FILESENT

Added in 1.9.9

on <level>:FILESENT:<filename[,filename]>:<commands>

Triggers when a dcc send succeeds.

See also on FILERCVD, on SENDFAIL, on GETFAIL, $filename, $send.

$send($nick) and $send(-1) can be used to retrieve dcc information about this event.

Parameters

<level> - The User Access Level for the event to trigger.
<filename[,filename]> - Filename(s) to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:FILESENT:*:echo -ag Sent $filename to $nick $address


On GETFAIL

Added in 1.9.9

on <level>:GETFAIL:<filename[,filename]>:<commands>

Triggers when a dcc get fails.

See also on FILESENT, on FILERCVD, on SENDFAIL, $filename, $get.

$get($nick) and $get(-1) can be used to retrieve dcc information about this event.

Parameters

<level> - The User Access Level for the event to trigger.
<filename[,filename]> - Filename(s) to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:GETFAIL:*:echo -ag Get $filename from $nick $address failed


On HELP

Added in 1.9.0

on <level>:HELP:<#|*>:<commands>

Triggers when a user receives help op.

See also on DEHELP, on VOICE, on DEVOICE, on OP, on DEOP, on SERVEROP, $hnick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:HELP:#:echo -ag $nick just opped $hnick


On HOTLINK

Added in 1.9.0

on <level>:HOTLINK:<matchtext>:<*|#|?|=|!|@>:<commands>

Triggers when you move your mouse over a specific word in a line of text in a window.

See also /hotlink, $hotlink, $hotline, $hotlinepos, Mouse Events.

Parameters

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?|=|!|@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:HOTLINK:*help*:#:{
  if ($1 == helpme) return
    halt
}

on *:HOTLINK:*:*:echo clicked word $1 in line $hotline $hotlinepos


On INPUT

Added in 1.9.0

on <level>:INPUT:<*|#|?|=|!|@>:<commands>

Triggers when you enter text in an Editbox and press enter.

See also $ctrlenter.

Haltable.

Parameters

<level> - The User Access Level for the event to trigger.
<*|#|?|=|!|@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:INPUT:#:echo -ag Sending the text $1- to channel $chan


On INVITE

Added in 1.8.10

on <level>:INVITE:<#|*>:<commands>

Triggers when a user invites you to a channel.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *: INVITE:#:echo -ag $nick just invited you to join $chan


On JOIN

Added in 1.8.10

on <level>:JOIN:<#|*>:<commands>

Triggers when a user joins a channel.

See also on PART, /join.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:JOIN:*:echo -ag $nick joined $chan

; Override the join event to print a custom text and then tell AdiIRC to ignore it's own text.
on ^*:JOIN:*:{
  echo -tcbf join $chan * $nick ( $+ $fulladdress $+ ) join $chan
  halt
}


On KEYDOWN

Added in 1.9.2

on <level>:KEYDOWN:<*#?=!@>:<key,...,keyN>:<commands>

Trigger when a user presses a key in a window, can be used to override built-in key-binds.

See also on KEYUP, $keyval, $keychar, $keyrpt.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<*#?=!@> - The Matchtarget to listen to.
<key,...,keyN> - The $keyval to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:KEYDOWN:*:*:echo -ag Pressed key $keyval in $active


On KEYUP

Added in 1.9.2

on <level>:KEYUP:<*#?=!@>:<key,...,keyN>:<commands>

Trigger when a user releases a key in a window.

See also on KEYDOWN, $keyval, $keychar, $keyrpt.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<*#?=!@> - The Matchtarget to listen to.
<key,...,keyN> - The $keyval to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:KEYUP:*:*:echo -ag Released key $keyval in $active


On KICK

Added in 1.8.10

on <level>:KICK:<#|*>:<commands>

Triggers when a user is kicked from a channel.

See also /kick, $knick.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:KICK:*:echo -ag $nick was kicked from $chan by $knick


On LOAD

Added in 1.8.10

on <level>:LOAD:<commands>

Triggers the first time a script file is loaded.

See also /load, /reload, /unload, on START, on UNLOAD.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Create a init alias.
alias -l initscript {
  ; Set the %loaded variable to 'on'
  set %loaded on
}

; Listen for the LOAD event, and when matched, run this initscript alias.
on *:LOAD:initscript | echo -ag Script is $iif(%loaded,loaded,not loaded)


On LOGON

Added in 1.9.1

on <level>:LOGON:*:<commands>

Triggers before and after AdiIRC sends the standard PASS, NICK, and USER messages to the server.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Listen for LOGON event before AdiRC sends PASS, NICK, USER messages.
on ^*:LOGON:*:echo Logging on to $network $server

; Listen for LOGON after AdiRC sent PASS, NICK, USER messages.
on *:LOGON:*:echo Logged on to $network $server


On MIDIEND

Added in 2.4

on <level>:MIDIEND:<commands>

Triggers when AdiIRC finishes playing a midi sound.

See also /splay, on MP3END, on WAVEEND, on SONGEND, $filename.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:MIDIEND:echo -ag Song $filename finished playing.


On MODE

Added in 1.8.10

on <level>:MODE:<#|*>:<commands>

Triggers when a user changes a channel mode.

See also $mode, on RAWMODE, on SERVERMODE, on OWNER, on DEOWNER, on ADMIN, on DEADMIN, on OP, on DEOP, on HELP, on DEHELP, on VOICE, on DEVOICE, on BAN, on UNBAN.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<#|*>: - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:MODE:*:echo -ag $nick changed channel modes $1- on channel $chan


On MP3END

Added in 1.9.6

on <level>:MP3END:<commands>

Triggers when AdiIRC finishes playing a mp3 sound.

See also /splay, on MIDIEND, on WAVEEND, on SONGEND, $filename.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:MP3END:echo -ag Song $filename finished playing.


On MSCROLL

Added in 2.7

on <level>:MSCROLL:<*#?=!@>:<commands>

Triggers when a user scrolls the message buffer in a window.

See also /scrolltext, $window.mscrollpos, $window.mscrollmax.

Parameters

<level> - The User Access Level for the event to trigger.
<*#?=!@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:mscroll:#:{
  if ($window($active).mscrollpos == 1) {
    echo -sg scrollbar for $active is at top
  }
  else if ($window($active).mscrollpos == $window($active).mscrollmax) {
    echo -sg scrollbar for $active is at bottom
  }
}


On NICK

Added in 1.8.10

on <level>:NICK:<commands>

Triggers when a user changes nickname while on the same channel as you.

See also $newnick.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:NICK:echo -ag $nick is now known as $newnick


On NOTICE

Added in 1.8.10

on <level>:NOTICE:<matchtext>:<*|#|?>:<commands>

Triggers whenever a notice message is received.

See also on SNOTICE, on TEXT, on ACTION.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:NOTICE:*:#:echo -ag Notice $1- from $nick on channel $chan


On NOTIFY

Added in 1.9.0

on <level>:NOTIFY:<commands>

Trigger when a user in your notify list joins IRC.

See also on UNOTIFY, /notify, $notify.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:NOTIFY:echo -ag $nick just came online


On OP

Added in 1.9.0

on <level>:OP:<#|*>:<commands>

Triggers when a user is opped.

See also on DEOP, on VOICE, on DEVOICE, on HELP, on DEHELP, on SERVEROP, $opnick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:OP:#:echo -ag $nick just opped $opnick


On OPEN

Added in 1.9.0

on <level>:OPEN:<?|=|!|*>:<matchtext>:<commands>
on <level>:OPEN:<?|=|!|*>:<commands>

For DCC Chat windows, the <matchtext> parameter is excluded, and it triggers only on successful connection.

Trigger for various events relating to the opening of a window of different types of windows.

Note: If you halt an on OPEN event triggered by an incoming private message, no on TEXT/on ACTION events is triggered

See also on CLOSE.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
- The Matchtarget to listen to.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Print a message when a query window is opened.
on *:OPEN:?:*:echo -ag Opened query window for $nick


On OPTIONS

Added in 1.9.3

on <level>:OPTIONS:<commands>

Triggers whenever the config file is reloaded.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:OPTIONS:echo -ag Config file was reloaded


On OWNER

Added in 2.0

on <level>:OWNER:<#|*>:<commands>

Triggers when a user receives owner.

See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $onick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:OWNER:#:echo -ag $nick just gave $onick owner


On PARSELINE

Added in 1.9.7

on <level>:PARSELINE:<in|out|*>:matchtext:<commands>

Triggers before incoming/outgoing server lines are received/sent and allows a script to modify them.

See also /parseline, $parsetype, $parseline.

Parameters

<level> - The User Access Level for the event to trigger.
<in|out|*> - Listen to in/out messages or both.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:PARSELINE:in:*badword*:/parseline -it $replace($parseline, badword, newword)


On PART

Added in 1.8.10

on <level>:PART:<#|*>:<commands>

Triggers when a user parts a channel.

See also on JOIN, /part.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:PART:*:echo -ag $nick parted $chan

; Override the part event to print a custom text and then tell AdiIRC to ignore it's own text.
on ^*:PART:*:{
  echo -tcbf part $chan * $nick ( $+ $fulladdress $+ ) parts $chan
  halt
}


On PING

Added in 1.9.9

on <level>:PING:<commands>

Triggers when a server sends you a PING message to see if you are still connected.

See also on PONG.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:PING:/echo -ag $nick sent me a PING


On PONG

Added in 1.9.9

on <level>:PONG:<commands>

Triggers when you receive a PONG reply from the server after sending it a ping.

See also on PING.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:PONG:/echo -ag PONG reply from $nick is $1-


On QUIT

Added in 1.8.10

on <level>:QUIT:<commands>

Triggers when a user quits IRC while on the same channel as you.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:QUIT:echo -ag $nick just quit IRC with quit message $1-


On RAWMODE

Added in 1.9.0

on <level>:RAWMODE:<#|*>:<commands>

Triggers when a channel mode is changed.
Allows a script to intercept and interpret the modes of a channel directly, avoiding AdiIRC's messages and notifications altogether.

See also $mode, on SERVERMODE, on MODE, on OWNER, on DEOWNER, on ADMIN, on DEADMIN, on OP, on DEOP, on HELP, on DEHELP, on VOICE, on DEVOICE, on BAN, on UNBAN.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on ^*:RAWMODE:*: {
  echo $target * RAWMODE: $1-
  haltdef
}


On RESUME

Added in 2.0

on <level>:RESUME:<commands>

Triggers when the computer is about to resume from suspend/sleep.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:RESUME:echo -ag Computer is about to resume.


On SENDFAIL

Added in 1.9.9

on <level>:SENDFAIL:<filename[,filename]>:<commands>

Triggers when a dcc send fails.

See also on FILESENT, on FILERCVD, on GETFAIL, $filename, $send.

$send($nick) and $send(-1) can be used to retrieve dcc information about this event.

Parameters

<level> - The User Access Level for the event to trigger.
<filename[,filename]> - Filename(s) to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:SENDFAIL:*:echo -ag $filename to $nick $address failed


On SERVERMODE

Added in 1.9.0

on <level>:SERVERMODE:<#|*>:<commands>

Triggers when a server changes a channel mode.

See also on MODE, on RAWMODE.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*>: - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:SERVERMODE:*:echo -ag $nick changed channel modes $1- on channel $chan


On SERVEROP

Added in 2.8

on <level>:SERVEROP:<#|*>:<commands>

Triggers when a user is opped by a server.

See also on DEOP, on VOICE, on DEVOICE, on HELP, on DEHELP, on OP, $opnick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:SERVEROP:#:echo -ag $nick just opped $opnick


On SIGNAL

Added in 1.9.0

on <level>:SIGNAL:<name/matchtext>:<commands>

Triggers if a script has used the /signal command to send a signal to all scripts.

See also /signal, $signal.

Parameters

<level> - The User Access Level for the event to trigger.
<name/matchtext> - The signal name/matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Listen to the signal name 'test'.
on *:SGNAL:test:echo -ag Signal $signal was called with parameters $1-

; Call the signal 'test' with the text 'Hello world'
/signal test Hello world


On SNOTICE

Added in 1.9.0

on <level>:SNOTICE:<matchtext>:<commands>

Triggers whenever a server notice message is received.

See also on NOTICE.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:SNOTICE:*:echo -ag Notice $1- from $nick


On SOCKCLOSE

Added in 1.9.0

on <level>:SOCKCLOSE:name:<commands>

Triggers when a connection is closed by the remote connection. (not by /sockclose)

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

See also on SOCKLISTEN, on SOCKCLOSE, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Example

; Open a connection to AdiIRC.com, port 80.
/sockopen adiirc adiirc.com 80

; Make a request for the index page.
on *:SOCKOPEN:adiirc:{
  sockwrite -n adiirc GET / HTTP/1.0
  sockwrite -n adiirc Host: www.adiirc.com
  sockwrite -n adiirc
}

on *:SOCKCLOSE:adiirc:echo -ag adiirc.com closed the connection


On SOCKLISTEN

Added in 1.9.0

on <level>:SOCKLISTEN:name:<commands>

Triggers when someone tries to connect to a port that you are listening on using /socklisten.

See also on SOCKOPEN, on SOCKCLOSE, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Listen for requests to port 4242.
/socklisten adiirc 4242

; When someone is connecting, accept the connection.
on *:SOCKLISTEN:adiirc:{
  /sockaccept name
}


On SOCKOPEN

Added in 1.9.0

on <level>:SOCKOPEN:<name>:<commands>

Triggers when a /sockopen command is successful and a connection has been made.

See also on SOCKOPEN, on SOCKLISTEN, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

; Open a connection to AdiIRC.com, port 80.
/sockopen adiirc adiirc.com 80

on *:SOCKOPEN:adiirc:echo -ag Connection to AdiIRC successful | sockclose adiirc


On SOCKREAD

Added in 1.9.0

on <level>:SOCKREAD:name:<commands>

Triggers when there is info waiting to be read on the specified connection.
You can read this info using the /sockread command.

See also on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, on UDPREAD, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Open a connection to AdiIRC.com, port 80.
/sockopen adiirc adiirc.com 80

; Make a request for the index page.
on *:SOCKOPEN:adiirc:{
  sockwrite -n adiirc GET / HTTP/1.0
  sockwrite -n adiirc Host: www.adiirc.com
  sockwrite -n adiirc
}

on *:SOCKREAD:adiirc:{
  var %s
  sockread %s
  echo -ag Read line %s
}


On SOCKWRITE

Added in 1.9.0

on <level>:SOCKWRITE:name:<commands>

Triggers when AdiIRC has finished sending all of the data that you previously queued for sending or when the socket is ready for more writing.

See also on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, on UDPREAD, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.


On SONG

Added in 1.9.0

on <level>:SONG:<commands>

Triggers when the chosen media player changes song.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:SONG:msg #channel I am now listening to $artist - $title


On SONGEND

Added in 2.4

on <level>:SONGEND:<commands>

Triggers when AdiIRC finishes playing any sound.

See also /splay, on MP3END, on WAVEEND, on MIDIEND, $filename.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:SONGEND:echo -ag Song $filename finished playing.


On START

Added in 1.9.0

on <level>:START:<commands>

Triggers the first time a script is loaded and every time after that when AdiIRC is run.

See also on EXIT, /load, /reload, /unload, on LOAD, on UNLOAD.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Create a init alias.
alias -l initscript {
  ; Set the %loaded variable to 'on'
  set %loaded on
}

; Listen for the START event, and when matched, run this initscript alias.
on *:START:initscript | echo -ag Script is $iif(%loaded,loaded,not loaded)


On SUSPEND

Added in 2.0

on <level>:SUSPEND:<commands>

Triggers when the computer is about to suspend/sleep.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:SUSPEND:echo -ag Computer is about to suspend.


On TABCOMP

Added in 1.9.0

on <level>:TABCOMP:<*#?=!@>:<commands>

Triggers when you press the TAB key in an Editbox and AdiIRC is about to perform tab completion.

Haltable using ^

See also $editbox, /editbox.

Parameters

<level> - The User Access Level for the event to trigger.
<*#?=!@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:TABCOMP:#:/echo event: Tab completing text $1-


On TEXT

Added in 1.8.10

on <level>:TEXT:<matchtext>:<*|#|?>:<commands>

Triggers whenever a message is received.

See also on ACTION, on NOTICE.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:TEXT:*:#:echo -ag Message $1- from $nick on channel $chan

; Override the text event to print a custom text and then tell AdiIRC to ignore it's own text.
on ^*:TEXT:*:*:{
  echo -tbf $target $+(<,$nick,>:) $1-
  halt
}

; Ignore all messages containing badword on all channels.
on ^*:TEXT:*badword*:*:halt

; Ignore all messages starting with !badword on a specific channel.
on ^*:TEXT:!badword*:#channel:halt


On TOPIC

Added in 1.8.10

on <level>:TOPIC:<#|*>:<commands>

Triggers when the channel topic is changed.

See also /topic, $topic.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:TOPIC:*:echo -ag $nick changed topic on $chan to $topic


On UDPREAD

Added in 2.3

on <level>:UDPREAD:name:<commands>

Triggers when there is info waiting to be read on the specified UDP connection.
You can read this info using the /sockread command.

See also on SOCKREAD, on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, /sockudp, $sock, $sockbr, $sockerr, $sockname.

Parameters

<level> - The User Access Level for the event to trigger.
<name> - The UDP $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:udpread:name:{
  if ($sockerr) { echo -s An error occurred while trying to read data: $sock($sockname).wsmsg | return }
  else {
    sockread %a
    echo -s received: %a
  }
}


On UNBAN

Added in 1.9.0

on <level>:UNBAN:<#|*>:<commands>

Trigger when a user on a channel is unbanned.

See also on BAN, $banmask, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *: UNBAN:#:echo -ag $nick just unbanned $banmask from $chan


On UNLOAD

Added in 1.8.10

on <level>:UNLOAD:<commands>

Triggers when a script file is unloaded.

See also /load, /reload, /unload, on LOAD, on START.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

; Create a cleanup alias.
alias -l cleanup {
  ; Unset the %loaded variable
  unset %loaded
}

; Listen for the UNLOAD event, and when matched, run this cleanup alias.
on *:UNLOAD:cleanup | echo -ag Script is $iif(%loaded,loaded,not loaded)


On UNOTIFY

Added in 1.9.0

on <level>:UNOTIFY:<commands>

Trigger when a user in your notify list leaves IRC.

See also on NOTIFY, /notify, $notify.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:UNOTIFY:echo -ag $nick just went offline


On UNZIP

Added in 2.9

on <level>:UNZIP:<commands>

Trigger when a /zip -u operation is finished.

See also on ZIP, /zip, $zip, $ziperr.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:UNZIP:echo -ag unzipped $zip($zip).src into $zip($zip).dest status: $iif($ziperr,fail,ok)


On USERMODE

Added in 1.9.0

on <level>:USERMODE:<commands>

Triggers when your user modes is changed.

Haltable using ^

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:USERMODE:echo -ag User modes changed to $1-


On VOICE

Added in 1.9.0

on <level>:VOICE:<#|*>:<commands>

Triggers when a user receives voice.

See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $vnick, $modefirst, $modelast.

Parameters

<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:VOICE:#:echo -ag $nick just gave $vnick voice


On WALLOPS

Added in 1.8.10

on <level>:WALLOPS:<matchtext>:<commands>

Triggers when you receive a wallops message.

Haltable using ^

<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:WALLOPS:*:echo -ag Received wallops message $1- from $nick


On WAVEEND

Added in 2.4

on <level>:WAVEEND:<commands>

Triggers when AdiIRC finishes playing a wave sound.

See also /splay, on MP3END, on MIDIEND, on SONGEND, $filename.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:WAVEEND:echo -ag Song $filename finished playing.


On ZIP

Added in 2.9

on <level>:ZIP:<commands>

Trigger when a /zip operation is finished.

See also on UNZIP, /zip, $zip, $ziperr.

Parameters

<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:ZIP:echo -ag zipped $zip($zip).src into $zip($zip).dest status: $iif($ziperr,fail,ok)


/abook

Added in 2.2

/abook -wnclh [nickname]

Opens the Address book.

Switches

w - Opens the whois tab.
n - TODO
c - TODO
l - TODO
h - TODO

Parameters

[nickname] - Nickname to show in the Users tab.


/aclear

Added in 1.7

/aclear [-agmnqstu]

Clears the buffer and Channelbar/Sidebar unread color of the specified window type, if no type is specified, all windows on current connection is cleared.

Switches

-a - all windows on all connections
-g - TODO
-m - TODO
-n - channel windows
-q - query windows
-s - status windows
-t - dcc chat windows
-u - custom windows

Example

; Clear all channel and query windows.
/aclear -nq

; Clear all windows on current connection.
/aclear


/action

Added in 1.8.10

/action <message>

Sends a emote message to current channel or private window.

Parameters

<message> - The emote message to send.

Example

/action Hello world.


/advertise

Added in 1.6

/advertise

Shows what AdiIRC version you are currently using in the current channel or private window.

Example

;Will return something like <nick> is using AdiIRC vXXX X Bit. Download latest version at http://www.adiirc.com
/advertise


/ajinvite

Added in 1.9.0

/ajinvite [on|off]

Turns auto-join on invite on or off.

Parameters

[on] - Turns auto-join on invite on.
[off] - Turns auto-join on invite on.

Example

;Shows current auto-join on invite status
/ajinvite

;Turns off auto-join on invite
/ajinvite off


/alias

Added in 1.9.0

/alias [-l] [filename] <aliasname> <command>

Add/remove/replace any single or multi line (AdiIRC only) alias.

Switches

-l - Adds a local alias only available from current script.

Parameters

[filename] - An optional alias filename to update, if no filename is specified it will use the first match or the first loaded alias file.
<aliasname> - Name of the alias to add/remove/replace.
<command> - The command(s) to be executed by the aliasname.

Example

; This will replace the first matching alias with the new command.
/alias /hello /me says hello

; To remove an existing alias:
/alias /hello

; If you want to add/remove/replace a alias in an existing file
/alias hello.txt /alias /me says hello


/aline

Added in 1.9.0

/aline [-ahilnpsb] [color] <@name> <text>

Add <text> into custom window named <@name>.

Switches

-a - Selects the newly added item while keeping the old selection in a listbox
-h - Highlights the window's node in the treebar/switchbar is the window is minimized
-iN - Indents the wrapped line by N characters.
-l - Specify the action to take place on the side-listbox
-n - Prevent the line from being added if it already exists
-p - TODO
-s - Clears the old selection in a listbox and selects the newly added item
-b - Indicates the [c] color is in $rgb format. (AdiIRC only)

Parameters

[color] - Line color number.
<@name> - The custom window name.
<text> - The text to add.

Example

; Open a custom window.
/window -de @Example

; Add a blue colored line.
/aline 12 @Example Hello world


/amark

Added in 1.9.0

/amark

Marks all windows as read (resets the color in Sidebar and Channelbar to default)


/ame

Added in 1.7

/ame <message>

Sends an emote message to all open channels on current connection.

Parameters

<message> - The emote message to send.

Example

/ame Hello world.


/amsg

Added in 1.9.0

/amsg <message>

Sends a message to all open channels on current server.

Parameters

<message> - The message to send.

Example

/amsg Hello world.


/allnick

Added in 1.4.6

Was named /anick prior to 1.9.7

/allnick <nickname>

Changes your nick on all servers to <nickname>

Parameters

<nickname> - The new nickname.

Example

/allnick Obiwan


/anick

Added in 1.9.7

/anick <nickname>

Changes your alternate nickname on current connection.

If connected from the serverlist, the serverlist is updated, else quick connect is updated.

Parameters

<nickname> - The new nickname.

Example

/anick Obiwan


/auser

Added in 1.9.7

/auser [-a] <levels> <nick|address> [info]

Adds the specified nick/address to the users list with the specified levels.

If the first level is not preceded by an equal sign then it is a general access level.

Switches

-a - Adds the levels to the matching user, if no user is found, a new user is added.

Parameters

<levels> - Access level(s) to add.
<nick|address> - Nick or address to add.
[info] - Optional information text.

Example

; Adds a new user 'Nick' with access levels 1, 2 and 3.
/auser 1,2,3 Nick

; Updates access levels for 'Nick' with 4 and 5.
/auser -a 4,5 Nick

; Updates access levels for 'Nick' with 7 and 7.
; By using = in front of the first access level, the default access level for this user is not modified.
/auser -a =6,7 Nick


/autoconnect

Added in 2.4

/autoconnect [on|off]

Turn on or off autoconnect for current server if it's saved in the Serverlist.

Parameters

[on|off] - Turn on or off.


/autojoin

Added in 1.9.4

/autojoin [-nsdN]

Can be used in the on CONNECT event or Perform section to delay or prevent auto joining of channels.

This also affects the rejoining of open channel windows during a reconnect.

Parameters

-n - Join now.
-s - Skip autojoin.
-dN - Delay autojoin for N seconds.

Example

; Delay autojoin for 5 seconds.
on *:CONNECT:autojoin -d5

; Skip autojoin.
on *:CONNECT:autojoin -s


/aquit

Added in 1.9.0

/aquit [message]

Quits all servers, if no message is specified, default (or random if enabled) quit message is used.

Parameters

[message] - The quit message to send.

Example

; Will quit all servers using the default or random quit message.
/aquit

; Will quit all servers with the quit message 'See you guys later!'.
/aquit See you guys later!


/away

Added in 1.9.0

/away [message]

If message is defined you will be marked as away, else you will be marked as not away.

Parameters

[message] - The away message to set.

Example

;Sets you away with "Be back later" as the away message.
/away Be Back later

;Removes your away flag.
/away


/back

Added in 1.5

/back

Removes your away flag if you are away, equal to /away with no parameters.


/background

Added in 1.9.0

/background [-abcdefghlmnprstuxyz] [window] [filename]

Changes or adds a background image for a window or control.

Switches

-a - Active window.
-d - TODO
-g - TODO
-m - Main AdiIRC window.
-s - Server window.

-b - Sidebar.
-h - Channelbar.
-l - Toolbar.
-u - Toolbar buttons.
-y - Statusbar.
-z - Menubar.

-e - Set as default.
-x - no background image

-c - Center image layout.
-f - Fill image layout.
-n - Normal image layout.
-p - TODO
-r - Stretch image layout.
-t - Tile image layout.

Parameters

[window] - Window name to target if no window switches were specified.
[filename] - Path/filename of the picture to be used. (Must be enclosed in quotes if it contains spaces)

Example

;Adds a sample background to current window.
/background -a "C:\Users\Public\Pictures\Sample Pictures\Desert Landscape.jpg"

:Remove the sample background from current window.
/background -ax


/ban

Added in 1.7

/ban [-kruN] [#channel] <nickname|address> [type] [reason]

Ban someone from the current channel using their nickname or address.

Switches

-k - Kick as well as banning with an optional reason.
-uN - Pause N seconds before removing the ban.
-r - Removes ban instead of adding.
-b - Apply the ban to the ban list.
-e - Apply the ban to the exception list.
-I - Apply the ban to the invite list.
-q - Apply the ban to the quiet list.

Parameters

[#channel] - The channel to add/remove the ban.
<nickname|address> - Nick or address to ban.
[type] - Address type, see $mask for available types. (if no type is specified, ban type from Options -> Server -> Default ban type will be used)
[reason] - Optional reason used in combination with -k

Example

;Kicks and bans a nick from channel #test for 1 hour
/ban -ku3600 #test Nick Stop Spamming.

;Removes ban on Nick from channel #test
/ban -r #test Nick

;Bans all users from host.com
/ban #test *!*@host.com


/banlist

Added in 1.5

/banlist

Retrieve a list of bans from current channel. (MODE #channel +b)


/bcopy

Added in 1.9.0

/bcopy [-zc] <&binvar> <N> <&binvar> <S> <M>

Copies <M> bytes from position <S> in the second &binvar to the first &binvar at position <N>.
This can also be used to copy overlapping parts of a &binvar to itself.

Switches

-z - The bytes in the second &binvar that is copied are zero-filled after the copy.
-c - The first &binvar is chopped to <N> + <M>.

Parameters

<&binvar> - Target &binvar to copy to.
<N> - Target position in the first &binvar to copy to.
<&binvar> - Source &binvar to copy from.
<S> - Source position to copy from.
<M> - Number of bytes to copy.

Example

alias /example {
  ;Create a binary variable and assign it some text
  bset -t &example 1 This is a test!

  ;Copy from 'example' from the 11th byte 10 bytes onward
  ;Zero-fill the part that was copied
  bcopy -z &example2 1 &example 11 10

  ;Print out &example's content (up to the first null)
  echo -a $bvar(&example, 1-).text

  ;Print out &example2's content
  echo -a $bvar(&example2, 1-).text
}


/beep

Added in 1.9.0

/beep <number> <delay>

Beeps a number of times with a delay.

Parameters

<number> - Number of times to beep.
<delay> - Seconds between beeps. (max is 1000 milliseconds)

Example

;Beep every 500 milliseconds 5 times.
/beep 5 500

;Stop beeping
/beep 0


/betaup

Added in 1.5

/betaup

Opens the update dialog and checks for a new beta version even if beta updates are not enabled, will also enable future beta updates.


/bin2txt

Added in 1.8.10

/bin2txt <binary text>

Converts a binary string to ASCII.

Parameters

<binary text> - Binary text to convert.

Example

;Will show 0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100.
/txt2bin Hello World

;Convert back to Hello world.
/bin2txt 0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100


/bindip

Added in 1.9.0

/bindip [on|off] <ipaddress/adapter>

Bind or toggles ip address/network adapter for DCC transfers.

/bindip with no parameters shows current status.

Parameters

on - Sets bind on.
off - Sets bind off.

<ipaddress/adapter>* - IpAddress or Network Adapter to bind to.

Example

;Binds ip to 192.168.0.1
/bindip 192.168.0.1

;Finds local ip address on Local Network Adapter and binds to it.
/bindip Local Network Adapter

;Disable binding.
/bindip off


/bread

Added in 1.9.0

/bread [-ta] <filename> <S> <N> <&binvar>

Reads <N> bytes starting at byte position <S> in the file and stores the result in &binvar.

Switches

-t - reads data until the next $crlf or EOF.
-a - Disables UTF-8 encoding of characters in the range 0-255, as long as the line contains no characters > 255.

Parameters

<filename> - The binary file to read.
<S> - The byte position in the file to start reading from.
<N> - Number of bytes to read.
<&binvar> - The &binvar to read the data into.

Example

;noop $example(FileA, FileB)
alias example {
   ;Read the whole file into a binary variable
   bread $qt($1) 0 $file($1).size &tempFile

   ;Write the bytes form the binary variable to a file
   bwrite $qt($2) 0 -1 &tempFile
}


/break

Added in 1.7

/break

Use to break out of loops in scripts


/breplace

Added in 1.9.0

/breplace <&binvar> <oldvalue> <newvalue> [oldvalue newvalue...]

Replaces all matching ASCII values in &binvar with new values.

Multiple values can be replaced by adding more old/new parameters.

Parameters

<&binvar>- The &binvar to modify.
<oldvalue> - ASCII value to replace.
<newvalue> - ASCII value to insert.

Example

alias example {
  ;Create a binary variable set it to "Hello World"
  bset -t &Example 1 Hello World

  ;Replace e (ASCII value 101) with 3 (ASCII value 51)
  breplace &Example 101 51

  ;Echo our new string
  echo -a $bvar(&Example,1,$bvar(&Example,0)).text
}


/bset

Added in 1.9.0

/bset [-ta] <&binvar> <N> <asciivalue> [asciivalue ... asciivalue]

Sets the <N>th byte in binary variable &binvar to the specified ascii value.

If the &binvar docent exists it is created.
If <N> is larger than the size of &binvar it will be zero filled up to <N> bytes.
If you specify multiple ASCII values, they are copied to successive positions after byte position N.

Switches

-t - Treat values a plain text.
-a - Disables UTF-8 encoding of characters in the range 0-255, as long as the line contains no characters > 255.

Parameters

<&binvar> - The &binvar to modify.
<N> - The byte to modify.
<asciivalue> - The ASCII value to insert.

Example

alias example {
  ; Create a binary variable set it to "This is fun!"
  bset -t &Example 1 This is fun!

  ; Print out the content of the variable
  echo -a $bvar(&Example, 1-).text
}


/btrunc

Added in 1.9.0

/btrunc <filename> <bytes>

Truncates/extends a file to the specified length.

Parameters

<filename> - The file to truncate.
<bytes> - Number of bytes to truncate/extend to.

Example

alias example {
  ;Create variable %temp and add some data.
  /var %temp = Hello! World

  ;Write to variable %temp's content.
  /bwrite Example 0 $len(%temp) %temp

  ;Truncate the file down to 6 bytes.
  /btrunc Example 6

  ;Read the file into a variable.
  /bread Example 0 $file(Example).size &Example

  ;Print out the variable's content.
  /echo -a $bvar(&Example,1,$bvar(&Example,0)).text

  ;Delete the file.
  /remove Example
}


/bunset

Added in 1.9.0

/bunset <&binvar> [&binvar ... &binvar]

Unsets the specified list of &binvars.

Parameters

<&binvar> - The &binvar to unset.
[&binvar ... &binvar] - Additional &binvars to unset.


/bw

Added in 1.4.6

/bw

Sends download/upload speed to current channel or private window, if a network adapter is chosen in Options -> Sysinfo.


/bwrite

Added in 1.9.0

/bwrite [-ta] <filename> <S> [N] <text|%var|&binvar>

Writes [N] bytes from <text|%var|&binvar> to the file starting at byte position <S> or 0, any existing information at this position is overwritten.

Switches

-t - Treat <text|%var|&binvar> as plain text.
-a - TODO

Parameters

<filename> - File to modify.
<S> - Byte position in the file to start writing to.
[N] - Byte count from <text|%var|&binvar> to write.
<text|%var|&binvar> - Text/%variable/&binvar to write to file.

Example

alias example {
  ;Write some text to a file at beginning of the file
  /bwrite file.txt 0 hello there!

  ;Read the binary data into binary variable &tempfile
  /bread $qt(file.txt) 0 $file(file.txt).size &tempfile

  ;Print the binary variable data as text, outputs 'Hello there!'
  echo -ag $bvar(&tempfile, 1-).text

  ;Replace "there!" with "world!"
  /bwrite file.txt 6 world!

  ;Read the binary data into binary variable &tempfile
  /bread $qt(file.txt) 0 $file(file.txt).size &tempfile

  ;Print the binary variable data as text, outputs 'Hello world!'
  echo -ag $bvar(&tempfile, 1-).text
}


/channel

Added in 1.5

/channel [#channel]

Opens the channel editor for #channel.

/channel without parameters, opens channel editor for current channel.


/channels

Added in 2.5

/channels [-adnp] <#channel> [password] [Description]

Adds or removes channels from the current server if it's a server saved in the serverlist.

Switches

-a - Join the channel on connect.
-d - Delete the channel.
-n - Minimize the channel on join.
-p - Indicates [password] is defined.

Parameters

<#channel> - The channel to add/modify/delete.
[password] - Channel password, used with -p.
[Description] - Channel description.

Example

: Add channel #test to the serverlist.
/channels #test

: Add channel #test to the serverlist as a autojoin channel.
/channels -a #test

; Delete channel #test from the serverlist.
/channels -d #test


/charset

Added in 1.9.0

/charset [codepage]

Sets text encoding used on current server.

/charset with no parameters will show current codepage.

Parameters

[codepage] - The codepage to set. -1 will use the system default encoding.

Example

;Set codepage to UTF-8
/charset 65001

;Set codepage to ISO-8859-11
/charset 28601

;Set codepage to system default
/charset -1


/clear

Added in 1.5

/clear [-chols] [windowname]

Clears the buffer of current window or [windowname].

If window is a picture window the image buffer is cleared.

Switches

-c - Clears the click history in a picture window.
-h - Clears the Editbox history.
-o - Clears the window position/size for this window.
-l - Clears the side-Listbox in a custom window
-s - Clears the Status Window.

Parameters

[windowname] - A window to clear.

Example

;Clears the inputbox of current window.
/clear -h

;Clears the channel text on channel #test
/clear #test


/clearall

Added in 1.7

/clearall [-agmnqstu]

Clears the buffer and Channelbar/Sidebar unread color of the specified window type, if no type is specified, all windows on current connection is cleared.

Switches

-a - All windows on all connections.
-g - TODO
-m - TODO
-n - Channel windows.
-p - Docking panels.
-q - Query windows.
-s - Status windows.
-t - Dcc chat windows.
-u - Custom windows.

Example

;Clear all channel and query windows
/clearall -nq

;Clear all windows on current connection.
/clearall


/cline

Added in 1.9.3

/cline [-bhlmr] [c] <@name> <N|nick>

Changes the color of the Nth line to color [c].

If [c] is not defined, the line will be reset to default color.

Switches

-b - Indicates the [c] color is in $rgb format. (AdiIRC only)
-h - Highlights the window's button. (if window is not active)
-l - Apply to side listbox.
-m - TODO
-r - Reset an item in the listbox to default; [c] parm must be omitted
-t - Apply to text buffer. (AdiIRC only)

Parameters

[c] - Optional line color.
<@name> - Custom window name.
<N|nick> - Line number or matching listbox item to color.

Example

alias example {
  ; Open a custom window.
  /window @Example

  ; Add a 'Hello World' line to the custom window.
  /aline @Example Hello World

  ; Change the color of the first line to red (4).
  /cline 4 @Example 1

  ; Change the color of the first line to rgb color blue
  /cline -b $rgb(0,0,255) 1
}


/clipboard

Added in 1.9.0

/clipboard [-an] [text]

Copies <text> to the clipboard.

If [text] is empty, clipboard is cleared.

Switches

-a - Appends the text to current clipboard text instead.
-n - Adds \r\n at the end of the text.

Parameters

[text] - Text to add.

Example

;Adds 'clip' to the clipboard
/clipoard clip

;Append 'board' to the clipboard so result becomes 'clipboard'
/clipoard -a board


/close

Added in 1.5

/close [-acfgimst@] [name1] ... [nameN]

Closes all windows of the specific type and/or all windows matching name [nameN] on current connection.

You can use wildcards in [nameN].

If no window names or types is defined, current window is closed.

Switches

-a - Close on all connections. (AdiIRC only)
-c - Dcc chat windows.
-f - TODO
-g - TODO
-i - TODO
-m - Private/Query windows.
-p - All non scripted Tips.
-s - TODO
-t - Server/Status windows.
-@ - Custom windows, @<wid> can be used for [nameN] if this is defined.

Parameters

[name1] ... [nameN] - Windows to close.

Example

;Close all query and status windows.
/close -mt

;Close channel window '#test' and query window 'Nick'
/close #test Nick


/cnick

Added in 2.4

/cnick -rbfaniovpylNmNsNg [nick[!user@host|N]|on|off] [color] [modes] [levels]

Change the items in the nick color list.

Switches

-r - Remove a item from the nick color list.
-b - Set the address book flag. (AdiIRC only)
-f - Forces the addition of a new entry instead of updating an existing one.
-a - Sets the Any Mode option.
-n - Sets the No Mode option.
-i - Sets the Ignore list option.
-o - TODO
-v - TODO
-p - TODO
-y - Sets the Notify list option.
-lN - Sets the idle time.
-mN - Sets the nick color method, 1 = message, 2 = nicklist, 0 = both.
-sN - Sorts the item into the Nth position in the list.
-g - Indicates the [color] is in rgb format. (AdiIRC only)

Parameter

[nick[!user@host]|N] - The nick/hostname to add/edit or the Nth item to remove.
[on|off] - Enables or disables nick colors.
[color] - The color to use.
[modes] - Channel modes to match.
[levels] - User levels to match.

Example

; Disable nick colors.
/cnick off

; Enable nick colors.
/cnick on

; Add the nick color '5' for the nick 'Nick'.
/cnick Nick 5

; Remove the nick color for the nick 'Nick'.
/cnick -r Nick


/color

Added in 1.9.4

/color <name> <N|RGB>
/color <N> <RGB>
/color -lrs [N/scheme name]

Allows you to change the color settings for items in the Colors dialog.

Switches

-b - Indicates the <N> after <name> is a rgb value. (AdiIRC only)
-l - Reloads colors from the config file.
-r - Resets the color to default value.
-s - TODO

Parameters

<N> - The Nth color to change, in AdiIRC this can be from 1 to 82.
<RGB> - New RGB values to be used.
<name> - Name or the color to change.
[Scheme name] - TODO

Example

; Print a text using color 3
/echo 3 -ag Hello world

; Change color 3 to $rgb value 1905919 (notice the 'Hello world' color)
//color 3 $rgb(255, 20, 29)

; Reset color 3 to default value (notice the 'Hello world' color)
/color -r 3

; Change the join color to another color index.
/color join 3

; Change the join color to a rgb value.
//color join $rgb(255, 20, 29)

; Reset join color
/color -r join


/colour

Added in 1.9.4

/colour <name> <N|RGB>
/colour <N> <RGB>
/colour -lrs [N/scheme name]

Allows you to change the color settings for items in the Colors dialog.

Switches

-b - Indicates the <N> after <name> is a rgb value. (AdiIRC only)
-l - Reloads colors from the config file.
-r - Resets the color to default value.
-s - TODO

Parameters

<N> - The Nth color to change, in AdiIRC this can be from 1 to 82.
<RGB> - New RGB values to be used.
<name> - Name or the color to change.
[Scheme name] - TODO

Example

; Print a text using color 3
/echo 3 -ag Hello world

; Change color 3 to $rgb value 1905919 (notice the 'Hello world' color)
//colour 3 $rgb(255, 20, 29)

; Reset color 3 to default value (notice the 'Hello world' color)
/colour -r 3

; Change the join color to another color index.
/colour join 3

; Change the join color to a rgb value.
//colour join $rgb(255, 20, 29)

; Reset join color
/colour -r join


/comclose

Added in 1.9.4

/comclose name

Closes the specified COM connection.

Parameters

name - Connection name.


/comlist

Added in 1.9.4

/comlist

Lists all open COM connection.


/comopen

Added in 1.9.4

/comopen name progid

Opens a COM connection to object progid and assigns the connection a name.

For 64 bit AdiIRC, MSScript com objects is not available unless you install http://www.eonet.ne.jp/%7Egakana/tablacus/scriptcontrol_en.html.

Parameters

name - Connection name.
progid - ProgId to open. (e.g Excel.Application)


/comreg

Added in 1.9.4

/comreg -u filename

Registers/unregisters a COM DLL with windows.

Switches

-u - Unregister instead of register.

Parameters

filename - DLL filename to unregister/register.


/config

Added in 1.9.3

/config [-tihcn] [tab|nick|host] [search]

Opens the options form.

Quotes can be used for tabs with multiple words.

Same as /options.

Switches

-t - Selects the specified tab matching [text].
-i - Opens the Add/Edit Ignore Dialog for the [nick|host].
-h - Opens the Add/Edit Highlight Dialog for the [nick|host].
-c - Opens the Add/Edit Nicklist Icon Dialog for the [nick|host].
-n - Opens the Add/Edit Nickcolor Dialog for the [nick|host].

Parameters

[tab] - Used with -t Text of the option tab to set as selected.
[nick|host] - Used with the -ihcn parameters to open the matched nick or host.
[search] - Options to search/filter for.

; Open options and search all tabs for the text "join" and select the "quick connect" tab if text was found.
/config -t "Quick Connect" join

; Open options and select the "Messagea" tab.
/config -t Messages

; Open options and search for the text "join".
/config join

; Opens the Ignore tab and dialog for the host 'Nick!*@*'.
/config -i Nick!*@*


/continue

Added in 1.9.0

/continue

Use to continue a loop in scripts.


/copy

Added in 1.9.6

/copy -ao <filename> <filename/directory>

Copies a file to another filename or directory.

Switches

-a - Appends the source file to the target file.
-o - Overwrites the target file if it exists.
-f - Flushes copy to disk immediately.

Parameters

<filename> - Filename to copy from. (Can be a wildcard)
<filename/directory> - Filename or directory to copy to.

Example

; Copy all the files in directory 'aaa' into directory 'bbb'.
/copy aaa bbb

; Copy file 'aaa.png' into folder 'bbb'
/copy aaa.png bbb


/ctcp

Added in 1.5

/ctcp <nick/#channel> <ctcp>

Requests <ctcp> from <nick/#channel>.

See also on CTCP, on CTCPREPLY, /ctcpreply.

Parameters

<nick/#channel> - The nick or #channel to request ctcp from.
<ctcp> - The ctcp to request.

Example

;Version everyone in #adiirc
/ctcp #AdiIRC VERSION


/ctcps

Added in 1.9.3

/ctcps [on|off]

Switches ctcp events on/off, if no parameters are defined, current status is shown.


/ctcpreply

Added in 1.9.0

/ctcpreply <nick> <ctcp> [message]

Sends a reply to a ctcp query.

See also on CTCP, on CTCPREPLY, /ctcp.

Parameters

<nick> - The nick to reply.
<ctcp> - The ctcp result to reply.
[message] - The ctcp result message to reply.

Example

; Listen to a TIME CTCP request.
ctcp *:TIME:*:{

  ; Send two ctcp replies.
  /ctcpreply $nick TIME Current time: $time(hh:nn:ss TT (ZZZ))
  /ctcpreply $nick TIME Current Data: $time(dddd $+ $chr(44) mmmm dd $+ $chr(44) 2009)

  ; Stop AdiIRC's standard ctcp reply.
  halt
}


/cycleall

Added in 1.5

/cycleall [N] [message]

Will part all active channels on current server and show a message if defined then delay N milliseconds and rejoin them.

Was renamed from /cycle to /cycleall in 2.7.

Parameters

[N] - Numbers of milliseconds to delay before rejoining.
[message] - Part message to send.

Example

;Part all channels with part message 'Be right back in 2 seconds' and rejoin after 2 seconds. (2000 milliseconds)
/cycleall 2000 Be right back in 2 seconds.

;Part/Join all channels at once with no delay.
/cycle


/dcc

Added in 1.8.10

/dcc fserve (TODO)
/dcc get <folder> (TODO)
/dcc maxcps <N> (TODO)
/dcc nick -sgcf <oldnick> <newnick> (TODO)
/dcc passive [on | off] (TODO)
/dcc reject (TODO)
/dcc trust [-r] <on | off | nick | address | level> (TODO)

See also $dccignore.

/dcc chat <nick>

Starts a dcc chat with nick.

; Starts a dcc chat with Nick.
/dcc chat Nick

/dcc ignore [on|off|accept|ignore]

Enables or disables the dcc filetype ignore.

Parameters

[on|off|accept|ignore] - Enable/disable ignore or set the ignore type.

Example

; Enable dcc ignore accept.
/dcc ignore accept

; Disable dcc ignore.
/dcc ignore off

/dcc send|ssend [-clmn] <nick> ]file1] [file2] ... [fileN]

Starts a dcc file transfer to nick.

ssend requires a ssl client certificate which can be set in Options -> Server -> Certificate file or in the Serverlist.

Switches

-c - TODO
-l - TODO
-m - TODO
-n - TODO

Parameters

send|ssend - Starts a file transfer or a secure file transfer.
<nick> - Nick to start a file transfer to.
[file1] [file2] ... [fileN] - Files to transfer, if no files are defined, a select file dialog will open.

Example

; Starts a dcc file transfer to Nick.
/dcc send Nick


/dde

Added in 1.9.4

/dde [-re] <name> <topic> <item> [data]

Sends an XTYP_POKE request to the specified DDE service.

Switches

-r - Specifies you are sending a XTYP_REQUEST.
-e - Specifies you are sending a XTYP_EXECUTE.

Parameters

name - DDE service name to query.
topic - Topic to query.
item - Item to query.
[data] - Data to send.

Example

;Sends a DDE command to the DDE service "AdiIRC".
/dde AdiIRC command "" /echo -ag Hello World from /dde.


/ddeserver

Added in 1.9.4

/ddeserver [ [on [service name] ] | off]

Turns on or off the DDE service, if you have more than one instance of AdiIRC acting as a DDE service, you should give them different names.

No parameters shows current DDEservice status.

Parameters

[on [service name]] - Turns on the DDE service and optionally giving it a new name.
[off] - Turns off the DDE service.


/debug

Added in 1.5

/debug [-acdgNeinpst] [N] [on | off | @window | filename] [identifier]

Outputs raw server messages, both incoming and outgoing to a file or a custom window.

If a custom window is defined, and it doesn't exist, a window will be created.

If no filename or custom window is defined, default filename of "debug.log" will be used.

/debug works per server.

Switches

-c - Closes the associated custom window. (used with off)
-dN - Enable editbox; 0 = single, 1 = multi, 2 = auto, 3 = default. (AdiIRC only)
-e - Adds extended debug information. (AdiIRC only)
-i - Calls the specified identifier before a debug line is logged. The return value of the identifier is used as the debug line.
-n - Minimizes the custom window, if a new one is created.
-p - TODO
-t - Adds timestamp to the debug line.
-s - Open a window for debugging scripts. (AdiIRC only)
-a - Only show the result when debugging scripts. (AdiIRC only)
-g - Ignore scripts running in timers when debugging scripts. (AdiIRC only)

Parameters

[N] - Line color to use in the custom window.
[on | off] - Turns debugging on or off.
[@window | filename] - Custom window or filename to log to.
[identifier] - Identifier to parse a line, used with -i.

Example

; Turns on debug to custom window named '@debug' and minimizes it.
/debug -n @debug

; Turns off debug and closes the custom window
/debug -c off

; Turns on debug to file named 'debug.log' and enables timestamp.
/debug -t debug.log


/dec

Added in 1.9.0

/dec [-cesuNz] <%var> [value]

This decreases the value of %var by value.

Switches

-c - Decrease %var once per second.
-e - Unset the variable when AdiIRC exists.
-s - Echo the new value to current window.
-uN - Decrease %var once and unset the variable after N seconds.
-z - Decreases %var until it reaches zero and then unset it.

Parameters

<%var> - The variable to decrease, either global or local.
[value] - Value to decrease by, if no value is defined, value is 1.

Example

alias example {
  ;Create a local variable and set it to 10.
  var %x 10

  ;Decrease %x by 5.
  /dec %x 5

  ;Print out %x's content.
  echo -a %x
}


/dehalfop

Added in 1.5

/dehalfop <nick> [nickN...]

Demotes nick from half-operator on current channel. (mode #channel -h Nick)

Parameter

<nick> - The nick to demote.
[nickN...] - Additional nicks to demote.

;Demote 3 users.
/dehalfop Nick1 Nick2 Nick3

;Demote 1 user.
/dehalfop Nick1


/deop

Added in 1.5

/deop <nick> [nickN...]

Demotes nick from channel-operator on current channel. (mode #channel -o Nick)

Parameters

<nick> - The nick to demote.
[nickN...] - Additional nicks to demote.

Example

;Demote 3 users.
/deop Nick1 Nick2 Nick3

;Demote 1 user.
/deop Nick1


/describe

Added in 1.9.0

/describe <nick|#channel> <message>

Sends an emote message to nick or channel.

Same as /me but /me can only sends emote to the current window.

Parameters

<nick|#channel> - Nick or #channel to send the message.
<message> - The emote message to send.

Example

;Sends 'Hello World' to channel '#test'.
/describe #test Hello world

;Sends 'Hello World' to 'Nick'
/describe Nick Hello world


/desop

Added in 1.8.5

/desop <nick> [nickN...]

Demotes nick from special operator on current channel. (mode #channel -a Nick)

Parameters
<nick> - The nick to demote.
[nickN...] - Additional nicks to demote.

Example

;Demote 3 users.
/desop Nick1 Nick2 Nick3

;Demote 1 user.
/desop Nick1


/devoice

Added in 1.5

/devoice <nick> [nickN...]

Demotes nick from voice on current channel. (mode #channel -v Nick)

Parameters

<nick> - The nick to demote.
[nickN...] - Additional nicks to demote.

Example

;Demote 3 users.
/devoice Nick1 Nick2 Nick3

;Demote 1 user.
/devoice Nick1


/dialog

Added in 1.9.0

/dialog -abcdefghijklmnoprstuvx <name> [newname|table] [x y w h] [text|filename] [N]

Allows you to create a modeless dialog with the -m switch.

See also $dialog, on DIALOG, Dialog Items.

Switches

-a - Used with -m, uses currently active window as the parent.
-b - Interprets size as dbu.
-c - Click cancel button.
-d - Open dialog on the desktop, used with -m.
-e - Restores the dialog if created on the desktop.
-f - Hides the window borders. (AdiIRC only)
-g - Renames existing dialog using <name> <newname>.
-h - Make dialog work with active server connection. (TODO)
-i - Minimise the dialog if created on the desktop.
-j - Shows the window borders. (AdiIRC only)
-k - Click ok button.
-l - TODO
-m - Create a modeless dialog using 'table'.
-n - Unset ontop setting.
-o - Set dialog ontop of all windows.
-p - Interprets size as pixels.
-r - Centers dialog.
-s - Set dialog position/size.
-t - Set dialog title to 'text'.
-u - Set dialog icon to 'filename'. (AdiIRC only)
-v - Makes the dialog the active window.
-x - Close a dialog without triggering any events.

Parameters

<name> - Name of the dialog to creae.
[newname] - Newname used with -g
[table] - Name of the dialog table to use.
[x y w h] - X/Y Position on the desktop and the Height/Width of the dialog.
[text|filename] - Dialog title text or dialog icon filename.
[N] - Icon index. (AdiIRC only, used with -u)

Dialog Items

Example

; Create a dialog table.
Dialog Example1 {
  title "This is Example 1"
  size -1 -1 172 129
  option dbu
  tab "Tab A", 14, 2 0 165 123
  tab "Tab B", 15
  tab "Tab C", 16
  edit "", 17, 8 16 154 104, tab 16 multi return autohs vsbar
  menu "&File", 1
  item "&New", 6, 1
  item "&Open", 7, 1
  item break, 8, 1
  item "&Save", 9, 1
  item "Save &as", 10, 1
  menu "&Edit", 2
  item "&Copy", 11, 2
  item "P&aste", 12, 2
  menu "&view", 3
  item "&All", 13, 3
  menu "&Help", 4
  item "&About", 5, 4
}

; Create and show the dialog as modeless and on the desktop.
/dialog -md Example1 Example1


/did

Added in 1.9.0

/did -abcdefghijklmnorstuvz <name> <id> [n] [text | filename | start [end]]

The /did command allows you to modify the values of controls in a dialog,

Switches

-a - Add line of text to end.
-b - Disable id.
-c - Check checkbox/radiobutton list/combo line.
-d - Delete Nth line.
-e - Enable id.
-f - Set focus on id.
-g - Set a new icon/image to an icon control.
-h - hide id
-i - Insert text at Nth line.
-j - Resets the edited setting in an editbox. (TODO)
-k - Works with -cu, keeps other selections in a listbox.
-l - Uncheck the checkbox of an item in a listcb control.
-m - Disables editbox.
-n - Enables editbox.
-o - Overwrite Nth line with text.
-r - Clear all text in id.
-s - Checks the checkbox of an item in a listcb control.
-t - Set id as default button.
-u - Uncheck checkbox/radiobutton list/combo line.
-v - Make id visible.
-z - Resets the width of horizontal scrollbar in listbox. (TODO)

Parameters

<name> - Name of the dialog.
<id> - Id of the control to edit, you can use the form N-N1,N2-N3 to change multiple id's at once, 1-5,6,9 would change the following ids: 1,2,3,4,5,6,9.
[n] - Usually a line number, it can also be an id number with menus, use 0 if you want to access the editbox of a combo control.
[text] - The text parameter if applicable.
[filename] - Filename used with -g. |start [end] - Used with -z to set the range of a scrollbar, or with -c to set a selection


/didtok

Added in 1.9.0

/didtok <name> <id> <c> <text>

Tokenizes a string by character c, then adds the result to a dialog list/combo/edit box.

Parameters

<name> - Name of the dialog.
<id> - Id of the dialog control.
<c> - ASCII value to tokenize by.
<text> - Text to tokenize.

Example

; Dialog table layout.
dialog colors {
  size -1 -1 100 200
  list 1, 10 10 80 180
}

; Run the dialog.
/dialog -m colors colors

; Tokenize the string "red blue orange yellow" by whitespace and insert result into the list control.
/didtok colors 1 32 red blue orange yellow


/disable

Added in 1.9.0

/disable <group1 group2 ... groupN>

Disables the specified groups in all scripts.

Wildcard is allowed.

Paremeters

<group1 group2 ... groupN> - A list of groups to be disabled.

Example

;Disable group #one #two #three.
/disable #one #two #three

;Disable all groups matching #*o*.
/disable #*o*


/disconnect

Added in 1.5

/disconnect [text]

Disconnects current server with optional quit message [text].

If no quit message is defined default or random quit message is used.

Parameters

[text] - Quit message.

Example

;Disconnect with a custom quit message.
/disconnect See ya later!

;Disconnect
/disconnect


/dlevel

Added in 1.9.7

/dlevel [level}

Changes the default access level.


/dline

Added in 1.9.1

/dline [-hl] <@name> <N[-N2]>

Deletes the Nth line through N2th line in a custom window.

Switches

-h - Highlights the window's node in the treebar if the window is not active.
-l - Specify the action to take place on the side-listbox.

Parameter

<@name> - Name of the custom window.
<N[-N2]> - The range to be deleted, (negative values are not accepted)

Example

alias example {
  ;Open a custom window.
  /window -de @Foo

  ;Add a line, line colored in yellow. (8)
  /aline 8 @Foo Line A

  ;Add a line, color Dark Green. (3)
  /aline 3 @Foo Line B

  ;Add a line, color Dark Green. (3)
  /aline -s 3 @Foo Line C

  ;Add a line, color Dark Green. (3)
  /aline -s 3 @Foo Line D

  ;Delete line 2 and 3 with range 2-3, only A D remain.
  /dline @Foo 2-3
}


/dll

Added in 1.9.2

/dll [-u] <name.dll> <procname> [data]

This allows you to call routines in a DLL designed to work with AdiIRC.

At the moment only 64 bit DLL's can be loaded on 64 bit windows (even with the 32 bit AdiIRC), on 32 bit windows only 32 bit DLL's and even some mIRC DLL's can be loaded.
_
Prototype

#include <windows.h>
int procName(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause);

Switches

-u - Unloads the DLL instead of loading.

Parameters

<name.dll> - Path/Filename to the DLL.
<procname> - procName to call.
[data] - Data to pass to procName() function.

Example

/*
  gcc -c -O3 reverse.c
  gcc -shared --export-all-symbols -o reverse.dll -O3 reverse.o

  reverse.c:

  #include <windows.h>
  #include <string.h>

  int __attribute__((stdcall))
  reverse(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)
  {
      char *l = *data ? data + strlen(data) - 1 : data;
      char *p = parms;
      while ((*p++ = *l--));
      strcpy(data, "/echo -s ");
      strcat(data+8, parms);
      return 2;
  }
*/

; /reverse This is an example!
; !elpmaxe na si sihT
alias reverse {
  /dll "reverse.dll" reverse $1-
}


/dns

Added in 1.5

/dns [-46ch] <nick|address>

Resolves an ip address/hostname or nick to a ip address/hostname.

See also $dns, on DNS.

Same as /resolve.

Switches

-4 - Include ipv4 addresses.
-6 - Include ipv6 addresses.
-c - Clears all queued dns queries.
-h - Force <nick|address> to be a address.
-a - Print all ip addresses found if input was a hostname. (AdiIRC only)

Parameters

<nick|address> - The nick or address to lookup.

Example

; Lookup nick.
/dns Nick

; Lookup only ipv4 results.
/dns -4 Nick

; Lookup only ipv6 results.
/dns -6 Nick

; Lookup ip address 8.8.8.8
/dns 8.8.8.8

; Lookup google.com
/dns google.com

; Lookup nick!ident@host.com (host.com will be extracted)
/dns nick!ident@host.com


/dock

Added in 1.9.2

/dock [-blort]

Dock's AdiIRC main window to a side in windows, AdiIRC will be excluded from the main desktop and be visible regardless of app's in front of it.

/dock with no parameters shows current dock status.

Switches

-b - Dock to bottom.
-l - Dock to left.
-o - Disable docking.
-r - Dock to right.
-t - Dock to top.


/dockpanels

Added in 1.9.3

/dockpanels [-tscpnhoudi] [on|off]

Toggles monitor panels visibility (except Treebar) on/off.

/dockpanels with no parameters shows current monitor panels visibility status.

See also Monitor Panels.

Switches

Switch | Description
-t | Show/Hide Treebar monitor.
-S | Show/Hide Server monitor.
-p | Show/Hide Private monitor.
-n | Show/Hide Notice monitor.
-h | Show/Hide Highlights monitor.
-n | Show/Hide Notice monitor.
-o | Show/Hide Notify monitor.
-u | Show/Hide URL monitor.
-d | Show/Hide Dcc Transfer monitor.
-i | Show/Hide Nicklist monitor.

Parameters

Parameter | Description
on | Toggles monitor panels visibility on
off | Toggles monitor panels visibility off


/download

Added in 2.3

/download [-co] <name> <url> <filename>

Starts a file download from a url.

See also $download, $downloaderr, on DOWNLOAD.

Switches

-c - Stops and closes the download.
-o - Overwrite file it if already exists.

Parameters

<name> - Name of the download.
<url> - Url to download.
<filename> - Filename to save as.

Example

; Download the url 'https://adiirc.com/setup64.exe' to the file 'setup.exe'.
/download adiirc https://adiirc.com/setup64.exe setup.exe

on *:DOWNLOAD:adiirc:echo -ag Download of $download($download).file is complete.


/drawcopy

Added in 1.9.0

/drawcopy -himnrt <@window> [color] <x y w h> <@window> <x y [w h]>

Copies part of a picture to a different position in the same window or to another window. If the second [w h] parameters are specified, the picture is stretched/squeezed to fit.

Switches

-h - Highlights the windows icon if it is minimized.
-i - Draws in inverse mode.
-m - Changes the stretch mode quality when the picture is resized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.
-t - Indicates that you have specified the [color] RGB value as a transparent color in the source bitmap.

Parameters

<@window> - The picture window to copy from.
[color] - If -t is used, the RGB color used for transparency.
<x y w h> - Portion to of the source @window to copy.
<@window> - The picture window to copy to.
<x y [w h]> - The coordinate where to draw, if [w h] are specified, the picture is squeed/stretched to fit, they can be negative value to get a mirror effect.


/drawdot

Added in 1.9.0

/drawdot [-ihnr] <@window> <color> <size> <x y> [<x y>...]

Draws a dot using the specified color and size at the x,y co-ordinates. Multiple co-ordinates can be provided.

Switches

-i - Draws in inverse mode.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.

Parameters

<@window> - The picture window to draw in.
<color> - Color off the dot to draw.
<size> - Size of the dot to draw.
<x y> - x,y co-ordinates to draw at.
[<x y>...] - Additional x,y co-ordinates to draw at.


/drawfill

Added in 1.9.0

/drawfill [-ihnrs] <@window> <color> <color> <x y> [filename] [<x y>...]

Fills an area with the specified color starting at the specified co-ordinates.

Switches

-i - Draws in inverse mode.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.
-s - Indicates that the second color parameter is the color that should be filled (surface fill). If no -s is specified, the second color is the border color at which filling should stop (border fill).

Parameters

<@window> - Name of the picture window to draw.
<color> - The color used for the fill.
<color> - The color used to know how to fill (if -s, it fills as long as the color of the pixels around is the same color as the one you provide here, otherwise, it fills as long as the color of pixel is not the color you provide here)
<x y> - The coordinate where to fill.
[filename] - TODO
[<x y>...] - TODO


/drawline

Added in 1.9.0

/drawline [-ihnr] <@window> <color> <size> <x y> <x y> [<x y>...]

Draws a line from the first <x y> co-ordinate to the second, if more co-ordinates are specified, the line is continued.

Switches

-i - Draws in inverse mode.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.

Parameters

<@window> - The picture window to draw in.
<color> - Color off the line to draw.
<size> - Size of the line to draw.
<x y> - x,y co-ordinates to draw at.
[<x y>...] - Additional points to draw.


/drawpic

Added in 1.9.0

/drawpic -ihmnotsclgN <@window> [color] <x y [w h]> [x y w h] [N] <filename>

Switches

-t - TODO
-s - Indicates that you have specified the first [w h] parameters to squeeze/stretch the bitmap.
-c - Indicates that the bitmap should be cached. This greatly speeds up subsequent references to this bitmap. If you specify -c and the bitmap is already in the cache, it is loaded and used from the cache, otherwise it is reloaded from the file. You can clear the entire cache with /drawpic -c.
-l - TODO
-m - Changes the stretch mode quality when the picture is resized.
-o - Indicates that you have specified the [N] value before the filename, representing the index of the icon in the file.
-gN - TODO
-i - TODO
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.

Parameters

<@window> - The window name to draw.
[color] - If -t is used, the RGB color used for transparency.
<x y [w h]> - The x y coordinates where you want to draw, if -s is used, [w h] is the width/height that will be used to squeeze/stretch the bitmap.
[x y w h] - The area in the picture to be drawn.
[N] - If -o is used, the index number of the picture in the file.
<filename> - The filename for the picture.


/drawrect

Added in 1.9.0

/drawrect -ihnrfecd <@window> <color> <size> <x y w h> [<x y w h>...]

Draws a rectangle at the specified co-ordinates of the specified width and height. If more co-ordinates are specified these are also drawn as separate rectangles.

Switches

-i - Draws in inverse mode.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.
-f - Draws a filled rectangle.
-e - Draws an ellipse instead of a rectangle.
-c - Draws a focus rectangle.
-d - Draws a rounded rectangle, using the format "/drawrect -d x y w h [w h]" where w and h are the width and height of the ellipse used to draw the corners.

Parameters

<@window> - Name of the Picture Window to draw to.
<color> - The color used for the rectangle.
<size> - Thickness of the border in pixels.
<x y w h> - Co-ordinates for a rectangle in pixels, x and y are the top left corner.
[<x y w h>...] - Draw additional rectangles.


/drawreplace

Added in 1.9.0

/drawreplace -nr <@window> <color1> <color2> [x y w h]

Replaces all occurrences of color1 with color2.

Switches

-n - Prevents the display from being updated immediately.
-r - Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value.

Parameters

<@window> - Name of the picture window to draw.
<color1> - The color to replace.
<color2> - The color to replace with.
[x y w h] - the area of the picture to replace.


/drawrot

Added in 1.9.0

/drawrot -hmnbfc <@window> [color] <angle> [x y w h]

Rotates an area of a bitmap by the specified angle.

Switches

-b - Indicates that you have specified the background color value
-f - TODO
-c - TODO
-m - Changes the stretch mode quality when the picture is resized.

Parameters

<@window> - Name of the window to rotate.
[color] - The background color to use if -b is defined.
<angle> - The angle of the rotation.
[x y w h] - The area to rotate.


/drawsave

Added in 1.9.0

/drawsave -bNqN <@window> <filename>

Saves the background picture of the specified picture @window to a file.

Switches

-bN - TODO
-qN - TODO

Parameters

<@window> - Window name to save from.
<filename> - Filename to save to.


/drawscroll

Added in 1.9.0

/drawscroll -hn <@window> <x> <y> <x y w h> [<x> <y> <x y w h>...]

Scrolls the region inside the specified rectangle. The first <x> and <y> parameters represent the distance to scroll and can be positive or negative.

Switches

-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.

Parameters

<@window> - Name of the window to scroll.
<x> - The number of pixel to scroll on the x axis.
<y> - The number of pixel to scroll on the y axis.
<x y w h> - The region to scroll.
[<x> <y> <x y w h>...] - Additional pixels and regions to scroll.


/drawtext

Added in 1.9.0

/drawtext -hnrpboc <@window> <color> [color] [fontname fontsize] <x y [w h]> <text>

Draws text at the specified co-ordinates.

Switches

-p - Processes and interprets control codes in the text.
-b - Indicates that you have specified the second color parameter as the background color for the text.
-o - Indicates specified font should be in bold.
-c - Indicates that you have specified the [w h] values as the rectangle in which text should be printed. Text will be clipped if it extends beyond this rectangle.
-h - Highlights the windows icon if it is minimized.
-n - Prevents the display from being updated immediately.
-r - Indicates that the colors are in RGB format.

Parameters

<@window> - Name of the window to draw.
<color> - The textcolor.
[color] - The background color, if -b has been specified.
[fontname fontsize] - The name of the font and the size of the font.
<x y [w h]> - The coordinate of the text.
<text> - The text to draw.


/ebeeps

Added in 1.9.7

/ebeeps [on|off]

Enables or disables the sounds in the Sounds dialog.

Parameters

[on|off] - Turns sound on or off.


/echo

Added in 1.8.10

/echo [color] [-abcdefghi<N>lmnqrstNuvw<N>I<N>SR<N>B] [color name] [window] <text>

Prints text in the specified window using the specified color (0 to 35).

Switches

Switch | Description
-a | Prints to the current active window.
-b | Apply beep options.
-c | Indicates [color name] is defined after the switches. (not [color])
-d | TODO
-e | Encloses the line in line separators.
-f | Apply flash options.
-g | Prevents the echo from being logged.
-h | TODO
-i<N> | Indents the wrapped line by N characters.
-l | Apply highlight options.
-m | This echo should be treated as a normal message.
-n | Prevents the echo from highlighting the window Treebar/Switchbar icon.
-q | Don't print if called from a alias using the . prefix.
-r | Apply strip colors/bold/italic/underline options.
-s | Prints to the status/server window associated with current window.
-t<N> | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp.
-u | Indicates the first word is not a nick column prefix.
-v | Indicates the first word/token is a timestamp.
-w<N> | if N = 0, replaces emoticon tags in all token except the first one, N = 1, replaces only the first token, N = 2, replaces all tokens.
-I<N> | Inserts the line at position N in the buffer. (AdiIRC only)
-S | Used with --I<N> to force the buffer to scroll he number of wrapped lines of the inserted line. (AdiIRC only)
-R<N> | Replaces the line at position N in the buffer. (AdiIRC only)
-B | Indicates the [color] color is in $rgb format. (AdiIRC only)

Parameters

Parameter | Description
[color] | A numeric color value to use as line color (0 to 37).
[color name] | Used with the -c switch. One of the following: Action, ctcp, highlight, info, info2, invite, join, part, quit, kick, mode, topic, nick, normal, notice, notify, other, own, wallops, whois.
[window] | The target window.
<text> | The text to print.

Example

; Prints 'Hello World!' to current active window.
/echo -a Hello World!

; Prints 'Hello World!' to the target window during a event.
/echo $target Hello World!


/echomonitor

Added in 2.3

/echomonitor [color] [-hcrtNuvwN] [color name] <text>

Prints text in the server or channel monitor using the specified color (0 to 37).

See also Monitor Panels.

Switches

-h - Print to the channel monitor instead of server monitor.
-c - Indicates [color] is a color name.
-f - Apply flash options.
-tN - Apply timestamp prefix options. N is a optional UTC value to use for the timestamp.
-u - Disables using first word as prefix for nick column.
-v - Treats first word as a timestamp.
-wN - if N = 0, replaces emoticon tags in all token except the first one, N = 1, replaces only the first token, N = 2, replaces all tokens.

Parameters

[color] - A numeric color value to use as line color (0 to 37).
[color name] - Used with the -c switch. One of the following: Action, ctcp, highlight, info, info2, invite, join, part, quit, kick, mode, topic, nick, normal, notice, notify, other, own, wallops, whois.
[window] - The target window.

Example

; Print 'Some text' to the Server monitor.
/echomonitor -t Some text

; Print 'Some text' to the Channel monitor.
/echomonitor -ht Some text


/echox

Added in 1.9.3

/echox [color] [-abcdefghiNlmnqrstNuvwNINSB] [color name] [window] %var

Prints text in the specified window using the specified color (0 to 35).

Same as /echo but evaluates a variable instead of text and allows printing consecutive spaces.

See also $msgx.

Switches

Switch | Description
-a | Prints to the current active window.
-b | Apply beep options.
-c | Indicates [color name] is defined after the switches. (not [color])
-d | TODO
-e | Encloses the line in line separators.
-f | Apply flash options.
-g | Prevents the echo from being logged.
-h | TODO
-i<N> | Indents the wrapped line by N characters.
-l | Apply highlight options.
-m | This echo should be treated as a normal message.
-n | Prevents the echo from highlighting the window Treebar/Switchbar icon.
-q | Don't print if called from a alias using the . prefix.
-r | Apply strip colors/bold/italic/underline options.
-s | Prints to the status/server window associated with current window.
-t<N> | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp.
-u | Indicates the first word is not a nick column prefix.
-v | Indicates the first word/token is a timestamp.
-w<N> | if N = 0, replaces emoticon tags in all token except the first one, N = 1, replaces only the first token, N = 2, replaces all tokens.
-I<N> | Inserts the line at position N in the buffer. (AdiIRC only)
-S | Used with --I<N> to force the buffer to scroll he number of wrapped lines of the inserted line. (AdiIRC only)
-R<N> | Replaces the line at position N in the buffer. (AdiIRC only)
-B | Indicates the [color] color is in $rgb format. (AdiIRC only)

Parameters

Parameter | Description
[color] | A numeric color value to use as line color (0 to 37).
[color name] | Used with the -c switch. One of the following: Action, ctcp, highlight, info, info2, invite, join, part, quit, kick, mode, topic, nick, normal, notice, notify, other, own, wallops, whois.
[window] | The target window.
<text> | The text to print.

Example

; Create a variable with the text a    b.
/var %var a $+ $chr(32) $+ $chr(32) $+ $chr(32) $+ $chr(32) b

; Prints the variable to current active window.
/echox -a %var


/edit

Added in 1.9.3

/edit -almnqsv

Opens a edit form.

Switches

-a - Opens edit aliases.
-i - Opens edit nicklist buttons.
-l - Opens edit slaps.
-m - Opens edit menus.
-n - Opens edit now playing.
-q - Opens edit quit messages.
-s - Opens edit scripts/scripts editor.
-u - Opens edit user list.
-v - Opens edit variables.

Example

;Opens script editor
/edit -s


/editbox

Added in 1.9.0

/editbox [-abNeNfNinopqNsvck] [window] <text|color>

Fills the Editbox of the current or specified window with the specified text.

Switches

-a - Use the Editbox from the current active window.
-bN - Set selection start to position N.
-eN - Set selection end to position N.
-fN - If N = 1/[$null] sets focus to the Editbox and makes sure the window is not minimized and active.
-i - Inserts the text at current cursor position. (AdiIRC only)
-n - "press" enter on the Editbox after the text is added.
-o - TODO
-p - Append a white-space after the text.
-qN - TODO
-s - Use the Editbox from status/server window associated with current window.
-v - Prevents the Editbox contents from being changed.
-c - Sets the Editbox text color.
-k - Sets the Editbox background color.

Parameters

[window] - The window to edit.
<text|color> - The text to append/insert or the color to set.

Example

; Inserts 'Hello World!' into the Editbox in current active window.
/editbox -a Hello World!


/emailaddr

Added in 1.9.7

/emailaddr <address>

Act's as an alias for /usernick.

Changes your usernick/ident on current connection.

If connected from the serverlist, the serverlist is updated, else quick connect is updated.

Parameters

<address> - The new address.

Example

; @host.com is ignored
/emailaddr Obiwan@host.com


/enable

Added in 1.9.0

/enable <group1 group2 ... groupN>

Enables the specified groups in all scripts.

Wildcard is allowed.

Parameters

<group1 group2 ... groupN> - A list of groups to be disabled.

Example

;Enable group #one #two #three.
/enable #one #two #three

;Enable all groups matching #*o*.
/enable #*o*


/encoding

Added in 1.8.3

/encoding [codepage]

Sets text encoding used on current server.

/encoding with no parameters will show current codepage.

Setting will update the serverlist entry if found.

Parameters

[codepage] - The codepage to set. -1 will use the system default encoding.

Example

;Set codepage to UTF-8
/encoding 65001

;Set codepage to ISO-8859-11
/encoding 28601

;Set codepage to system default
/encoding -1


/events

Added in 1.9.3

/events [on|off]

Switches named events on/off, if no parameters are defined, current status is shown.


/exit

Added in 1.8.4

/exit [-nr] [message]

Disconnects all servers, then closes AdiIRC.

Switches

-n - Disables the exit confirmation dialog.
-r - Restarts AdiIRC.

Parameters

[message] - Optional quit message, if no message is specified, default or random quit message is used.


/fakeraw

Added in 1.8.10

/fakeraw [%var|text]

Intended for plugins who wants to take full control over certain raw aspects of AdiIRC or for debugging.

Can be used to make AdiIRC parse a raw message as if it came from a server, use with caution.

Parameters

[text] - The raw text to parse.

Example

;Sends a fake message to #channel
/fakeraw :Nick!Ident@host.com PRIVMSG #channel :This is a fake message

;Set a variable with consecutive spaces.
//set %temp :asd!asd@asd PRIVMSG $me :a $+ $chr(32) $+ $chr(32) $+ $chr(32) $+ $chr(32) b

;Sends the fake message with the variable as parameter, consecutive spaces is now preserved.
/fakeraw %temp


/fclose

Added in 1.8.10

/fclose <handle>

Closes the file associated with this handle.

If you specify a wildcard, all matching handles are closed.

Parameters

<handle> - The handle to close.

Example

alias example {
  ;Open a file.
  /fopen -o x example.txt

  ;write to the file
  /fwrite x Print this line.

  ;Close the file handle
  /fclose x
}


/fget

Added in 2.4

/fget [on|off]

Turns on or off fast dcc get transfers.

Needs to be disabled for compatibility with some clients.

Parameters

[on|off] - Turns fast dcc get transfer on or off.


/filter

Added in 1.9.4

/filter [-asdfhNkwxnpriocteubglLzN] [n-n2] [c s] <infile | dialog id> <outfile | dialog id | alias> [alias] <matchtext>

Scans lines of text in a window, file or dialog control, any matches are then written out to another window, file, or dialog control.
The order of the switch are important, they define what is the infile and what is the outfile, see the examples for more information.

You can filter blank lines by specifying $crlf for the matchtext.

The $filtered identifier will retrieve the number of matches found.

Switches

-w - Indicates the parameter is a window.
-f - Indicates the parameter is a file.
-a - Sorts filtered lines by calling the optional [alias] parameter, the alias is passed two lines, $1 and $2, it must compare both and return -1, 0, or 1 to indicate relative sort order of these lines to each other.
-x - Excludes matching lines.
-n - Prefixes lines with a line number. (the Nth match)
-d - TODO
-s - Indicates the status window will be used.
-p - TODO
-r - Specifies the range of lines n to n2 for filtering.
-b - Strips any control codes when matching text.
-g - Indicates the matchtext is a regular expression.
-z - TODO
-k - Indicates that you have specified an <alias> as the output instead of a window name. The alias will be called with the result of each filtered line with the form $<alias>($1) where $1 is the matched line.
-i - Indicates that you have provided a [dialog id] custom dialog control as the input.
-o - Indicates that you have provided a [dialog id] custom dialog control as the output.
-c - Clears the output window/file before writing to it.
-t - Sorts the output based on [c s], column C using character S as the columns separator.
-e - Used with -t, specifies a descending sort.
-u - Used with -t, specifies a numeric sort.
-l - Filters from the side-listbox in the first window.
-L - Filters to the side-listbox in the second window.
-hN - TODO
-N - Keep the nickcolumn character when filtering from a window. (AdiIRC only)

Parameters

[n-n2] - if -r is used, indicates the range of lines to be scanned*
[c s] - if -t is used, indicates how to do the sort
<infile | dialog id> - if no switch implies a window's name to be use as the infile, you must provide an infile (a window, a file, or a dialog control)
<outfile | dialog id | alias> - if no switch implies a window's name to be used as the outfile, you must provide an outfile (a window, a file, a dialog control, or an alias name if -k is used)
[alias] - optional alias called if -a is used
<matchtext> - the expression used for the search, if $null is used, it matches everything.

Example

;Filter from the file "c:\my file.txt" to the custom window @mywin.
/filter -fw "c:\my file.txt" @mywin *findthis*

;Filter from the custom window @mywin to the file "c:\my file.txt".
filter -wf @mywin "c:\my file.txt" *findthat*

;Filter from the status window to the single message window.
/filter -sd *findthis*

;Filter from the single message window to the status window.
/filter -ds *findthat*

;Filter from the filename @this_is_a_file to the dialog 'dialog', id '1'.
/filter -fo @this_is_a_file dialog 1 *findthis*

;Filter from a file and call an alias for each line.
/filter -fk file myalias *findthat*

;Filter from a file to a file using regex.
/filter -ffg file1 file2 /regex here/

alias sortexample {
  ;Create 2 windows.
  /window @asd1
  /window @asd2

  ;Add some unordered lines.
  aline @asd1 cccc3|cccc2|cccc1
  aline @asd1 aaaa3|aaaa2|aaaa1
  aline @asd1 bbbb3|bbbb2|bbbb1

  ;Sort by column "1" where column separator is "|" (ascii char 124). (equal to $gettok(cccc3|cccc2|cccc1, 1, 124))
  /filter -twwc 1 124 @asd1 @asd2
}


/findtext

Added in 1.9.2

/findtext [-enr] <text>

This searches active window for the specified text (same as CTRL + F).

Same as /search.

Switches

-e - Indicates text is a regular expression. (AdiIRC only)
-n - Search backwards.
-r - Use exact match. (AdiIRC only)
-x - Reset previous search before seaching again. (AdiIRC only)
-g - Opens the globalk find text dialog. (AdiIRC only)

Parameters

<text> - Text to search.

Example

; Searches for 'Hello World1'
/findtext Hello World!

; Searches for any text matching 'Hello'
/findtext -r .*Hello.*


/firewall

Added in 2.8

/firewall [-cmNgNs[+|-]d] [on|off] [server] [port] [username] [password]

Change global or current server proxy settings.

Same as /proxy.

Switches

-c - Clears the username and password fields.
-mN - Sets the connection type, if N = 4 or 5 for Socks4 or Socks5, or p for http proxy.
-gN - Enables or disables global proxy settings for current server, if N = 0 Disable, if N = 1 Enable. (AdiIRC only)
-s - Change settings for current server instead of global. (AdiIRC only)
+|-d - Turns dcc through proxy on or off.

Parameter

[on|off] - Enables or disables proxy.
[server] - Proxy server to connect to.
[port] - Proxy port to connect to.
[username] - Proxy username.
[password] - Proxy password.


/flash

Added in 1.9.2

/flash [-bNrNwN] [window] <text>

This flashes the specified window/icon but only if AdiIRC is not the active application.

Switches

-bN - TODO
-rN - TODO
-wN - TODO

Parameters

[window] - The window to flash.
<text> - TODO


/flist

Added in 1.9.0

/flist [handle]

Lists all open files, or those matching the specified handle.

Wildcards can be used.

Parameters

[handle] - Handle to match.

Examples

;List all open files matching myhandle*.
/flist myhandle*

;List all open files.
/flist


/flushini

Added in 1.9.6

/flushini <filename>

Does nothing since ini files are written directly in AdiIRC.


/font

Added in 2.2

/font [-asbiueltdzxrwomcnfgp] [window] <fontsize> <fontname>

Allows you to change the font for the current/specified window or control.
If no parameters are specified, opens the font dialog.

Only new messages will have the new bold/italic/underline settings.

Switches

-a - Change active window font.
-s - Change status window font.
-b - Use bold font.
-i - Use italic font.
-u - Use underline font. (AdiIRC only)

-e - Change Editbox font. (AdiIRC only)
-l - Change Nicklist/Listbox font. (AdiIRC only)
-t - Change Textview font. (AdiIRC only)

-d - Sets the font as default font.
-z - Resets all window fonts to default or the specified font.
-x - Resets the specified window font to default. (AdiIRC only)

-r - Change the Treebar font.
-w - Change the Switchbar font.
-o - Change the Toolbar font.
-m - Change the Menubar font.
-c - Change the Statusbar font.
-n - Change the Monitor Panels font.
-f - Change the Channel Monitor Panel font.
-g - Change the Server Monitor Panel font.
-p - Change the Tips font.

Parameters

[window] - Window to change font for.
<fontsize> - Font size to change to.
<fontname> Font name to change to.

Example

; Change font for channel to bold "Comic Sans Ms" size 11
/font -b #channel 11 Comic Sans Ms


/fopen

Added in 1.8.10

/fopen [-no] <handle> <filename>

Opens the specified file and assigns a name to it for later reference. The open fails if the file does not exist.

Switches

-n - Creates the file if it does not exists, fails if the file exists.
-o - Creates a new file, overwrites if it exists.

Parameters

<handle> - Handle to assign the file.
<filename> - Path/Filename to open.

Example

alias fopen_example {
  ;Open hello.txt file.
  /fopen -n h hello.txt

  ;Error check
  if ($ferr) {
    /echo -sce info * /fopen_example: $err
    /halt
  }

  ;Write 'Hello There' to the file.
  /fwrite h Hello There

  ;Close the handle.
  /fclose h

  ;Open file in default editor.
  /run hello.txt
}


/fseek

Added in 1.8.10

/fseek [-lnrw] <handle> <position | line number | wildcard | regex>

Sets the read/write pointer to the specified position in the file.

-l - Set position to line 'line number'.
-n - Set position to start of the next line.
-r - Set position to text matching 'regex'.
-w - Set position to text matching 'wildcard'.

Parameters

<handle> - The file handle to seek.
<position | line number | wildcard | regex> - The position/Line number with -l/Wildcard with -w/Regex with -w to set.


/fsend

Added in 2.4

/fsend [on|off]

Turns on or off fast dcc send transfers.

Needs to be disabled for compatibility with some clients.

Parameters

[on|off] - Turns fast dcc send transfer on or off.


/fullname

Added in 1.9.7

/fullname <name>

Changes your realname/fullname on current connection.

If connected from the serverlist, the serverlist is updated, else quick connect is updated.

Parameters

<name> - The new name.

Example

/fullname Roger Rabbit


/fullscreen

Added in 1.9.4

/fullscreen [on | off]

Turns fullscreen on or off, if no parameters is defined, shows current fullscreen status.

Parameters

[on | off] - Turn fullscreen or or off.


/fwrite

Added in 1.8.10

/fwrite [-bn] <handle> <text | &binvar>

Writes text or the specified binary variable to the file.

Switches

-b - A binvar is specified.
-n - Append a $crlf at the end of the text/&binvar.

Parameters

<handle> - The file handle to write to.
<text | &binvar> - The text or &binvar to write.


/gcmem

Added in 1.8.10

/gcmem

Forces garbage collection and prints current real memory usage before and after, used for debugging.


/google

Added in 1.5

/google [-nNpt] [window] <text>

Searches google for text and prints the output to current window or [window].

Switches

-p (or using /pgoogle) - Send the result to the channel instead of printing.
-t - Specifies a 'window' is defined.
-nN - Show N results.

Parameters

[window] - Window to show the result.
<text> - Text to search.

Example

;Search for 'Star Wars' and print 5 results.
/google -n5 Star wars

;Search for 'Natalie Portman' and send the result to #channel.
/google -p #channel Natalie Portman


/goto

Added in 1.9.0

/goto <label>

Allows you to jump from one point in a script to another point.

Parameters

<label> - The label to jump to.

Example

; /is_even <1-9>
;
; Example: /is_even 2
;   2 is an even number.
;   2 is a prime number.
alias is_even {
  /goto $1
  :0 | echo -a You typed zero. | return
  :4 | echo -a $1 is an even number.
  :1 | :9 | echo -a $1 is a perfect square. | return
  :2 | echo -a $1 is an even number.
  :3 | :5 | :7 | echo -a $1 is a prime number. | return
  :6 | :8 | echo -a $1 is an even number. | return
  :error
  /echo -a Only single-digit numbers are allowed!
  /reseterror
}


/groups

Added in 2.4

/groups [-ed]

Displays a list of either all, enabled, or disabled groups in your scripts.

Switches

-e - List all enabled groups.
-d - List all disabled groups.

Example

; List all enabled and disabled groups.
/groups

; List only enabled groups.
/groups -e


/guser

Added in 1.9.7

/guser [-a] <levels> <nick|address> [type] [info]

Same as /auser except looks up the address first using /userhost.

Adds the specified nick/address to the users list with the specified levels.

If the first level is not preceded by an equal sign then it is a general access level.

Switches

-a - Adds the levels to the matching user, if no user is found, a new user is added.

Parameters

<levels> - Access level(s) to add.
<nick|address> - Nick or address to add.
[type] - Lookup the address using this type of address.
[info] - Optional information text.

Example

; Adds a new user 'Nick' with access levels 1, 2 and 3.
/guser 1,2,3 Nick

; Updates access levels for 'Nick' with 4 and 5.
/guser -a 4,5 Nick

; Updates access levels for 'Nick' with 7 and 7.
; By using = in front of the first access level, the default access level for this user is not modified.
/guser -a =6,7 Nick


/hadd

Added in 1.9.0

/hadd [-bcmsuNz] <name> <item> [text | &binvar]

Switches

-b - Indicates &binvar is set.
-c - Chop the &binvar to first null byte.
-m - Creates the table if it does not exist.
-s - Displays the result.
-uN - Unset the item after N seconds.
-z - Decreases the item once per second until it reaches zero and then unsets it.

Parameters

<name> - The hash table to add to.
<item> - The hash table item to add to.
[text | &binvar] - The text or &binvar value to add.

Example

; call the setup once
; /abbr_setup
;
; //echo -a $abbr(lol)
;
alias abbr_setup {
  ;Populate the table, create it if it does not exist.
  hadd -m abbr lol laughing out load
  hadd abbr omg oh my gosh
  hadd abbr lmao laughing my a?? off
  hadd abbr brb be right back
}

;Get the abbreviation.
alias abbr return $hget(abbr, $1)


/halfop

Added in 1.5

/halfop <nick> [nickN...]

Promotes nick to channel-half operator on current channel. (mode #channel +h Nick)

Parameters

<nick> - The nick to promote.
[nickN...] - Additional nicks to promote.

Example

;Promote 3 users.
/halfop Nick1 Nick2 Nick3

;Promote 1 user.
/halfop Nick1


/halt

Added in 1.9.1

/halt

Halts a script and prevents any further processing.

If used in a event with ^ prefix, will stop AdiIRC from showing the default text for that event.

Example

alias example {
  ;Echo 'some text!'-
  /echo -a Some text!

  ;Halt the script.
  /halt

  ;Echo some more text, but this line will never be executed.
  /echo -a This echo command will never execute
}


/haltdef

Added in 1.9.0

/haltdef

Tell's AdiIRC to not output it's own default text in a ^ event, without halting the entire script.

Example

on ^*:op:#channel:{
  ;Tell AdiIRC to not display the usual message when someone is opped.
  /haltdef

  ;Instead display your own message.
  /echo -t #channelOP : $opnick by $nick
}


/hdec

Added in 1.9.0

/hdec [-bcmsuNz] <name> <item> [num | &binvar]

Decreases the value of the item by 'num'.

Switches

-b - Indicates &binvar is set.
-c - Chop the &binvar to first null byte.
-m - Creates the table if it does not exist.
-s - Displays the result.
-uN - Unset the the item after N seconds.
-z - Decreases the item once per second until it reaches zero and then unsets it.

Parameters

<name> - The hashtable where the item resides.
<item> - The hashtable item to decrease.
[num | &binvar] - The number or &binvar to decrease by.

Example

alias countdown {
  ;Adds the item down with a value of 10 to the table count.
  hadd -m count down 10

  echo -a $hget(count,down) $+ !
  :repeat

  ;Checks if the value of down returns true.
  if ($hget(count,down) > 1) {
    ;decreases down by 1
    hdec count down
    ;echos the current count
    echo -a $hget(count,down) $+ !
    ;repeats
    goto repeat
  }
  ;If the previous if statement returns false it carries on with this.
  else echo -a 0, Hurray!
  hfree -s count
}


/hdel

Added in 1.9.0

/hdel [-sw] <name> <item>

Deletes an item from a hash table.

Switches

-s - Displays the result.
-w - Indicates item is a wildcard.

Parameters

<name> - The hashtable to delete from.
<item> - The hashtable item to delete.

Example

alias example {
  ; Create a hash table
  /hadd -m example academic a

   ; Add some items to the hash table..
  /hadd example academy a
  /hadd example accelerate a
  /hadd example accelerator a
  /hadd example accept a
  /hadd example access a
  /hadd example accident a
  /hadd example because b

  ; Print number of items.
  //echo -a $hget(example, 0).item

  ; Remove everything matching wildcard 'a*'.
  /hdel -w example a*

  ; Print number of items.
  //echo -a $hget(example, 0).item

  ; Free table.
  /hfree example
}


/help

Added in 1.8.3

/help [-l] [keyword]

If the file 'Help\AdiIRC.chm' exists, brings up the section that matches the specified keyword, if not opens relevant page on Wiki

Switches

-l - Forces AdiIRC to open the wiki page even if there is a AdiIRC.chm file.

Parameters

[keyword] - Keyword to search.

Example

;Lookup /me command
/help /me

;Lookup $me identifier
/help $me


/hfree

Added in 1.9.0

/hfree [-sw] <name>

Deletes a hash table.

Switches

-s - Displays the result.
-w - Indicates name is a wildcard.

Parameters

<name> - The hashtable to delete.

Example

alias example {
  ;Create the hash table 'hash'.
  /hmake hash

  ;Print the hashtable size.
  echo -a $hget(hash) : $hget(hash).size

  ;Creates the hash table 'h' with 10 items.
  /hmake h 10

  ;Creates the hash table 'has' with 20 items.
  /hmake has 20

  ;Delete hash table 'hash'.
  /hfree -s hash

  ;Print the hashtable size.
  /echo -a $hget(h) : $hget(h).size - $hget(has) : $hget(has).size

  ;Deletes any hash tables matching h*
  /hfree -sw h*
}


/highlight

Added in 1.9.4

/highlight [on | off]

Turns highlight on or off for a channel or private window.

If no parameter is given, current highlight status is displayed.

Parameters

[on | off] - Turn on or off.


/hinc

Added in 1.9.0

/hinc [-bcmsuNz] <name> <item> [num | &binvar]

Increases the value of the item by 'num'.

Switches

-b - indicates &binvar is set.
-c - chop the &binvar to first null byte.
-m - creates the table if it does not exist.
-s - displays the result.
-uN - unsets the item after N seconds.
-z - decreases the item once per second until it reaches zero and then unsets it.

Parameters

<name> - The hashtable where the <item> is stored.
<item> - The hashtable item to increase.
[num | &binvar] - The number or &binvar to increase by.

Example

alias example {
  ;Create a hashtable.
  /hmake -s example

  ;Add a few items.
  /hadd example item1 4
  /hadd example item2 7
  /hadd example item3 9

  ;Print the items.
  /echo -a item1 = $hget(example, item1)
  /echo -a item2 = $hget(example, item2)
  /echo -a item3 = $hget(example, item3)

  ;Increase the values.
  /hinc example item1 5
  /hinc example item2 12
  /hinc example item3 1

  /echo -e -

  ;Print the items.
  /echo -a item1 = $hget(example, item1)
  /echo -a item2 = $hget(example, item2)
  /echo -a item3 = $hget(example, item3)

  ;Cleanup.
  /hfree -s example
}


/hload

Added in 1.9.0

/hload [-bins] <name> <filename> [section]

Loads a table from a file.

Switches

-b - TODO
-i - Treats the file as an ini file. You can specify an optional section name after the filename.
-n - Load file as data only, with no items. When loading with -n each line of data is assigned an N item value, starting at N = 1.
-m - Creates the table if it does not exist. (AdiIRC only)
-s - Displays the result.

Parameters

<name> - The hashtable to load into.
<filename> - The filename of the saved hashtable to load.
[section] - Hashtable file section to load.


/hmake

Added in 1.9.0

/hmake [-s] <name> <N>

Creates a new hash table with N slots.

Switches

-s - Displays a creation resulr.

Parameters

<name> - The hashtable name to create.
<N> - The initial number of hashtable items.

Example

; call the setup once
; /example
;
; //echo -a $abbr(lol)
;
alias example {
;Create the table.
/hmake abbr 1000

;Populate the table.
  /hadd abbr lol laughing out load
  /hadd abbr omg oh my gosh
  /hadd abbr lmao laughing my a?? off
  /hadd abbr brb be right back
}
; get the abbreviation
alias abbr return $hget(abbr, $1)


/hop

Added in 1.5

/hop [-cn] [#channel] [message]

Parts the current channel and joins a new one. If no new channel is specified, it parts and rejoins the current channel without closing the window.

Switches

-c - cycles the specified channel by parting and rejoining it.
-n - minimizes the channel window.

Parameters

[#channel] - #channel to (re)join.
[message] - Part message to send to the #channel.

Example

;Part/Join #channel.
/hop #channel BrB


/hotlink

Added in 2.7

/hotlink -md [@menu]

Opens the default and/or a custom popup menu during a on HOTLINK right-click event.

See also on HOTLINK, $hotlink, $hotline, $hotlinepos.

Switches

-m - Creates and opens a popup menu using a custom @menu
-d - If @menu is defined, adds the menu items from @menu to the default popup menu, otherwise shows the default popup menu.

Parameters

[@menu] - Custom popup menu.

Replace menu Example

; Create a popup menu called '@popup'.
menu @popup {
  Popup text:echo -ag Popup menu
}

; When right-clicking the word 'popup', open the custom '@popup' menu.
on *:hotlink:popup:*:{
  if ($hotlink(event) == rclick) {
    hotlink -m @popup
  }
}

Append menu Example

; Create a popup menu called '@popup'.
menu @popup {
  Popup text:echo -ag Popup menu
}

; When right-clicking the word 'popup', open the default popup menu and appends the custom '@popup' menu items.
on *:hotlink:popup:*:{
  if ($hotlink(event) == rclick) {
    hotlink -dm @popup
  }
}


/hsave

Added in 1.9.0

/hsave [-abinsu] <name> <filename> [section]

Saves a hash table to a file.

Switches

-s = Displays the result.
-b = TODO
-i = Treats the file as an ini file. You can specify an optional section name after the filename.
-n = Load file as data only, with no items. When loading with -n each line of data is assigned an N item value, starting at N = 1.
-a = Appends to an existing file instead of overwriting it.
-u = Includes unset items.

Parameters

<name> - The hash table to save.
<filename> - The filename to save to.
[section] - Section of ini tile to save to. (used witth -i)


/ialmark

Added in 1.9.9

/ialmark [-nrw] <nick> [name] [text]

Marks the IAL entry for a nickname with the specified text.

See also $ialmark, $ial.

Switches

-n - Indicates [name] is defined, If -n is not Defined, the default name 'default' is used.
-r - Removes the mark.
-w - Indicates [name] is a wildcard.

Parameters

<nick> - Nick to mark.
[name] - Name of the mark.
[Text] - Text to mark.

Example

; Mark the nick 'Nick' with the text 'Hello World'.
/ialmark Nick Hello World

; Print the mark.
//echo -ag $ial(Nick).mark

<pre>
; Sets a mark for the nick 'nick' with the name 'markname' and the text 'mark text'.
/ialmark -n nick markname mark text

; Retrieve the mark text for the name 'markname'.
//echo -ag $ialmark(nick, markname)
</pre>


/identd

Added in 1.9.7

/identd [on|off] [userid]

Enabled/disabled the identd server and/or updates the identd userid.

Parameters

[on|off] - Enable or disable the identd server.
[userid] - Change the identd userid.


/icon

Added in 2.4

/icon [-mscptufnrheiob | window] <filename>

Sets or resets the icon for the specified window type or window.

Switches

-m - Main icon.
-s - Server icon.
-c - Channel icon.
-p - Query icon.
-t - Tool icon.
-u - Custom icon.
-f - Folder icon.
-u - Custom icon.
-n - Notify icon.
-r - Resets icon.
-h - Highlight icon.
-e - Treebar arrow down icon.
-i - Treebar arrow right icon.
-o - Scroll to bottom arrow.
-b - Treebar close icon.

Parameters

[window] - Window to change icon for, if no icon is defined and no window type is defined, current window is used.
<filename> - The filename of the icon.

Example

; Change the channel icon.
/icon -c C:\Users\User\Pictures\icon1.ico

; Reset the channel icon.
/icon -cr


/ignore

Added in 1.5

/ignore [-cdiklnprtuNwx] <on | off | nick | address> [type] [network]

Ignore certain types of messages or all messages from a user.
/ignore with no parameters will show current ignore status.

The nick will not be hidden in the Nicklist, and join/part/quit/mode messages will not be ignored.
If you have a query window open with the nick, the query messages will not be ignored until you close the query window.
If the ignore doesn't seem to work, make sure ignored is enabled by typing /ignore on.

Switches

-c - Ignore channel messages.
-d - Ignore DCC requests.
-i - Ignore channel invites.
-k - Ignore control codes.
-l - List all ignores on current network.
-n - Ignores notice messages.
-p - Ignore private/query messages.
-r - Remove ignore.
-t - Ignore CTCP requests.
-uN - Remove the ignore after N seconds.
-w - Apply the ignore to any network.
-x - Indicates address should be excluded.

Parameters

<on | off | nick | address> - Turns on/off the ignore feature, or if a nick/address is specified, applies the ignore to that user.
[type] - Ignore by hostmask, see $mask for available types.
[network] - If specified, applies the ignore on that network, otherwise applies the ignore on the current network.

Example

; Ignore all types of messages from 'Nick!*@*'.
/ignore Nick

; Ignore only channel messages from 'Nick!*@*'.
/ignore -c Nick

; Remove 'Nick!*@*' from the ignorelist.
/ignore -r Nick

; Ignore DCC requests from everyone.
/ignore -d *!*@*


/iline

Added in 2.2

/iline [-ahilnpsb] [color] <@name> <N> <text>

Inserts <text> into the Nth line in a custom window named <@name>.

Switches

-a - Selects the newly added item while keeping the old selection in a listbox
-h - Highlights the window's node in the treebar/switchbar is the window is minimized
-iN - Indents the wrapped line by N characters.
-l - Specify the action to take place on the side-listbox
-n - Prevent the line from being added if it already exists
-p - TODO
-s - Clears the old selection in a listbox and selects the newly added item
-b - Indicates the [c] color is in $rgb format. (AdiIRC only)

Parameters

[color] - Line color number.
<@name> - The custom window name.
<N> - The line number to insert the text at.
<text> - The text to add.

Example

; Open a custom window.
/window -de @Example

; Add 3 blue colored lines.
/aline 12 @Example Line1
/aline 12 @Example Line2
/aline 12 @Example Line3

; Insert a red colored lines at line number 2
/iline 4 @Example 2 Line4


/inc

Added in 1.9.0

/inc [-cesuNz] <%var> [value]

Increase the value of %var by value.

Switches

-c = increase %var by value every second.
-e = Unset the variable when AdiIRC exits.
-s = Prints out the value of the variable.
-uN = Increase %var by value then unset the variable after N seconds.
-z = Decrease %var by value every second until zero and then unset the variable.
-k = TODO

Parameters

<%var> - The variable to increase.
[value] - The value to increase by, default is 1.

Example

alias example {
  ;Create a local variable and set it to 5.
  /var %x 5

  ;Increase %x by 5.
  /inc %x 5

  ;Print out %x's content.
  /echo -a %x
}


/inick

Added in 2.4

/inick -rbfaniovpylNsN [nick[!user@host|N]|on|off] [iconfile] [modes] [levels]

Change the items in the nick icon list.

Switches

-r - Remove a item from the nick icon list.
-b - Set the address book flag. (AdiIRC only)
-f - Forces the addition of a new entry instead of updating an existing one.
-a - Sets the Any Mode option.
-n - Sets the No Mode option.
-i - Sets the Ignore list option.
-o - TODO
-v - TODO
-p - TODO
-y - Sets the Notify list option.
-lN - Sets the idle time.
-sN - Sorts the item into the Nth position in the list.

Parameter

[nick[!user@host]|N] - The nick/hostname to add/edit or the Nth item to remove.
[on|off] - Enables or disables nick icons.
[iconfile] - The icon file to use.
[modes] - Channel modes to match.
[levels] - User levels to match.

Example

; Disable nick icons.
/inick off

; Enable nick icons.
/inick on

; Add a nick icon for the nick 'Nick'.
/inick Nick "c:\Users\User\Pictures\icon1.ico"

; Remove the nick icon for the nick 'Nick'.
/inick -r Nick


/invite

Added in 1.5

/invite [nick] [#channel]

Invites a nickname to a channel that you are on.

Parameters

[nick] - Nick to invite.
[#channel] - Channel to invite the nick to.


/iuser

Added in 1.9.7

/iuser <nick|address> [info]

Allows you to set or remove the info appended to a user list entry.

Parameters

<nick|address> - Nick or address to modify.

[info] - Information text to set/remove.

Example

; Updates information text for 'Nick' to 'Some text here'
/iuser Nick Some text here


/join

Added in 1.5

/join [-inx] <#channel> [password]

Joins a channel.

Switches

-i - Join the channel to which you were last invited.
-n - Minimizes the channel to join.
-x - Maximizes the channel to join.

Parameters

<#channel> - Channel to join.
[password] - Channel password if any.

Examples

;Join channel #channel.
/join #channel

;Join multiple channels.
/join #channel,#channel2 password,#channel3


/kick

Added in 1.5

/kick [#channel] <nick> [reason]

Kicks a user from a channel and shows an optional kick reason.
If no channel parameter is defined, it will kick the user in current channel.

Parameters

[#channel] - Channel to kick the user from.
<nick> - Nick to kick.
[reason] - Reason for kicking.

Example

;Kick Nick from #Channel.
/kick #channel Nick Stop spamming!


/kill

Added in 1.5

/kill <nick> [reason]

Remove a user from the network with an optional reason.

Parameters

<nick> - Nick to kill.
[reason] - Reason for killing.

Example

;Kill Nick.
/kill Nick Stop spamming!


/lag

Added in 1.5

/lag

Shows your server connection lag in current channel.


/leave

Added in 2.3

/leave [#channel] [message]

Leaves a channel with an optional part message.

If no channel is defined, current one will be used.

Same as /part.

Parameters

[#channel] - Channel to part.
[message] - Part message.

Examples

;Part current channel with part message "See you later!".
/leave See you later!

;Part #channel with part message "See you later!".
/leave #channel See you later!


/linemarker

Added in 2.7

/linemarker [-grsN] [window] |on|off]

Changes unread line marker settings for a window.

If no window is defined, current window is used.

Switches

-g - Scrolls to the unread line marker.
-r - Reset unread marker line position on [window].
-sN - If N = 0, enables the small unread line marker, if N = 1, disables the small unread line marker.

Parameters
[window] - Window to edit.
[on|off] - Enables or disables unread line marker for all windows, unless [Window] is defined.

Example

; Automatically scrolls to the unread line marker when changing windows.
on *:ACTIVE:*:linemarker -g


/linesep

Added in 1.9.0

/linesep [-s] [window]

Prints a line with a - but only if last line is not a -.

Switches

-s - Print to status window.

Parameters

[window] - Window to print to.


/list

Added in 1.5

/list [-n] [#channel] [-min #] [-max #]

Shows a list of channels on the current server. (will popup a graphical channel list if enabled)

Parameters

[-n] - Minimizes the channel list window.
[#channel] - List only channels matching #channel (can be a partial channel name).
[-min #] - List only channels with minimum amount of people.
[-max #] - List only channels with maximum amount of people.

Example

;List all channels.
/list

;List all channels with minimum 5 people and maximum 20 people.
/list -min 5 -max 20

;List only channel #AdiIRC.
/list #AdiIRC

;List all channels matching AdiIRC.
/list *AdiIRC*


/load

Added in 1.9.0

/load -a <filename>
/load -bcmnpqs <filename>
/load -rsuv <filename>

The /load command can be used to load any type of existing file including: aliases, popups, remote, users, and variables. Using /load on an already loaded file will update its contents while maintaining its order among other files.
Note that unlike the /reload command, /load will trigger the on LOAD and on START events.

See also /reload, /unload, on LOAD, on UNLOAD, on START.

Switches

-a - loads an aliases file.
-b - Loads a nicklist buttons file. (AdiIRC only)
-ps - TODO
-pc - TODO
-pq - TODO
-pn - TODO
-pm - TODO
-ru - Loads a user list file.
-rv - Loads a variables file.
-rsN - Loads a remote scripts file, if N is specified, load into the Nth position in the script list.

Parameters

<filename> - Filename to load.


/loadbuf

Added in 1.9.0

/loadbuf [lines] [-acNegilmnoprst<topic>] <window | dialog id> <filename>

Loads the specified number of lines from the end of the file of filename into the specified window.

-a - Loads the text into the active window.
-cN - Specifies the default color (N) for the line being read.
-e - Evaluates variables and identifiers in the line being read.
-g - TODO
-i - TODO
-l - Reads the lines into side-listbox in a custom window.
-m - Indicates that the logging text is already timestamped.
-n - Logs the loaded text to a log file, if logging is enabled for that window
-o - Indicates that you have specified the [dialog id] parameters instead of a window name in order to load lines into a custom dialog control.
-p - TODO
-r - Clears the contents of the output window before adding read lines.
-s - Reads the lines into the associated status window.
-t<topic> - Loads the text under the [topic] section in an INI or plain text file.

Parameters

[lines] - If specified, the number of lines to add from the end the file, otherwise the whole content of the file is added.
<window | dialog id> - Window or dialog id to load into.
<filename> - File to load.

Example

; Open a custom window.
/window @Example

; Read 10 lines from the AdiIRC config file into the custom window
//loadbuf 10 -r @Example $qt($adiircini)

; Only loads the [Messages] AdiIRC section of the config file.
//loadbuf -rTMessages @Example $qt($adiircini)


/lock

Added in 1.9.4

/lock [-r] <password>

Set a password and hide the main AdiIRC window, no window interaction is allowed until the correct password is entered.

$locked can be used to test if AdiIRC is locked or not.

AdiIRC can also be locked down by holding the Control key down while minimizing the main window

Switches

-r - Remove the lock.

Parameters

<password> - Password to set.


/log

Added in 2.3

/log <on|off> <window> [-f filename]

Turns on/off logging for a window to a specific file.

Parameters

<on|off> - Turns logging on or off.
<window> - Window to turn logging on or off for.
[-f filename] - Filename to log to. (optional)

Example

; Enable logging for channel '#adiirc' to specific log file 'Logs\#adiiirc.log'.
/log on #adiirc -f Logs\#adiirc.log


/logs

Added in 1.9.0

/logs [-defrxgc] [directory] [filename] [text]

Opens logfolder interface and does a optional custom search.

Wildcards can be used for all parts.

Switches

-d - Indicates directory is defined.
-e - Exclude sub directories in the search.
-f - Indicates filename is defined.
-r - Indicates text is a regular expression instead of a wildcard.
-x - Use exact text match.
-g - Indicates filename is a regular expression instead of a wildcard.
-c - Use exact filename match.

Parameters

[directory] - Log directory to search, used with -d.
[filename] - Filename to search, used with -f.
[text] - Log text to search.

Êxample

; Open log folder with default log folder listing.
/logs

; Open log folder with custom folder and a regular expression matching all lines containing Hello.
/logs -dr "c:\logs folder" .*Hello.*


/logview

Added in 1.9.0

/logview [filename]

Displays a log file in a text viewer.

If no filename is defined, current window's logfile will be used.

Parameters

<filename> - Log file to view.


/markall

Added in 1.9.0

/markall

Marks all windows as read (resets the color in Sidebar and Channelbar to default)


/mdi

Added in 1.9.6

/mdi -actv

Allows you to arrange,cascade/tile windows.

Switches

-a - Arrange windows.
-c - Cascade windows.
-t - Tile windows horizontal.
-v - Tile windows vertical.

Example

; Cascade windows
/mdi -c


/me

Added in 1.4.6

/me <message>

Sends a emote message to current channel or private window.

Parameters

<message> - The emote message to send.

Example

/me Hello world.


/menubar

Added in 1.9.0

/menubar [on|off]

Enables or disables Menubar.

$menubar can be used to determine it's state.

If no parameter is defined, prints current Menubar visibility status.

When Menubar is disabled, it can be temporary enabled by pressing the ALT key, it can also be viewed by right-clicking the Titlebar in the main AdiIRC window.

Parameters

[on] - Enables Menubar.
[off] - Disables Menubar.

Added in 1.9.7

/menubar [-adrishtio] [N] <N|name> <@popup> [text]

Adds or removes custom menu items to the Menubar.

AdiIRC only

Switches

-a - Add a new menu.
-d - Delete item named <name> or the Nth item.
-r - Resets all menus to default.
-i - Insert a menu at position [N].
-s - Show a hidden menu.
-h - Hide a menu.
-t - Change the text of a menu.
-o - Change the @popup menu associated with the menu.

Parameters

<N> - Position to insert or delete at when using -i/-d.
<N|name> - Name of a menu item to add/delete/modify or the Nth position to insert at when -i is used.
<@popup> - The @popup menu to associate with the menu.

Example

; Setup a custom menu for the 'mymenu' menu.
menu @mymenu {
  Hello World:echo -ag Hello world
  Menu name:echo -ag Menu name is $menu
}

; Adda a new menu named 'mymenu' with the text 'Top Menu Test'.
/menubar -a mymenu @mymenu Top Menu Test

; Changes the text of the menu named 'mymenu' to 'Top Menu Test2'.
/menubar -t mymenu Top Menu Test2

; Delete the menu named 'mymenu'.
/menubar -d mymenu


/mkdir

Added in 1.9.0

/mkdir <dirname>

Creates the specified directory.

Parameters

<dirname> - Directory to create.

Examples

;Create directory $adiircdir $+ test
/mkdir test

;Create directory "c:\test directory"
/mkdir "c:\test directory"


/mnick

Added in 1.9.7

/mnick <nickname>

Changes your main nickname on current connection.

If connected from the serverlist, the serverlist is updated, else quick connect is updated.

Parameters

<nickname> - The new nickname.

Example

/mnick Obiwan


/mode

Added in 1.5

/mode <#channel|nickname> [[+|-]modechars [parameters]]

Use to control a channel or nick, there are many modes depending on server, some common channnel modes are:

+b <nick!ident@host> - Ban a mask from the channel.
-b <nick!ident@host> - Unban a mask from the channel.
+i - Make channel invite only. (everyone needs to be invited through /invite to enter the channel)
-i - Disable invite only.
+l <N> - Set a user limit on the channel, when user count reaches N, no new users will be allowed.
-l - Disable user limit.
+m - Make channel moderated, only users with voice/channel operators can speak.
-m - Disable channel moderation.
+n - External messages from users not in the channel is not allowed.
-n - External messages from users not in the channel is allowed.
+o <nick> - Make a user channel operator.
-o <nick> - Demote a channel operator.
+p - Set channel as private.
-p - Set channel as public.
+s - Set channel as secret. (will no be shown in channel /list and so on)
-s - Set channel as not secret.
+t - Only channel operators can change topic.
-t - Everyone can change topic.
+k <key> = Set a secret key for the channel, only users who knows the key can enter.
-k - Remove the secret key, everyone can enter.


/msg

Added in 1.5

/msg <nick|#channel> <message>

Sends a message to a nick or a channel.

If the message is to a nick and "Open Window on /msg" option is enabled, a private window with that nick will be opened if necessary.

Parameters

<nick|#channel> - Nick or #channel to message.
<message> - Message to send.

Example

;Send "Hello World!" to #channel
/msg #channel Hello World!

;Send "Hello World!" to Nick
/msg Nick Hello World!


/msgbox

Added in 1.8.10

/msgbox <text>

Show a message box with text.

Parameters

<text> - Text to show.


/mute

Added in 1.9.6

/mute [on|off]

Temporarily disables all sound events, can also be toggled from Statusbar -> Sound Status.

Parameters

[on|off] - Turns mute on or off.


/nextunread

Added in 1.9.7

/nextunread [-m]

Switches window to the next unread window.

Switches

-m - Switches to the next unread window with a new message or highlight.


/nick

Added in 1.5

/nick <nick>

Changes your nickname on current server.

Parameters

<nick> - Nick to change to.


/nickcolumn

Added in 1.9.6

/nickcolumn [-rw] [window|on|off] <N>

Changes nick column settings for a window.

If no window is defined, current window is used.

Switches

-r - Reset nick column divider to non expanded value.
-w - Set new custom nick column width.

Parameters
[window] - Window to edit.
[on|off] - Enables or disabled Nickcolumn.
<N> - The number of pixels to set the nick column divider to.


/nicklist

Added in 1.9.3

/nicklist [-bN|-dflor] [#channel]

Shows/hides or sets the side to show the Nicklist.

If no [#channel] is specified, current active channel is used,

Switches

-bN - Hides Nicklist buttons if N is 0, shows Nicklist buttons if N is 1.
-f - Reset default Nicklist settings to the original defaults.
-d - Reset Nicklist on the specified channel to default settings.
-l - Show Nicklist on the specified channel in left side.
-r - Show Nicklist on the specified channel in right side.
-o - Hide Nicklist on the specified channel.
-s - Used with -l -r -o so set that as default for all Nicklist's.

Parameters

[#channel] - Channel to modify Nicklist.

Example

; Shows the Nicklist on '#channel' on left side.
/nicklist -l #channel

; Reset the Nicklist on '#channel' to use the default Nicklist settings.
/nicklist -d #channel

; Change the default for all Nicklist's to show on left side.
/nicklist -ls

; Reset the default Nicklist settings to the original defaults.
/nicklist -f


/nmsg

Added in 1.8.10

/nmsg <network> <nick|#channel> <message>

Sends a message to a nick or channel on a specific network based on $network name.

Parameters

<network> - Network to target.
<nick|#channel> - Nick or #channel to send to.
<message> - Message to send.

Example

;Send "Hello world" to #channel on network NordicIRC
/nmsg NordicIRC #channel Hello world

;Send "Hello world" to Nick on network NordicIRC
/nmsg NordicIRC Nick Hello world


/noop

Added in 1.9.0

/noop

Performs no operation, parameters are evaluated as with a normal command.

Example

alias noop_example {
  ;Discard the value we get from $tip.
  noop $tip(Example, Hello, Hello there)
}


/notice

Added in 1.5

/notice <nick/#channel> <message>

Sends an notice to a nick or a channel.

Parameters

<nick/#channel> - Nick or #channel to notice.
<message> - Notice message to send.

Example

;Notice all users on #channel with notice "Hello world".
/notice #channel Hello world

;Notice Nick with notice "Hello world".
/notice Nick Hello world


/notify

Added in 1.8.10

/notify -hlnrs <on|off|nickname> [network] [note]

Edit your notify list, you will get a alert whenever a nick on your notify list goes online/offline.

See also $notify, on NOTIFY, on UNOTIFY.

Switches

-h = Hides the Notify monitor panel.
-l = List nicks on notify list.
-n = Indicate [networks] is defined.
-r = Remove nick from notify list. (nickname can be a wildcard, AdiIRC only)
-s = Shows the Notify monitor panel.

Parameters

<on|off|nickname> - Turns notify on or off or edit's the nick entry.
[network] - The network name or address to enable the notify.
[note] - Small note for this nick.

Example

; Add 'Nick' to the Notify list.
/notify Nick

; Print the Notify list.
/notify -l

; Remove 'Nick' from the Notify list
/notify -r Nick


/np

Added in 1.5

/np [nick]

Will show what your current media player is playing (if enabled).

If nick is defined, it will show an emote on that nick based on the options set in Options -> Media player.

Parameters

[nick] - Nick to show a now playing emote on.


/oline

Added in 2.4

/oline [-hr] <@name> <N|nick> <filename>

Changes the icon of the Nth Nicklist item.

Switches

-h - Highlights the window's button. (if window is not active)
-r - Reset an item in the listbox to default.

Parameters

<@name> - Custom window name.
<N|nick> - The Nth Nicklist item or matching nick to change icon for.
<filename> - Filename of the icon.

Example

alias example {
  ; Change the icon for 'Nick' to 'c:\Pictures\icon1.png'
  /oline Nick c:\Pictures\icon1.png
}


/omsg

Added in 1.9.2

/omsg [#channel] <message>

Sends a private message to all operators in a channel.

If channel is not defined current channel will be used.

You must be a channel operator to use this command.

Parameters

[#channel] - Channel where the operators are located.
<message> - Messages to send.

Example

;Sends "Hai operators!" to all operatores on #channel.
/omsg #channel Hai operators!


/onotice

Added in 1.7.2

/onotice [#channel] <message>

Sends a notice message to all operators in a channel.

If channel is not defined current channel will be used.

You must be a channel operator to use this command.

Parameters

[#channel] - Channel where the operators are located.
<message> - Messages to send.

Example

;Sends "Hai operators!" to all operatores on #channel.
/onotice #channel Hai operators!


/op

Added in 1.5

/op <nick> [nickN...]

Promotes nick to channel-operator on current channel. (mode #channel +o Nick)

Parameters

<nick> - The nick to promote.
[nickN...] - Additional nicks to promote.

Example

;Promote 3 users.
/op Nick1 Nick2 Nick3

;Promote 1 user.
/op Nick1


/options

Added in 1.9.3

/options [-tihcn] [tab|nick|host] [search]

Opens the options form.

Quotes can be used for tabs with multiple words.

Same as /config.

Switches

-t - Selects the specified tab matching [text].
-i - Opens the Add/Edit Ignore Dialog for the [nick|host].
-h - Opens the Add/Edit Highlight Dialog for the [nick|host].
-c - Opens the Add/Edit Nicklist Icon Dialog for the [nick|host].
-n - Opens the Add/Edit Nickcolor Dialog for the [nick|host].

Parameters

[tab] - Used with -t Text of the option tab to set as selected.
[nick|host] - Used with the -ihcn parameters to open the matched nick or host.
[search] - Options to search/filter for.

; Open options and search all tabs for the text "join" and select the "quick connect" tab if text was found.
/options -t "Quick Connect" join

; Open options and select the "Messagea" tab.
/options -t Messages

; Open options and search for the text "join".
/options join

; Opens the Ignore tab and dialog for the host 'Nick!*@*'.
/options -i Nick!*@*


/parseline

Added in 1.9.7

/parseline -iotbqpnuN [text|&binvar]

Modifies the incoming/outgoing server line if used inside on PARSELINE event or to queue a new fake line.

This feature should only be used for testing or adding features not yet available in AdiIRC.

See also $parseline $parsetype $parseutf.

Switches

-i - Specifies an incoming line.
-o -Specifies an outgoing line.
-t - Specifies text is defined.
-b - Specifies &binvar is defined.
-q - Add a new fake line to the end of the input/output queue
-p - Used with -q to indicate that the new line should trigger the on PARSELINE event.
-n - Adds a $crlf to the end of the line if it does not have one.
-uN - TODO

Parameters

text|&binvar - Text or &binvar.

Example

; low level text replace
on *:PARSELINE:in:*word*:{ var %rep = $gettok($parseline,1-3,32) $replacex($gettok($parseline,4-,32), word, newword | parseline -it %rep }

; fake channel message
//parseline -itq : $+ $ial($me) PRIVMSG $active :Hello world


/part

Added in 1.5

/part [#channel] [message]

Leaves a channel with an optional part message.

If no channel is defined, current one will be used.

Same as /leave.

Parameters

[#channel] - Channel to part.
[message] - Part message.

Examples

;Part current channel with part message "See you later!".
/part See you later!

;Part #channel with part message "See you later!".
/part #channel See you later!


/partall

Added in 1.9.3

/partall [message]

Parts all of the channels you are currently on with an optional part message.

If no part message is defined, default part message will be used.

Parameters

[message] - Part message.

Example

/partall See you guys later.


/paths

Added in 1.8.3

/paths [-dilorst]

No parameters shows current install and config directory paths.

Switches

-d - Opens dcc directory.
-i - Opens dictionary directory.
-l - Opens log directory.
-o - Opens config directory.
-r - Opens install directory.
-s - Opens scripts directory.
-t - Opens themes directory.


/perform

Added in 1.9.9

/perform [on|off]

Enables or disables Perform/Autocommands for current server.

If no parameter is defined, shows current perform status.

Setting will update the serverlist entry if found.

Parameters

[on|off] - Turns perform/Autocommands on or off.


/pgoogle

Added in 1.5

/pgoogle [-nNt] [window] <text>

Searches google for text and sends the output to current window or [window].

Switches

-t - Specifies a 'window' is defined.
-nN - Show N results.

Parameters

[window] - Window to show the result.
<text> - Text to search.

Example

;Search for 'Star Wars' and print 5 results.
/pgoogle -n5 Star wars

;Search for 'Natalie Portman' and send the result to #channel.
/pgoogle #channel Natalie Portman


Plugins

See here for native DLL support.

See https://www.adiirc.com/docs/ for API documentation.

See https://dev.adiirc.com/boards/4/topics/252 for an example plugin.

Docs can also be downloaded as a Help file here https://www.adiirc.com/docs/Documentation.chm.

If you want an API for something not covered by the current API, please open an issue.

You can find the current AdiIRCAPI.dll in your AdiIRC config folder or here, this is the glue between AdiIRC and the plugin.

Plugins can load and use any DLL's including referencing all .NET frameworks DLL's and do P/Invoke, just like a regular .NET program.

If you get a "System.NotSupportedEception: An attempt was made to load an essembly from a network location" error, try unblock the dll file as shown here here

Added in 1.8

/plugins [-luixo] [filename]

With no switches, Opens or focuses the Plugin Manager dialog.

Switches

-l - Loads a installed plugin file.
-u - Unloads a loaded plugin file.
-i - Installs a new plugin to the plugin folder.
-x - Uninstalls a installed plugin in the plugin folder.
-o - Used with -i, allows overwriting a installed plugin, if the plugin is not loaded.

Parameters

[filename] - Filename/path of the plugin.

Example

; Installs the plugin 'MyPlugin.dll' from the folder 'C:\User<\Nick\Desktop' to the Plugins folder.
/plugins -i C:\User<\Nick\Desktop\MyPlugin.dll

; Loads 'MyPlugin.dll'
/plugins -l MyPlugin.dll


/priv

Added in 1.9.0

/priv [-nx] <nick> [message]

Sends an message to a nick.

If no message is defined, it will open a empty private window with nick or if window exist, give it focus.

Switches

-n - Open window minimized.
-x - Open window maximized.

Parameters

<nick> - Nick to message.
[message] - Message to send to nick.

Example

;Open a private window with Nick.
/priv Nick

;Open a private window with Nick and send message "Hello world".
/priv Nick Hello world


/proxy

Added in 2.4

/proxy [-cmNgNs[+|-]d] [on|off] [server] [port] [username] [password]

Change global or current server proxy settings.

Same as /firewall.

Switches

-c - Clears the username and password fields.
-mN - Sets the connection type, if N = 4 or 5 for Socks4 or Socks5, or p for http proxy.
-gN - Enables or disables global proxy settings for current server, if N = 0 Disable, if N = 1 Enable. (AdiIRC only)
-s - Change settings for current server instead of global. (AdiIRC only)
+|-d - Turns dcc through proxy on or off.

Parameter

[on|off] - Enables or disables proxy.
[server] - Proxy server to connect to.
[port] - Proxy port to connect to.
[username] - Proxy username.
[password] - Proxy password.


/query

Added in 1.5

/query [-nx] <nick> [message]

Sends an message to a nick.

If no message is defined, it will open a empty private window with nick or if window exist, give it focus.

Switches

-n - Open window minimized.
-x - Open window maximized.

Parameters

<nick> - Nick to message.
[message] - Message to send to nick.

Example

;Open a private window with Nick.
/query Nick

;Open a private window with Nick and send message "Hello world".
/query Nick Hello world


/queryrn

Added in 1.9.3

/queryrn <nick> <newnick>

Changes the nickname of an open query window.

Parameters

<nick>- Nick to change from.
<newnick> - Newnick to change to.

Example

;Change from Nick to NewNick.
/queryrn Nick NewNick


/quickconnect

Added in 1.9.4

/quickconnect

Opens the Quick Connect dialog.


/quicksave

Added in 1.9.1

/quicksave [-a]

Save current server and open channels on this server to the Serverlist.

If the server does not exist, it is added as a auto-connect server and will automatically connect on AdiIRC startup.
If the server exist, its channels is updated.

Switches

-a - Disables autoconnect.


/quit

Added in 1.5

/quit [message]

Disconnects current connected server and sends a optional quit message to users on the same channels as you.

If no quit message is defined, random or default quit message from Options -> Server will be used.

Parameters

[message] - Quit message to send.


/quote

Added in 1.8.4

/quote [-nq] <command>

Sends the specified command directly to the server. You must know the correct raw format of the command you are sending.

Same as /raw.

Switches

-n - Prevents characters in the range 0-255 from being UTF-8 encoded, as long as the line contains characters only in the range 0-255.
-q - Makes the command work quietly without printing what it is sending.

Parameters

<command> - The command to send to the server.

Example

;Send a raw PRIVMSG to the server.
/quote PRIVMSG #channel :Hi testing rawdata.


/raw

Added in 1.9.3

/raw [on|off]

Switches numeric events on/off, if no parameters are defined, current status is shown.

Added in 1.5

/raw [-nq] <command>

Sends the specified command directly to the server. You must know the correct raw format of the command you are sending.

Same as /quote.

Switches

-n - Prevents characters in the range 0-255 from being UTF-8 encoded, as long as the line contains characters only in the range 0-255.
-q - Makes the command work quietly without printing what it is sending.

Parameters

<command> - The command to send to the server.

Example

;Send a raw PRIVMSG to the server.
/raw PRIVMSG #channel :Hi testing rawdata.


/rawx

Added in 1.9.3

/rawx [-nq] <command>

Sends the specified command directly to the server. You must know the correct raw format of the command you are sending.

Same as /raw but evaluates a variable instead of text and allows sending consecutive spaces.

Switches

-n - Prevents characters in the range 0-255 from being UTF-8 encoded, as long as the line contains characters only in the range 0-255.
-q - Makes the command work quietly without printing what it is sending.

Parameters

<command> - The command to send to the server.

Example

;Create a variable with the text PRIVMSG #channel :a    b
/var %var PRIVMSG #channel :a $+ $chr(32) $+ $chr(32) $+ $chr(32) $+ $chr(32) b

;Sends the output of %var to the server.
/rawx %var

;Add a on INPUT event that listens for /example command.
on *:INPUT:*:if ($1 == /example) {

  ;Put the consecutive spaced message into a variable
  var %text PRIVMSG # : $+ $mid($msgx, $calc($len($1) + 2), $len($msgx))

  ;Send the message
  /rawx %text
}


/rawlog

Added in 1.5

/rawlog [-t]

Opens the rawlog dialog.

See also Rawlog Dialog.

Switches

-t - Enables timestamp.


/realname

Added in 1.9.7

/realname <name>

Changes your realname/fullname on current connection.

If connected from the serverlist, the serverlist is updated, else quick connect is updated.

Parameters

<name> - The new name.

Example

/realname Roger Rabbit


/reconnect

Added in 1.5

/reconnect [message]

Disconnect current active server with an optional quit message, then reconnect.

If no quit message is defined, random or default quit message from Options -> Server will be used.

Parameters

[message] - Quit message.


/rejoin

Added in 1.5

/rejoin

Rejoins all inactive channels on all servers.


/reload

Added in 1.9.0

/reload -a <filename>
/reload -bcmnpqs <filename>
/reload -rsuv <filename>

The /reload command can be used to reload any type of existing file including: aliases, popups, remote, users, and variables. Using /reload on an already loaded file will update its contents while maintaining its order among other files. Note that unlike the /load command, /reload will not trigger the on LOAD and on START events.

See also /load, /unload, on LOAD, on UNLOAD, on START.

Switches

-a - loads an aliases file.
-b - Loads a nicklist buttons file. (AdiIRC only)
-ps - TODO
-pc - TODO
-pq - TODO
-pn - TODO
-pm - TODO
-ru - Loads a user list file.
-rv - Loads a variables file.
-rsN -Loads a remote scripts file, if N is specified, load into the Nth position in the script list.

Parameters

<filename> - Filename to (re)load.


/remini

Added in 1.9.0

/remini <inifile> <section> [item]

Deletes whole sections or single items in an INI file.

Parameters

<inifile> - Ini file where the section is located.
<section> - Section in the ini file to remove.
[item] - Item in the section to remove.

Examples

;Remove the entire section TEST in file.ini.
/remini file.ini TEST

;Remove only the testitem element from the TEST section in file.ini.
/remini file.ini TEST testitem


/remote

Added in 1.9.3

/remote [on|off]

Turns on/off all script events, if no parameters are defined, current status is shown.


/remove

Added in 1.9.0

/remove [-b] <filename>

Deletes the specified file.

Switches

-b - Move the file to the recycle bin instead of deleting it.

Parameters

<filename> - File to remove.

Example

;Create and write to a file.
/write test.txt Hello There

;Remove the file.
/remove test.txt


/rename

Added in 1.9.0

/rename <filename> <new filename>

Renames a file or folder, can also be used to move a file or folder to another location.

Switches

-o - Overwrites the target file if it exists.
-f - Flushes copy to disk immediately.

Parameters

<filename> - File/folder to rename or move.
<new filename> - New filename/foldername.

Example

/rename E:\example.txt "E:\renamed with spaces.txt"


/renwin

Added in 1.9.2

/renwin <@oldname> <@newname> [topic]

Allows you to change the name of an existing window to a different one, and an optional topic can be specified.

Parameters

<@oldname> - Current window name.
<@newname> - New window name.
[topic] - Window topic/title.

Example

; Open a custom window.
/window -e @Example1

; Rename @Example1 to @Example2 and add topic 'Hello world'.
/renwin @Example1 @Example2 Hello World


/reseterror

Added in 1.9.0

/reseterror

Resets a script error.

If you do not reset the error, it will propagate backwards to any calling aliases until an :error is found and will halt the script as usual.


/resetidle

Added in 1.9.7

/resetidle [seconds]

Resets the $idle identifier to zero or to the number of seconds you specify.

Parameters

[seconds] - Number of seconds to reset to.


/resolve

Added in 1.5

/resolve [-46ch] <nick|address>

Resolves an ip address/hostname or nick to a ip address/hostname.

See also $dns, on DNS.

Same as /dns.

Switches

-4 - Include ipv4 addresses.
-6 - Include ipv6 addresses.
-c - Clears all queued dns queries.
-h - Force <nick|address> to be a address.
-a - Print all ip addresses found if input was a hostname. (AdiIRC only)

Parameters

<nick|address> - The nick or address to lookup.

Example

; Lookup nick.
/resolve Nick

; Lookup only ipv4 results.
/resolve -4 Nick

; Lookup only ipv6 results.
/resolve -6 Nick

; Lookup ip address 8.8.8.8
/resolve 8.8.8.8

; Lookup google.com
/resolve google.com

; Lookup nick!ident@host.com (host.com will be extracted)
/resolve nick!ident@host.com


/restart

Added in 1.5

/restart

Restarts AdiIRC. (same as /exit -r)


/return

Added in 1.9.0

/return [text]

Halts a currently executing script and allows the calling routine to continue processing.

Parameters

[text] - Text to return.

Example

alias example {
  ;Return the addition of two values.
  /echo -a $add(2, 5)
}
;Add two numbers.
alias add {
  /return $calc($1 + $2)
}


/returnex

Added in 1.9.0

/returnex [text]

Halts a currently executing script and allows the calling routine to continue processing.

Same as /return but retains all spaces, including leading, trailing, and multiple.

Parameters

[text] - Text to return.

Example

alias example {
  ;Prints 9: <space>A<space><space>B<space><space>C<space>.
  echo -a $len($preserve_space)

  ;Prints 5: A<space>B<space>C.
  echo -a $len($strip_space)
}

;Return with the spaces intact.
alias preserve_space returnex $get_abc

;Collaps spaces.
alias strip_space return $get_abc

;Just an example string "<space>A<space><space>B<space><space>C<space>".
alias get_abc returnex $+($chr(32), A, $chr(32), $chr(32), B, $chr(32), $chr(32), C, $chr(32))


/rlevel

Added in 1.9.7

/rlevel [-r] <level(s)>

Removes access levels from all matches users.

If a user has no more levels left then the user is removed.

Switches

-r - Any matching levels are removed, not just general access level.

Parameters

<level(s)> . Level(s) to remove.

Example

; Remove all users with general access level 1 or 2
/rlevel 1,2

; Remove all users with access level =1 and =2
/rlevel =1,2

; Remove all users with access level =1,1,=2 and =2
/rlevel -r 1,2


/rline

Added in 1.9.5

/rline [-ahslb] [c] <@name> <N> <text>

Replaces the Nth line in any window with a new line.

Switches

-a - Selects the newly added item while keeping the old selection in a listbox.
-h - Highlights the window's node in the treebar is the window is not active.
-s - Clears the old selection in a listbox and selects the newly added item.
-l - Specify the action to take place on the side-listbox,
-b - Indicates the [c] color is in $rgb format. (AdiIRC only)

Parameter

[c] - An optional color number for the line
<@name> - Name of the window.
<N> - The line to change.
<text> - Text to insert.

Example

alias example {
  ; Open a custom window.
  /window -de @Example

  ; Add a line with the text 'Line A'.
  /aline @Example Line A

  ; Add a line with the text 'Line B'.
  /aline @Example Line B

  ; Add a line with the text 'Line C'.
  /aline @Example Line C

  ; Change the text of the second line to 'Line D'.
  /dline @Example 2 Line D
}


/rmdir

Added in 1.9.0

/rmdir <dirname>

Deletes the specified directory but only if it is empty.

Parameters

<dirname> - Directory to delete.

Example

;Delete folder $adiircdir $+ test
/rmdir test

;Delete folder "c:\test folder"
/rmdir "c:\test folder"


/run

Added in 1.5

/run [-hnp] <filename|url> [arguments]

Runs the specified program.
If a URL is entered, default browser will be used.

Filenames using spaces must be enclosed in quotes unless the filetype is .exe or .bat.

Switches

-h - Hide the application in context.
-n - Minimizes the window of the program.
-p - Sets the working path to the path of the program.

Parameters

<filename|url> - File or url to run.
[arguments] - Arguments list to be passed to the program.

Example

;Open www.adiirc.com
/run www.adiirc.com

;Open notepad
/run notepad.exe


/ruser

Added in 1.9.7

/ruser [levels] <nick | address> [type]

Removes the nick/address or the specified levels from nick/address.

If the user have no more access levels, it is removed from the user list.

Parameters

[levels] - Access levels to remove.
<nick | address> - Nick or address to remove.
[type] - Lookup the address using this type of address.

Example

; Removes 'Nick' from the user list
/ruser Nick

; Removes access levels 1,2 and 3 from 'Nick'
/ruser 1,2,3 Nick


/say

Added in 1.5

/say <message>

Sends a message to current channel or private window, same as typing in the inputbox.

You cannot use this command in the remote section. Use /msg instead.

Parameters

<message> - Message to send.


/savebuf

Added in 1.9.4

/savebuf [-aglosN] [n1-n2] <window | dialog id> <filename>

Saves the specified number of lines from the end of the buffer of the specified window into the specified filename.

Parameters

n1-n2 - Save only lines n1 to n2 starting from the end of the buffer. (if no lines are specified, all lines are saved)
<window | dialog id> - Window or dialog/dialogid to save from.
<filename> - Filename to save to.

Switches

-a - Append the text to the end of the file.
-l - Use side-listbox
-o - Indicates that you have specified [dialog id] parameters instead of a window name in order to save text from a custom dialog control.
-s - Use status window.
-N - Keep the nickcolumn character when saving a window. (AdiIRC only)


/saveini

Added in 2.4

/saveini

Updates all AdiIRC-related INI files with the current settings.

Saves everything which is normally only saved when closing AdiIRC, vars.ini, main window size/position, Monitor Panels positions, Titlebar text etc.


/scid

Added in 1.9.0

/scid [-arstN] <N> [command]

Changes the active connection for a script to connection id N, where N is a $cid value.
All commands after the /scid command will be performed on the new connection id.
If you specify the command parameter, the connection id is set only for that command.

Switches

-a = Perform the command on all connection id's.
-r = Resets the connection to the original id.
-s = makes any called commands or identifiers show their results.
-tN = limits the command to being performed only on servers with a certain connection status, where N is an or'd value of 1 = server connected, 2 = not connected, 4 = connecting, 8 = not connecting.

Parameters

<N> - The connection id.
[command] - Command to execute on the connection.


/scon

Added in 1.9.0

/scon [-arstN] <N> [command]

Changes the active connection for a script to connection id N, where N is the Nth connection.
All commands after the /scon command will be performed on the new connection id.
If you specify the command parameter, the connection id is set only for that command.

Switches

-a = Perform the command on all connection id's.
-r = Resets the connection to the original id.
-s = makes any called commands or identifiers show their results.
-tN = limits the command to being performed only on servers with a certain connection status, where N is an OR'd value of 1 = server connected, 2 = not connected, 4 = connecting, 8 = not connecting.

Parameters

<N> - The Nth connection id.
[command] - Command to execute on the connection.


/scripts

Added in 1.9.0

/scripts [on|off]

Temporary enables/disables all scripts for this session only.

See also $scripts.

Parameters

[on] - Enables all scripts.
[off] - Disables all scripts.


/scrolltext

Added in 2.9

/scrolltext [-uNdNpNoNhelN] [window]

Scrolls the text lines in a window up or down.

See also on MSCROLL, $window.mscrollpos, $window.mscrollmax.

Switches

-uN - Scrolls N lines up.
-dN - Scrolls N lines down.
-pN - Scrolls N pages up.
-oN - Scrolls N pages down.
-h - Scrolls to home.
-e - Scrolls to end.
-lN - Scrolls to the Nth line.

Parameters

[window] - The window to scroll, if not defined, current active window is used.

Example

; Scrolls the '#channel' window 5 lines up.
/scrolltext -u5 #channel


/search

Added in 1.9.0

/search [-enr] <text>

Searches active window for the specified text (same as CTRL + F).

Same as /findtext.

Switches

-e - Indicates text is a regular expression. (AdiIRC only)
-n - Search backwards.
-r - Use exact match. (AdiIRC only)
-x - Reset previous search before seaching again. (AdiIRC only)
-g - Opens the globalk find text dialog. (AdiIRC only)

Parameters

<text> - Text to search.

Example

; Searches for 'Hello World1'
/search Hello World!

; Searches for any text matching 'Hello'
/search -r .*Hello.*


/server

Added in 1.5

/server [-switches] [host/ip address/network label] [port] [password] [-additional switches..]

Connects to a new server.

Switches

-4 - Connect to ipv4 addresses.
-6 - Connect to ipv6 addresses.
-e - Indicates connection should be a SSL connection.
-m - Indicates connection should happen in a new server window.
-n - Indicates connection should happen in a new server window, but not connect.
-p - Prevents the perform/commands from being applied.
-f - Prevents the channellist from popping up.
-o - Prevents the autojoining of channels from being applied.
-c - Prevents the on CONNECT event from being triggered.
-z - Minimizes the new server window.
-t - Indicates connection should be a STARTTLS connection.
-s - TODO
-a - TODO
-r - TODO
-l N - Use login method N

Parameters

[host/network label] - Host to join, can be a ip address or host name, can also be a network label from the serverlist or the default serverlist.
[port] - Port to use. (+port indicates connection should be a SSL connection, *port indicates a STARTTLS connection)
[password] - The server password to use, normally used for bnc login.

Additional switches

[-j/-jn/-join #channel pass] - Channels to join as a comma separated list. (if -jn or -j -n is used, the channels are minimized)
[-new/-m/] - Indicates connection should happen in a new server window.
[-forcessl N] - Forces a specific SSL/TLS version, 0 = ssl2, 1 = ssl3, 2 = tls1.0, 3 = tls1.1, 4 = tls1.2 (tls1.1 and tls1.2 is only available in the .net 4+ version)
[-n] - Indicates connection should happen in a new server window, but not connect.
[-z] - Minimizes the new server window.
[-p/-pass password] - Another way to set the server password to use, normally used for bnc login.
[-e/-ssl] - Indicates connection should be a SSL connection.
[-t] - Indicates connection should be a STARTTLS connection.
[-u/-user username] - The server login username to use, normally used for bnc login.
[-nick nick] - The nick to use.
[-an/-anick alternate nick] - Alternative nick to use.
[-r/-real fullname] - Fullname to use.
[-port port] - Another way to set what port to use.
[-i nick anick email name] - Another way to set nick, alternative nick, server username and fullname.
[-d encoding] - Encoding to use on this server.
[-cert file] - Custom SSL client certificate to use for this server.
[-4] - Connect to ipv4 addresses.
[-6] - Connect to ipv6 addresses.
[-g] - Prioritize ipv6 addresses.
[-x 4|5|h|n hostname port username password] - Connect using custom Sockv4/Sockv5/http or no proxy.

Example

; Connect irc.nordicirc.com port 6667 in a new server window with nick MyNick, alt nick MyNick_ and join channels #chan1,#chan2,#chan3.
/server -m irc.nordicirc.com 6667 -nick MyNick -an MyNick_ -j #chan1,#chan2,#chan3

; Connect a network label from the serverlist named 'NordicIRC'
/server -m NordicIRC

; Connect a network label from the default serverlist named 'Freenode'
/server -m Freenode


/serverlist

Added in 1.8.8

/serverlist [-no] [network]

Opens the serverlist dialog
.
Switches

-n - Opens the new serverlist.
-o - Opens the old serverlist.

Parameters

[network] - The network name to select. (Only works with new serverlist)


/set

Added in 1.8.8

/set [-eklnsuNz] <%var> [value]

Sets the value of %var to the specified value.

Switches

-e - Unset the variable when AdiIRC exits.
-k - Keeps the unset time (-u) from a previous command.
-l - Creates a local variable instead of global.
-n - Treat the value as plain text, even if arithmetic operators are used.
-s - Display variable assignment value.
-uN - Unsets the variable after N amount of seconds, if N = 0 unset the variable after the script is finished.
-z - Decreases the value of the variable by 1/ever second until zero is reached. At zero the variable will be unset.

Parameters

<%var> - The variable to set.
[value] - Value to set the variable to. (can be a single arithmetic expression)

Example

alias example {
  ;Create a variable and set a value.
  /set %var Countdown:

  ;Print the value
  /echo -a %var

  ;Set the value to 3, decrease once per second
  /set -zs %var 3
}


/setconfig

Added in 1.9.3

/setconfig <section> <option> [value]

Modifies a config.ini option and tells AdiIRC to reload the config.ini file.

/setconfig with no parameters will just reload the config.ini file.

See also $readini, $adiircini.

Same as /setoption,

Parameters

<section> - Section in the config.ini file to edit.
<options> - Option under the section in the config.ini file to edit.
[value] - Value to insert in the option.

Example

; Disables timestamp in messages.
/setconfig Messages UseTimestamp False

; Prints whether use timestamp is on or off.
//echo -ag Timestamp is $iif($readini($adiircini, Messages, UseTimestamp) == True,on,off))


/setlayer

Added in 1.9.0

/setlayer <0-255> [window]

change the transparency of a given window. If no window is provided, the transparency setting will apply to the main MDI window. The setlayer works on all windows as long as the full name is provided, for example "Status Window" for the status window.

Does not work on docked MDI child windows, http://msdn.microsoft.com/en-us/library/aa984329%28VS.71%29.aspx

Parameters

<0-255> - Alpha channel value.
[window] - The window to apply the transparency to.

Example

alias example {
  ;Create a new desktop window.
  /window -de @Example

  ;Set @example to 204/255 (%20) transparency.
  /setlayer 204 @Example

  ;A friendly message.
  echo @Example 20% Transparency!
}


/setoption

Added in 1.8.9

/setoption <section> <option> [value]

Modifies a config.ini option and tells AdiIRC to reload the config.ini file.

/setoption with no parameters will just reload the config.ini file.

See also $readini, $adiircini.

Same as /setconfig,

Parameters

<section> - Section in the config.ini file to edit.
<options> - Option under the section in the config.ini file to edit.
[value] - Value to insert in the option.

Example

; Disables timestamp in messages.
/setoption Messages UseTimestamp False

; Prints whether use timestamp is on or off.
//echo -ag Timestamp is $iif($readini($adiircini, Messages, UseTimestamp) == True,on,off))


/showadiirc

Added in 1.9.4

/showadiirc -mnrstxoplf

Manipulates the display of the main AdiIRC window.

Switches
-n - Minimize.
-r - Restore (Restores to previous window state, normal or maximized).
-s - Show.
-t - Tray.
-x - Maximize.
-o - On Top.
-p - Not On Top.
-m - Minimize according to tray setting.
-f - Fullscreen. (see also /fullscreen)
-l - Lock screen, can be used wit the -ntm switches to lock the screen. (see also /lock)


/showmenu

Added in 2.7

/showmenu [-qnmcsuwa] [window|nick} [nick} [x y]

Shows the specified context-menu type for current active window or [window|nick].

By default the menu opens relative to the current active Editbox.

The menu

Switches

-q - Show the Query menu.
-n - Show the Nicklist menu.
-m - Shows the Menubar menu.
-c - Shows the Channel menu.
-s - Shows the Status menu.
-u - Shows the specified @custom menu.
-w - Shows the Window menu.
-a - Shows the Menubar as a context menu. (while the context menu is open, the regular Menubar will be empty)

Parameters

[window|nick} - Window or query nick to open the menu for.
[nick} - The Nicklist/Query nick to open the menu for.
[x y] - The X and Y position to open the menu at (relative to the associated window).

Example

; Opens the channel menu for the channel #test at x y position 42 42.
/showmenu -c #test 42 42


/showmirc

Added in 1.9.4

/showmirc -mnrstxoplf

Manipulates the display of the main AdiIRC window.

Switches
-n - Minimize.
-r - Restore (Restores to previous window state, normal or maximized).
-s - Show.
-t - Tray.
-x - Maximize.
-o - On Top.
-p - Not On Top.
-m - Minimize according to tray setting.
-f - Fullscreen. (see also /fullscreen)
-l - Lock screen, can be used wit the -ntm switches to lock the screen. (see also /lock)


/signal

Added in 1.9.0

/signal [-n] <name> [parameters]

Trigger on SIGNAL events in all scripts that listen for signals.

Switches

-n - Makes the script trigger immediately.

Parameters

<name> - Signal to trigger.
[parameters] - Parameters to send to the signal.

Example

;Setup a listening SIGNAL event.
on *:SIGNAL:testsignal:echo -a Signal was called with parameters: $1-

;Call the testsignal with parameters Hello world!
/signal testsignal Hello world!


/slap

Added in 1.5

/slap <nick nick2 nick3..> [N]

Shows an slap emote on a nick.

Default slap is "Nick slaps <nick> with the power of greyskull"

You can create your own slaps and use random slaps in Tools -> Edit Slaps or manually update slaps.txt in the config folder.

$1 can be used to reference the nick(s) to slap.

Parameters

<nick> - The nick to slap into oblivion!
[N] - Use specific line number in the slaps.txt file as the slap.

Example

; Use default or random slap.
/slap Nick

; Use default or random slap on multiple nicks.
/slap Nick Nick2 Nick3 Nick4

; Use slap in line number 11 of slaps.txt as the slap.
/slap Nick 11


/sleep

Added in 1.8.3

/sleep <N> <command>

Execute a command after N seconds, can be used to delay channel joins while waiting for NickServ Auth.

Parameters

<N> - Seconds to delay.
<command> - Command to execute after delay.

Example

;Delay 5 seconds, then join #channel1 and #channel2
/sleep 5 /join #channel1,#channel2


/sline

Added in 1.9.0

/sline [-ar] <#channel> <N|nick>

Selects or de-selects lines in a channel nickname listbox. It can select either the Nth nickname in a listbox, or a specified nickname.

Switches

-a - Appends selection to current selection.
-r - Deselects instead of selects.

Parameters

<#channel> - Channel where the listbox is located.
<N|nick> - Nick or the Nth nick to select.


/sockaccept

Added in 1.9.0

/sockaccept <name>

Accepts the current connection to your listening port and assigns it a name to identify it.

Parameters

<name> - Name to assign the connection.


/sockclose

Added in 1.8.10

/sockclose <name>

Closes the connection with the specified name. If you specify a wildcard name, all connections that match the wildcard are closed.

Parameters

<name> - Socket name to close.


/socklist

Added in 1.9.0

/socklist [-tul] [name]

Lists all matching open sockets.

Switches

-t - Lists only tcp sockets.
-u - Lists only udp sockets.
-l - Lists only listening sockets.

Parameters

[name] - List socket matching name, can be a wildcard.


/socklisten

Added in 1.9.0

/socklisten [-dp] [bindip] <name> [port]

Listens on the specified port for connections to that port. If a port is not specified, the port is selected randomly from the range specified in Options -> DCC Options -> Port Range.

Switches

-d - Switch indicates that you specified an ip address as the bind address.
-p - TODO

Parameters

[bindip] - Ip address to bind to. (used with -d)
<name> - Name to give the listening connection.
[port] - Port to listen on.


/sockmark

Added in 1.9.0

/sockmark <name> [text]

Assigns temporary data to a socket to be referenced later using $sock(<name>).mark. Leaving the [text] parameter $null will clear the socket mark. The sockmark command can be used to assign the same data to multiple sockets using a wildcard pattern.

Parameters

<name> - Socket to mark.
[text] - Text to add to the socket mark.

Example

; Non-functioning example, shows practical usage only
on $*:text:/^!foo (\S+)$/Si:#:{
  ; if ( .. validate input .. ) {
  sockopen sock1 www.example.com 80
  sockmark sock1 $regml(1)
}
on *:sockopen:sock1:{
  ; submit the information we got from the user
  sockwrite -nt $sockname GET /foobar.php?q= $+ sock($sockname).mark HTTP/1.0
  sockwrite -nt $sockname Host: www.example.com
  sockwrite -nt $sockname $crlf
}
; on *:sockread:sock1: {
;    ....
; }


/sockopen

Added in 1.8.10

/sockopen [-den46] [bindip] <name> <address> <port>

Switches

-d - The specified IP address is the bind ip address.
-e - Creates an SSL connection.
-n - Disables the Nagle algorithm.
-t - TODO
-4 - Connect to Ipv4 addresses.
-6 - Connect to Ipv6 addresses.

Parameters

[bindip] - Bind ip to be used.
<name> - Socket connection name.
<address> - Remote ip address to connect to.
<port> - Remote port to connect to.

Example

alias example {
  ;Initiate a connection with "irc.freenode.org" on port 6669, Secured connection.
  /sockopen -e IRC irc.freenode.org +6697
}

on *:sockopen:IRC:{
  ;Send our USER and NICK irc commands.
  /sockwrite -n IRC USER Tester $+ $rand(1,100) Test Test:mSL Testing $+ $crlf
  /sockwrite -n IRC NICK Tester $+ $rand(1,100) $crlf
}

;Show all receiving data in a window.
on *:sockread:IRC:{
  /window -de @IRC
  /var %x
  /sockread %x
  /aline -p @IRC $iif(%x,$v1,-)
}


/sockpause

Added in 1.9.0

/sockpause [-r] <name>

Pauses/restarts a socket when reading incoming data.

Switches

-r - Restarts a socket instead of pausing.

Parameters

<name> - Socket to modify.


/sockread

Added in 1.9.0

/sockread [-fn] [numbytes] <%var|&binvar>

Reads bytes from the receive buffer into the specified variable.

If you specify a %var variable, a line of text ending with a Carriage Return/LineFeed is read into %var. The $crlf are stripped off (this may result in %var being $null if the line only consisted of $crlf).

If you specify a &binvar then [numbytes] of info is read into the binary variable. If no [numbytes] is specified it defaults to 4096 bytes.

Switches

-f - Forces AdiIRC to fill the %var variable with whatever text is in the receive buffer, even if it does not end in a $crlf.
-n - allows you to read a $crlf terminated line into a &binvar. If the incoming line does not contain a $crlf, no bytes will be read into &binvar, unless you specify the -f switch, which forces the read (same as when reading into %vars).

Parameters

[numbytes] - Number of bytes to read into &binvar.
<%var|&binvar> - %var or &binvar to read the data into.


/sockrename

Added in 1.9.0

/sockrename <name> <newname>

Assigns a new name to an existing connection.

Parameters

<name> - Socket to rename.
<newname> - New socket name.


/sockudp

Added in 2.3

/sockudp [-bntkd] [bindip] <name> [port] <ipaddress> <port> [numbytes] [text|%var|&binvar]

Opens a UDP connection to a remote ipaddress/port and sends a UDP packet.

Switches

-b - Indicates that you are specifying the numbytes value which is the number of bytes you want sent.
-n - Appends a $crlf to the line being sent if it is not a &binvar and if it does not already have a $crlf.
-t - Forces AdiIRC to send anything beginning with a & as normal text instead of interpreting it as a binary variable.
-k - Forces the socket to stay open, so it can receive UDP data.
-d - The specified IP address is the bind ip address.

Parameters

[bindip] - Bind ip to be used.
<name> - Socket connection name.
[port] - Bind port to be used.
<ipaddress> - Remote ipaddress to connect to.
<port> - Remote port to connect to.
[numbytes] - Number of bytes to send. (used with -b)
[text|%var|&binvar] - Text, %variable or &binvar to send.

Example

alias gettime {
  ; Set a NULL byte binary variable.
  bset &null 1 0

  ; Open a UDP connection to Time-a.nist.gov = 129.6.15.28
  sockudp -k gettime 129.6.15.28 37 &null
}

on *:udpread:gettime: {

  ; Read the reply.
  sockread -f &time

  var %time $bvar(&time,1,$bvar(&time,0))

  ; Convert to binary, remove spaces.
  var %bin $regsubex(%time, /(\d+)\s?/g, $base(\1, 10, 2, 8))

  ; Get the current unix time in decimal system.
  var %time = $base(%bin, 2, 10)

  ; Print the time and close the socket.
  echo -ag Currnt Time/Date: $asctime($calc(%time - 2208988800), yyyy-mm-dd hh:nn:ss TT)
  sockclose $sockname
}


/sockwrite

Added in 1.8.10

/sockwrite [-tnba] <name> [numbytes] <text|%var|&binvar>

Queues data to be sent on the specified connection. AdiIRC will then try to send that info as quickly as it can. Once it has finished sending the info, it triggers the on sockwrite event so you can send more info if you need to.

You can use a wildcard name to send the same information at once to all connections that match the wildcard.

If the write fails, it will set $sock().wserr to the error value, and triggers the on sockwrite event with $sockerr set.

Switches

-t - Forces AdiIRC to send anything beginning with a & as normal text instead of interpreting it as a binary variable.
-n - Appends a $crlf to the line being sent if it is not a &binvar and if it does not already have a $crlf.
-b - Indicates that you are specifying the numbytes value which is the number of bytes you want sent.
-a - TODO

Parameters

<name> - Name of the connection to send to.
[numbytes] - Number of bytes to send. (used with -b)
<text|%var|&binvar> - Plain text, %var or &binvar to send.


/sop

Added in 1.8.5

/sop <nick> [nickN...]

Promotes nick to channel-special/protected operator on current channel. (mode #channel +a Nick)

Parameters

<nick> - The nick to promote.
[nickN...] - Additional nicks to promote.

Example

;Promote 3 users.
/sop Nick1 Nick2 Nick3

;Promote 1 user.
/sop Nick1


/splay

Added in 1.9.0

/splay -cmpqw [filename | stop | pause | resume | seek | skip] [pos]

Plays the specified sound, which can be a .wav, .mid, or .mp3 file.

Switches

-c - Clears the song queue.
-m - Midi.
-p - Mp3.
-q - Queue song to play after current song.
-w - Wave.

Parameters

[filename | stop | pause | resume | seek | skip] - File to play or operation to perform on current song.
[pos] - Is pos is defined, file will start playing at pos.

Example

; Match on "play a song" then play "mysong.mp3"
on *:TEXT:play a song:*:splay c:\mysong.mp3


/statusbar

Added in 1.9.0

/statusbar [on|off]

Enables/disables Statusbar. $statusbar can be used to determine it's state.

If no parameter is defined, prints current Statusbar visibility status.

Parameters

Parameter | Description
[on] | Enables Statusbar.
[off] | Disables Statusbar.

Added in 1.9.7

/statusbar <-adrtgpoijlhnNzN> [N] <N|name> <tooltip> <@popup> [/alias] [picfile] [text]

Adds or removes custom text items/icons to the Statusbar.

Switches

Switch | Description
-a | Add a new item.
-d | Delete item named <name> or the Nth item.
-r | Resets all items to default.
-t | Change the tooltip text.
-g | Change the text.
-p | Change the picfile/icon.
-o | Change the associated @popup.
-i | Insert a item at position N.
-j | Indicates [/alias] is defined.
-l | Change the alias.
-w | Show a hidden item.
-h | Hide a item.
-nN | Indicates [picfile] is defined, N is the Nth icon index in a exe/dll file.
-zN | Icon size to use before it's resized in Statusbar height, 1 = small, 2 = large, 3 = actual.

Parameters

Parameter | Description
[N] | Used with -d and -i to delete the Nth item or insert at the Nth position.
<N|name> | Insert a item at the Nth position or the name of the item to modify/add.
<tooltip> | The tooltip text.
<@popup> | Popup to associate with the item.
[/alias] | Optional alias to execute when the item is doubleclicked.
<text|picfile> | The item item or picfile/icon to use when -n is defined.
[text] | Optional text to add to a picfile/icon.

Example

; Create an example menu.
menu @Example {
  Hello World:echo -ag Hello World menu
}

alias example {
  echo -ag Hello world alias
}

; Create a new statusbar item named 'example'.
/statusbar -a example @example /example Example

; Update the text of the statusbar item 'example'.
/statusbar -g example Example2

: Delete the statusbar item named 'example'
/statusbar -d example

; Create a new statusbar item in position 4.
/statusbar -ij 4 example "" @example "/example Example" "Example"


/switchbar

Added in 1.9.3

/switchbar [on|off]

Enables/disables Switchbar. $switchbar can be used to determine it's state.

If no parameter is defined, prints current Switchbar visibility status.

Parameters

[on] - Enables Switchbar.
[off] - Disables Switchbar.


/tab

Added in 1.5

/tab [-fbpn] [[network] [#channel|nick]|N]

Activates the matching window or the window number counting from the top.

Switches

-f - Activates the next window in Switchbar order.
-b - Activates the previous window in Switchbar order.
-n - Activates the next window in recent history order.
-p - Activates the previous window in recent order.

Parameters

[network] - $network to match.
[#channel|nick] - Channel or nick to match.
[N] - The Nth position.

Example

;Activate #channel window on $network NordicIRC.
/tab NordicIRC #channel

;Activate the 5th window.
/tab 5


/themes

Added in 1.9.1

/themes

Opens theme manager.


/time

Added in 1.5

/time [nick]

Send a CTCP time requests to a user, you will get an reply with the local time from the user.

Time with no parameters will request current server time.

Parameters

[nick] - The nick to send the time request to.


/timestamp

Added in 1.9.7

/timestamp [-fgs|a|e] [on|off|default] [windowname]

Turns on/off timestamp globally or per window.

Switches

-f - Sets the timestamp event format.
-g - Sets the timestamp log format.
-s - Sets timestamp status for the status window.
-a - Sets timestamp status for the active window.
-e - Sets timestamp status for all open windows.

Parameters

[on|off|default] - Set timestamp status to on, off or default.
[windowname] - Set timestatmp status for windowname.

Examples

; Changes the timestamp format
/timestamp -f [%HH:%nn]

; Enables global timestamp
/timestamp on

; Disables timestamp for #channel
/timestamp off #channel


/timer

Added in 1.9.0

/timers [off]
/timer[n|name] [off]
/timer[n|name] [-cdehimopr] [time] <repetitions> <interval> <code>

Creates a timer that runs <code> at an interval.

If you are connected to server when the timer is started, it defaults to being a online timer, otherwise it will be a offline timer.

A offline timer will continue to run even if the server is disconnected, while a online timer will stop the timer when disconnected.

Switches

-c - TODO
-d - TODO
-e - Execute the code associated with a timer.
-h - Create a high-resolution timer.
-i - Dynamically associates itself with the active connection.
-m - Treat the interval parameter as milliseconds instead of seconds.
-o - Create a offline timer.
-p - Pause a timer.
-r - Resume a timer.

Parameters

[off] - Turns of a timer.
[n|name] - The name or index of the timer.
[time] - TODO
<repetitions> - The amount of timer the timers should repeat itself. An repetition value of '0' will repeat for ever.
<interval> - The delay between two consecutive timer executions
<code> - Code to be executed.

Example

alias example {
  ; Create a variable and set value to 5.
  var %reps = 5

  ; Call the timer %reps times after 1 second delay.
  .timer %reps 1 countdown

  ; Print the first count.
  count-down
}

alias -l countdown {
  echo -ag Count: $timer($ltimer).reps
}


/tip

Added in 1.9.3

/tip <-ct> <name/N> [text]

Manipulates an existing tip.

Switches

-c - Close tip.
-t - Set the tip text.
-l - Show the last closed tip. (AdiIRC only)

Parameters

<name/N> - Name or Nth tip to change.
[text] - Tip text.


/tips

Added in 1.9.3

/tips [on|off]

Turns tips on or off.

Parameters

[on|off] - Turns tips on or off.


/titlebar

Added in 1.9.0

/titlebar [@window] <text>

Sets the main application titlebar. If you specify a custom @window name, then the titlebar for that custom window is changed.

Parameters

[@window] - Window to change the title.
<text> - Title text to set.

Example

; Changes AdiIRC's titlebar to Hello world!
/titlebar Hello world!

; Open a custom window.
/window -e @Example

; Changes @Example Titlebar to Hello world!
/titlebar @Example Hello world!


/tokenize

Added in 1.9.0

/tokenize <C> <text>

Fills the $1 $2 ... $N identifiers with tokens in <text> separated by character <c>.

Parameters

<C> - The ASCII value to separate by.
<text> - The text to separate.

Example

; Separate the text "one:two:three" by ASCII value 58 (:)
//tokenize 58 one:two:three | echo -a Result of $!2: $2


/toolbar

Added in 1.9.1

/toolbar [on|off] [-aidmsxkNnNzNebwhyNurctplof[sld]gN] [N] <name/N> <tooltip> <picfile|@> [x y w h] [/alias] [popfile|@]

Switches

-a - Add button.
-i - Insert button at position [N].
-d - Deletes the Nth button or <name>.
-m - Moves button <name/N> to position [N].
-s - Add separator.
-x - TODO
-kN - Check or uncheck the Nth button or <name>, 0 = check, 1 = uncheck.
-nN - icon index in picfile.
-zN - Icon size, 1 = small, 2 = large, 3 = actual.
-e - Enable button [N] or <name>.
-b - Disable button [N] or <name>.
-w - Show button [N] or <name>
-h - Hide button [N] or <name>
-yN - TODO
-u - Update display immediately.
-r - Resets all buttons to default.
-c - Clear all buttons.
-t - Update tooltip.
-p - Update picfile.
-l - Update alias.
-o - Update popupfile.
-f - TODO
-gN - Sets the button alignment, 0 = left, 1 = right. (AdiIRC only)

Parameters

[on|off] - Enables/Disables Toolbar, use $toolbar to determine toolbar status.
[N] - Button position to modify.
<name/N> - Name or position of button to modify.
<tooltip> - Tooltip for the button.
<picfile|@> - Icon/Image file to use for the button or pic window name.
[x y w h] - TODO
[/alias] - Alias command to add to the button.
[popfile|@] - popfile = TODO, @name pic window name.

Example

; Add a button.
/toolbar -a mybutton "My button tooltip" "c:\icons\myicon.png" "/mycommand"

; Change the icon.
/toolbar -p mybutton "c:\icons\myicon2.png"

; Change the alias.
/toolbar -l mybutton /mycommand2

; Remove a button.
/toolbar -d mybutton

Default buttons

tsb1 = Disconnected
tsb26 = Connecting
tsb27 = Connected
tsb2 = Serverlist
tsb3 = Options
tsb4 = Dcc Transfer monitor panel
tsb5 = Separator
tsb6 = Cascade
tsb7 = Tile Horizontal
tsb8 = Tile Vertical
tsb9 = Separator
tsb10 = Open Winamp
tsb11 = Media Mlayer previous song
tsb12 = Media Player play song
tsb13 = Media Player pause song
tsb14 = Media Player stop song
tsb15 = Media Player next song
tsb16 = Now playing
tsb17 = Separator
tsb18 = Search box
tsb19 = Choose search engine
tsb20 = Separator right aligned
tsb21 = Memory usage
tsb22 = Cpu usage
tsb23 = Channellist
tsv24 = Dcc Transfer Progress
tsb25 = Clock


/topic

Added in 1.5

/topic <#channel> [newtopic]

Changes the topic for a channel that you are on.

If no newtopic is defined, current topic is retrieved.

Parameters

<#channel> - Channel to change the topic.
[newtopic] - Topic to set.


/topicbox

Added in 1.9.1

/topicbox [-dhostabNeNfNpvck] [window] [text|color]

Sets Topicbox visibility or visibility style and/or fills the Topicbox of the current or specified window with the specified text.

Switches

-d - Use default visibility option.
-h - Show Topicbox as one line, expandable on click.
-o - Hide Topicbox
-s - Set current topicbox option as default for all Topicbox's.
-t - Show Topicbox multiline sticky.
-a - Use the Topicbox from the current active window.
-bN - Set selection start to position N.
-eN - Set selection end to position N.
-fN - If N = 1/[$null] sets focus to the Topicbox and makes sure the window is not minimized and active.
-p - Append a white-space after the text.
-v - Prevents the Topicbox contents from being changed.
-c - Sets the Topicbox text color.
-k - Sets the Topicbox background color.

Parameters

[window] - Window to change the Topicbox.
[text|color] - Text to set or color to set with -c and -k switches.

Example

; Show Topicbox as one line on #channel.
/topicbox -h #channel

; Hide Topicbox on #channel.
/topicbox -o #channel

; Set the Topicbox text for #channel.
/topicbox #channel Test Topic


/treebar

Added in 1.9.3

/treebar [on|off]

Enables/disables Treebar. $treebar can be used to determine it's state.

If no parameter is defined, prints current Treebar visibility status.

Parameters

[on] - Enables Treebar.
[off] - Disables Treebar.


/ulist

Added in 1.9.7

/ulist [<|>] <level>

Lists the users which have the specified access levels.

Parameters

[<|>] - Lower than or greater than level.
<level> - Levels to list.

Example

; Lists all users with access level lower than 10
/ulist <10

; Lists all users with access level greater than 5
/ulist >5

; Lists all users with access level 4
/ulist 4


/usernick

Added in 1.9.7

/usernick <usernick>

Changes your usernick/ident on current connection.

If connected from the serverlist, the serverlist is updated, else quick connect is updated.

Parameters

<usernick> - The new usernick.

Example

/usernick Obiwan


/txt2bin

Added in 1.8.10

/txt2bin <ascii text>

Converts a ASCII text to binary.

Parameters

<ascii text> - ASCII text to convert.

Example

;Will show 0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100.
/txt2bin Hello World

;Convert back to Hello world.
/bin2txt 0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100


/unban

Added in 1.5

/unban <nick/address>

Removes a ban on <nick/address> from current channel.

Same as /ban -r [nick/address]

Parameters

<nick/address> - The nick or address to remove.

Example

;Remove ban on Nick
/unban Nick

;Remove ban on Nick*!*@*
/unban Nick!*@*


/unignore

Added in 1.5

/unignore <nick/address>

Removes ignore on a user or mask.

Same as /ignore -r [nick/address]

Parameters

<nick/address> - The nick or address to remove.

Example

; Remove ignore on Nick.
/unignore Nick

; Remove ignore on Nick*!*@*.
/unignore Nick!*@*


/unload

Added in 1.9.0

/unload <-anrs> <filename>

Unloads the specified alias or remote script file.

See also /load, /reload, on LOAD, on UNLOAD, on START.

Switches

-a - Unload a alias file.
-n - Prevents the script from having the on UNLOAD event triggered.
-rs - Unload a remote script.

Parameters

<filename> - File to unload.


/unnotify

Added in 1.8.10

/unnotify <nick>

Removes a nick from the notify list, equal to /notify -r <nick>.

Parameters

<nick> - Nick to remove.


/unset

Added in 1.9.0

/unset [-s] <%var> [%var..]

Unset local or global variables, local variables take precedence over a global variable with the same name.

Wildcards is allowed.

Switches

-s - Prints unset information.

Parameters

<%var> - Variable to unset.
[%var..] - Additional variables to unset.

Example

alias example {
  ;Create and fill a variable with data.
  /set %var1 Variable test.

  ;Print the variable value.
  /echo -a %var1

  ;Unset the variable.
  unset %var1

  ;Print the variable value after unset.
  echo -a %var1
}


/unsetall

Added in 1.9.3

/unsetall

Unset and removes all variables from the variables list.


/update

Added in 1.5

/update

Opens the update dialog and checks if there is newer version of AdiIRC.


/updatenl

Added in 2.4

/updatenl

Updates the Nicklist immediately during a on KICK/on PART/on QUIT event, instead of after the event.

Example

on *:PART:#:echo -ag # Number of users on # before = $chan(#,0) | updatenl | echo -ag # Number of users on # after = $chan(#,0)


/url

Added in 2.3

/url [on|off|show|hide|-ranilsw] [N|address]

Enable/disable/show/hide the URL catcher monitor or open a URL.

Switches

-a - TODO
-n - Open the Nth URL or address in a new window instead of new tab.
-r - Remove the Nth URL from the list.
-i - TODO
-l - TODO
-s - TODO
-w - Shows the link warning box if enabled. (AdiIRC only)

Parameters

[on|off] - Enables or disables the URL catcher monitor.
[show|hide] - Shows or hides the URL catcher monitor.
[N|address] - The Nth URL or a address to open.

Example

; Open 'www.adiirc.com'.
/url www.adiirc.com

; Open 'www.adiirc.com' in a new window.
/url -n www.adiirc.com


/uwho

Added in 2.2

/uwho [nick] [nick]

Performs a /whois on the specified nickname to look up their server information and then displays it in the Whois section of the Address book.

Parameters

[nick] - The nick to look up.
[nick] - On some servers nick needs to be specified twice to get all the information.


/var

Added in 1.8.8

/var [-gns] <%var> [[= ]value]

Sets the value of local variable %var to the specified value.

Syntax can be either var %var = value or var %var value.

Multiple variables can be set in one line using comma as separator, var %var1 = value, %var2 = value2.

Switches

-s - Display variable assignment value.
-g - Creates a global variable instead.
-n - Treat the value as plain text, even if arithmetic operators are used.

Parameters

<%var> - The variable to set.
[[= ]value] - Value to set the variable to. (can be a single arithmetic expression)

Example

alias factorial {
  var %result = 1, %x = $1
  while (%x) {
    var %result = %result * $v1
    dec %x
  }
  return %result
}

;Returns 3628800
//echo -ag $factorial(10)


/vars

Added in 1.9.0

/vars

Shows a list of all global variables and their values.


/viewlog

Added in 1.9.0

/viewlog [filename]

Displays a log file in a text viewer.

If no filename is defined, current window's logfile will be used.

Parameters

<filename> - Log file to view.


/voice

Added in 1.5

/voice <nick> [nickN...]

Promotes nick to voiced on current channel. (mode #channel +v Nick)

Parameters

<nick> - The nick to promote.
[nickN...] - Additional nicks to promote.

Example

;Promote 3 users.
/voice Nick1 Nick2 Nick3

;Promote 1 user.
/voice Nick1


/vol

Added in 1.9.0

/vol -mpuNvw [volume]

Sets the volume on your system for waves, midis, and mp3s (same as waves)

Switches

-m - Midi.
-p - Mp3.
-uN - Sets mute setting; 1 = on, 2 = off.
-v - Mp3 (Should be master TODO)
-w - Wave.

Parameters

[volume] - Volume. (0 to 65535)

Examples

;Turn on mute
/vol -vu1


/wdown

Added in 1.5

/wdown

Tells media player to turn volume down.

Only works with iTunes/MediaMonkey/Winamp/Spotify.


/window

Added in 1.9.0

/window [-abBcCde[N]fg[N]hHij[N]k[N]l[N]mMn[N]opq[N]rRsStT[N]uvw[N]xz] [-tN,..,N] [+bdeflLmnstx] <@name> [rgb|[x y [w h]]] [/command] [popup.txt] [font [size]] [iconfile [N]]

Creates or manipulates a custom window with a Topicbox/Editbox/Text area/Listbox depending on the parameters used, see Custom Windows for more information.

If -p is specified, a picture window is created which can be custom drawn using various commands/identifiers, see Picture Windows for more information.

Option Switches

Switch | Description
-a | Set as the active window.
-b | TODO
-B | Prevent window from using an internal border.
-c | Close window.
-C | Center window.
-d | Create desktop window instead of child.
-e[N] | Enable Editbox; 0 = single, 1 = multi, 2 = auto, 3 = default.
-f | Makes the w h the required width and height of the text display area. (instead of the window size)
-g[N] | Sets/removes window button color, 0 = normal color, 1 = message color, 2 = highlight color, 3 = system color (3 is AdiIRC only).
-h | Hide window.
-H | Enables auto-hide for a side-listbox.
-i | Dynamically associate with whatever happens to be the active connection.
-j[N] | Sets buffer size to N lines.
-k[N] | Hides the @ prefix in the window name, 0 = hide prefix, 1 = show prefix.
-l[N] | Add listbox, if N is specified then a side-listbox N characters wide is created.
-m | Enable line marker in the window.
-M | TODO
-n[N] | Minimize window ([N] = TODO)
-o | Sets the windows as the top most window. (used with -d)
-p | Creates a picture windows.
-q[N] | If N is 0 hides the nick column, if N is 1 shows the nick column. AdiIRC only
-Q[N] | If N is 0 docks the window, if N is 1 undocks the window. AdiIRC only
-r | Restore window.
-R | TODO
-s | Sort the main window, whether text or listbox. (only listbox for now)
-S | Sort the side-listbox.
-t | Indicates the [rgb] parameter is defined, sets the forms transparency key to [rgb]. AdiIRC only
-T[N] | Enable Topicbox; 0 = Show, 1 = Show Sticky, 2 = Off, 3 = default. AdiIRC only
-u | Remove ontop setting of a desktop window.
-v | Close window when associated status window is closed.
-w[N] | Show/hide window from treebar or switchbar; 0 = hide from both, 1 = show in switchbar, 2 = show in treebar, 3 = show in both
-x | Maximize window
-z[N] | if N = 1, places window button at end of switchbar/Treebar, if N = 0, restores original place. (Default is 1)
-Z | Reset the window icon to default.

Tab Switches

Switch | Description
-tN,..,N | TODO

Appearance Switches

These causes graphical glitches for MDI windows because .net MDI does not like windows without proper borders.

Switch | Description
+b | Border.
+d | No border.
+e | 3d Edge.
+f | Dialog frame.
+l | Tool window.
+L | Tool window. (hide from taskbar)
+n | Minimize box.
+s | Sizeable.
+t | Titlebar.
+x | Maximize box.

Parameters

Parameter | Description
<@name> | Window name.
[rgb] | The $rgb value used with the -t parameter.
x y [w h] | Left top [width height] - position and size of window. (A -1 value for any of the parameters means use default (or existing) value).
/command | Default command.
popup.txt | Popup filename, must be plane text file. TODO
font [size] | Font name [font size].
iconfile [N] | Sets a custom titlebar icon for the window. (N = TODO)

Example

alias example1 {
  ; Create a desktop + picture window, Coordinates: (250,250), size 300x300.
  /window -dep @Example 250 250 300 300

  ; Color it with the control code color 3. (default is green)
  /drawfill @Example 3 3 1 1 100 100

  ; Draw text "Hello world!".
  /drawtext @Example 1 Arial 30 50 100 Hello World!

  ; Close the window.
  /window -c @Example
}


/wjump

Added in 1.5

/wjump <position>

Tells media player to jump to position in the playlist.

Only works with iTunes/MediaMonkey/Winamp.

Parameters

<position> - Numeric position to jump to.


/wnext

Added in 1.5

/wnext

Tells media player to play next song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.


/wpause

Added in 1.5

/wpause

Tells media player to pause a song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.


/wplay

Added in 1.5

/wplay

Tells media player to start playing a song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.


/wprev

Added in 1.5

/wprev

Tells media player to play previous song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.


/write

Added in 1.9.0

/write [-cidna l<line> s<text> w<wildcard> r</regex/>] <filename> [text]

Writes lines to a text file.

Switches

-c - Clears the entire file before writing to it.
-i - Inserts the text at a given line instead of replacing it.
-d - Deletes the given or last line.
-n - Prevent adding $crlf at the end of the text.
-a - Appends the text to an existing line.
-l - Line number for the line to write/modify/delete.
-s - Operates on a line that matches the scanned <text>.
-w - Operates on a line that matches the scanned <wildcard> pattern.
-r - same as -w - but uses a regular expression match.

Parameters

<line> - The line number to find.
<text> - The text to scan.
<wildcard> - Wildcard pattern to match.
</regex/> - Regex pattern to match.
<filename> - The file name to manipulate.
[text] - The text to be written to the file.

Example

alias example {
  ; Create a file and add a few lines of text to it.
  /write Example.txt this is a cool line
  /write Example.txt hello there!
  /write Example.txt text files are cool

  ; Locate the line that starts with "hello" and insert the following text before it.
  /write -is"Hello" Example.txt This will become line 2!

  ; Delete line 1.
  /write -dl1 Example.txt
}


/writeini

Added in 1.9.0

/writeini [-n] <inifile> <section> <item> <value>

Switches

-n - Forces AdiIRC to write to an INI file, even if it's bigger then 64k (obsolete)

Parameters

<inifile> - The file to write to.
<section> - The section to write.
<item> - The item to write.
<value> - The value to write.

Example

;Write a few items to a file.
/writeini abb.ini abbreviations lol Laughing Out Loud
/writeini abb.ini abbreviations rofl Rolling On the Floor, Laughing

;Print a line from abb.ini.
//echo -a $readini(abb.ini, n, abbreviations, lol)


/wsearch

Added in 1.5

/wsearch <search term>

Searches through media player playlist for search term and prints result.

Only works with iTunes/MediaMonkey/Winamp.

Parameters

<search term> - Search term to find.


/wseekf

Added in 1.5

/wseekf

Tells media player to seek forward in a song.

Only works with iTunes/MediaMonkey/Winamp.


/wseekr

Added in 1.5

/wseekr

Tells media player to seek reverse in a song.

Only works with iTunes/MediaMonkey/Winamp.


/wselect

Added in 1.5

/wselect <search term>

Plays first hit from a search through media player playlist for search term.

Only works with iTunes/MediaMonkey/Winamp.

Parameters

<search term> - Search term to find and play.


/wstop

Added in 1.5

/wstop

Tells media player to stop playing a song.

Only works with iTunes/MediaMonkey/Winamp/Spotify.


/wup

Added in 1.5

/wup

Tells media player to turn volume up.

Only works with iTunes/MediaMonkey/Winamp/Spotify.


/zip

Added in 2.9

/zip [-oculN] <name> <source> <target>

Zips a file or folder into a zip file or unzips a zip file into a folder.

See also $zip, $ziperr, on ZIP, on UNZIP.

Only available with .NET 4.5+

Switches

-o - Overwrites the target zip file if it exists or overwrites existing files in the target unzip folder.
-c - Aborts the zip/unzip operation.
-u - Unzip instead of zip.
-lN - Use compression method N, 0 = no compression, 1 = fastest compression, 2 = optimal compression.

Parameters

<name> - Name of the zip/unzip operation.
<source> - The source file or folder to zip or the source zip file to unzip.
<target> - The target zip file to zip to, or the target folder to unzip to.

Example

; Zip the entire adiirc folder into 'adiirc.zip'
//zip name $qt($adiircdir) adiirc.zip

; Print the zip result when then zip operation is finished.
on *:ZIP:echo -ag zipped $zip($zip).src into $zip($zip).dest status: $iif($ziperr,fail,ok)


Hotkeys

Key | Description
ALT + 1-9 | Switches window to selected number in Switchbar order
ALT + Z | Closes current window
CTRL + W | Closes current window
ALT + F4 | Closes application
PAGEDOWN | Scrolls messages down one page
PAGEUP | Scrolls messages up one page
ALT + PAGEDOWN | Scrolls messages down
ALT + PAGEUP | Scrolls messages up
CTRL + SPACE | Opens contextmenu in Editbox/topicbox/script editor (Opens the Nicklist contextmenu if the selected text is a nick in the channel)
ALT + ENTER | Adds a newline in Editbox
ALT + UP/DOWN | Scrolls up/down in Editbox message history even if multiline
ALT + END | Scrolls messages to bottom
ALT + UP | Scrolls up in Editbox message history
ALT + DOWN | Scrolls down in Editbox message history
CTRL + UP | Scrolls up one line
CTRL + DOWN | Scrolls down one line
CTRL + Mouse wheel up | Scrolls up one line
SHIFT + Mouse wheel up/down | Scrolls through windows
CTRL + Mouse wheel down | Scrolls down one line
TAB | Performes Tabcomplete on /commands, nicks, #channels, %variables and $identifiers
CTRL + J | Opens a Winamp playlist search
CTRL + copy text from text buffer will copy the color/font formatting
SHIFT + starting AdiIRC will bypass any autoconnect servers and show the quick connect dialog
SHIFT + TAB | Cycles through Editbox, Searchbox, Nicklist and Topicbox
CTRL + D | Toggles window attachment (Can be used on any window including Options, Theme manager etc)
ALT + X | Toggles window maximized status
ALT + F1 | Opens help window
ALT + L | Opens channel list
ALT + R | Opens script manager
ALT + O | Opens options window
ALT + B | Opens the Address book
ALT + D | Opens aliases editor
ALT + P | Opens menu editor
ALT + N | Toggles Notify list
ALT + U | Toggles URL catcher list
CTRL + T | Opens new server window
CTRL + F | Opens text search
CTRL + SHIFT + F | Opens global text search
CTRL + L | Scrolls the unread line marker line into view
CTRL + SHIFT + L | Enable/disable the marker line in current window
CTRL + G | Hides/shows Treebar
CTRL + H | Cycles last highlighted windows
CTRL + S | Opens server list
CTRL + ALT + UP | Toggles window opacity (transparency)
CTRL + ALT + DOWN | Toggles window opacity (transparency)
CTRL + Enter | Allows you to send a message starting with "/<command>" without executing the command
CTRL + R | Toggles sound on/off
CTRL + + | Increases text size in current window
CTRL + - | Decreases text size in current window
CTRL + 0 | Resets text size in current window
CTRL + B | Inserts bold tag
CTRL + K | Inserts color tag
CTRL + SHIFT + K | Inserts alternative color tag
CTRL + I | Inserts italic tag
CTRL + U | Inserts underline tag
CTRL + O | Inserts stop all formatting tag
CTRL + E | Inserts emoticon
Mousebutton 3 | Cycles one window back (according to treebar/switchbar order)
Mousebutton 4 | Cycles one window forward(according to treebar/switchbar order)
ALT + LEFT | Cycles one window back (according to treebar/switchbar order)
ALT + RIGHT | Cycles one window forward (according to treebar/switchbar order)
CTRL + ALT + LEFT | Cycles one window back (according to treebar/switchbar order) including minimized windows
CTRL + ALT + RIGHT | Cycles one window forward (according to treebar/switchbar order) including minimized windows
CTRL + TAB | Cycles through open window (in recent history order)
CTRL + SHIFT + TAB | Cycles through open windows backwards (in recent history order)
CTRL + N | Cycles through all open channel windows
CTRL + Q | Cycles through all open query windows
CTRL + M | Goto next unread window
CTRL + ALT + M | Goto next unread window with new normal messages/highlights only
SHIFT + Left MouseClick a tab in Switchbar/Treebar | Closes the window
CTRL + Left MouseClick a tab in Switchbar/Treebar | Minimizes the window
ESC | For channels/custom window it minimizes, for most dialogs it closes
F1 | Shows the help window or the help file
F2 | Toggles Monitor Panels on/off
F5 | Reloads Logviewer/Theme Manger/Plugin Manager
F11 | Toggle main window fullscreen
CTRL + E | Focus filter box in Options/Serverlist
CTRL + S | Save Options/Scripting Editor/Serverlist/Theme Manager
SHIFT + Clicking Connect/Connect in a new window button in the Serverlist | Opens the server in a new window without connecting.
SHIFT + UP | Move selected network up in the Serverlist.
SHIFT + DOWN | Move selected network down in the Serverlist.
SHIFT + Clicking the Titlebar minimize icon | Minimize AdiIRC to tray regardless of tray settings.
CTRL + Clicking the Titlebar minimize icon | Show the /lock dialog.
SHIFT + Right Clicking the Titlebar of a undocked window | Rolls the window up or down.
SHIFT + Clicking quick connect "log on" button | Connects in a new server window.
SHIFT + Clicking server history/favorites menu item | Connects in a new server window.
ALT + Left-click main window | Moves the main window when Titlebar is disabled.

Override built-in hotkeys¶

Starting with version 1.9.6, you can use the scripting event on KEYDOWN to override most of the built-in hotkeys.
Not all functions have a command, feel free to request one if you need it.

Can also be used to create new hotkeys.

Example

; Setup a keydown keyval for character 'r', you can retrieve the keyval value from the $keyval identifier.
on *:KEYDOWN:*:114:{

  ; Check if control key is pressed using bitwise comparison
  ; Control = 2
  ; Shift = 4
  ; Alt = 8
  if ($mouse.key & 2) {

    ; Echo the hotkey was pressed
    echo -ag Ctrl + R was pressed

    ; Halt any AdiIRC hotkeys
    halt
  }
}

Creating new hotkeys¶

New hotkeys can be created using the alias syntax and the F-keys.

F1-12 and any combination using alt/shift/control is allowed.

a - Alt.
s - Shift.
c - Control

Example

alias aF3 {
  echo -ag I pressed ALT + F3
}

alias sF3 {
  echo -ag I pressed SHIFT + F3
}

alias cF3 {
  echo -ag I pressed CTRL + F3
}

alias caF3 {
  echo -ag I pressed CTRL + ALT + F3
}


Config Files

Config files are stored in the AdiIRC folder if the user running AdiIRC.exe have write access to that folder, otherwise, they are stored in %LOCALAPPDATA%\AdiIRC (C:\Users\USERNAME\AppData\Local\AdiIRC).

AdiIRC.exe -ConfigFolder <path> command line argument can be used to set a custom config folder on startup.

Typing //echo -ag $adiircdir will print the path to the config folder.
Typing /paths -o will open the config folder.
Menubar -> Tools -> Config files - will also open the config folder.

commands.ini - Custom aliases.
config.ini - Most AdiIRC options.
menus.ini - Custom menu items.
networks.ini - New Serverlist options.
servers.ini - Old Serverlist options.
vars.ini - Global scripting variables which are saved across sessions.
nicklistbuttons.ini - Custom Nicklist buttons.
users.ini - Custom user access levels.
addrbk.ini - Address book users.

nowplaying.txt - Random now playing items.
quits.txt - Random quit messages.
slaps.txt - Random slaps.

AdiIRCAPI.dll - The plugin API file.

Deprecated files¶

These are automatically added to config.ini and removed when upgrading from an older to newer version of AdiIRC.

positions.ini - Was used to store windows positions.
away.ini - Was used to store away options.
ignore.ini - Was used to store ignore options.

Config folders¶

Various folders are created for storing data, most of these can be changed in the options dialog.

\Cache\Favicons - Stores favicons if Options -> Icons -> Get favicons from server website is enabled.
\Cache\History - Stores editbox history if Options -> Messages -> Save and restore history is enabled.
\Cache\Monitor - Stores Monitor Panels data if any Options -> Monitor -> Save and restore option is enabled.
\Dict - Store any installed spellcheck dictionaries.
\Download - Stores incoming DCC downloads set in Options -> DCC -> Default download dir. (See also $getdir)
\Logs - Stores all log files set in Options -> Logging -> Log Folder. (See also $logdir)
\Scripts - Stores all scripts. (See also $scriptdir)
\Themes - Stores all installed themes.
\Plugins - Stores all installed plugins.


Command line arguments

-ConfigFolder <path> | Set a custom config folder.
-cmd <command> | Runs a command on startup.
irc://hostname:port/#channel | Opens a plain connection to the hostname and port, and optionally joins a #channel.
irc6://hostname:port/#channel | Opens a plain IPv6 connection to the hostname and port, and optionally joins a #channel.
ircs://hostname:port/#channel | Opens a SSL/TLS connection to the hostname and port, and optionally joins a #channel.
ircs6://hostname:port/#channel | Opens a SSL/TLS IPv6 connection to the hostname and port, and optionally joins a #channel.
xdcc://network/hostname:port/#channel/nick/#id/filename | Opens a connection to the hostname:port, joins the #channel and tries to request the #id/filename from the nick.

A connection is only made if no existing connection is found.


Formatting text

AdiIRC supports control codes for formatting text.

All control codes can be combined to format the same block.

Most IRC clients supports these control codes, so they can used to send formatted text to others as well as formatting incoming text events using the /echo command.

Colorchar¶

Colors blocks of text.

ASCII character $chr(3)

CTRL + K can be used in Editbox to type this character.

The character can be followed by 1-2 digits that represent the color number.

By specifying a comma after the digits, you can add a 1-2 digit background color as well.

The default colors can be changed in Options -> Colors -> mIRC Colors.

A second color character can be used to stop the coloring and revert to default line color.

Example

; Prints the text 'Hello World' with color 4 which is red by default.
//echo -ag $chr(3) $+ 3 Hello world

Result: Hello World

; Prints the text 'Hello' with color 4 which is red by default and 'world' is the default line color.
//echo -ag $chr(3) $+ 3 Hello $+ $chr(3) world

Result: Hello world

; Prints the text 'Hello World' with color 4 which is red by default and background color 12 which is blue by default.
//echo -ag $chr(3) $+ 3,12 Hello world

Result: Hello world

Boldchar¶

Makes the block use a bold font.

ASCII character $chr(2)

CTRL + B can be used in Editbox to type this character.

Example

//echo -ag $chr(2) this text is bold $chr(2) this text is not

Result: this text is bold this text is not

Italicchar¶

Makes the block use a italic font.

ASCII character $chr(29)

CTRL + I can be used in Editbox to type this character.

Example

//echo -ag $chr(29) this text is italic $chr(29) this text is not

Result: this text is italic this text is not

Underlinechar¶

Makes the block use a underline font.

ASCII character $chr(31)

CTRL + U can be used in Editbox to type this character.

Example

//echo -ag $chr(31) this text is underline $chr(31) this text is not

Result: this text is underline this text is not

Stopchar¶

Stops all color and font formatting.

ASCII character $chr(15)

CTRL + O can be used in Editbox to type this character.

Example

//echo -ag $chr(3) $+ 4 $+ $chr(2) this text is bold and colored $chr(15) this text is not

Result: this text is bold and colored this text is not

Alternative colorchar¶

AdiIRC has an alterinative color character as of 1.9.7, this is AdiIRC only.

As of 2.4 $chr(4) can be used for the same purpose.

Unicode character $chr(61442)

Works the same as colorchar, except it takes a hexcolor format RRGGBB same as html colors.

By specifying a comma after the hexcolor, you can add a second hexolor for setting the background color as well.

A normal color character can be used to stop the coloring and revert to default line color.

CTRL + SHIFT + K can be used in Editbox to type this character.

Example

; Prints the text 'Hello World' with hex color FF0000 which is red.
//echo -ag $chr(61442) $+ FF0000 Hello world

Result: Hello World

; Prints the text 'Hello' with hex color FF0000 which is red and 'world' is the default line color.
//echo -ag $chr(61442) $+ FF0000 Hello $+ $chr(3) world

Result: Hello world

; Prints the text 'Hello World' with hex color FF0000 which is red and hex background color 0000CC which is blue.
//echo -ag $chr(61442) $+ FF0000,0000CC Hello world

Result: Hello world

In Options¶

The control codes can also be used in many options such as Options -> Messages -> Timestamp / Message prefix User.


Extra Colors

In AdiIRC there are more than 16 colors available that is used for various extra colors in the message area.

Also see Formatting text for how to use colors.

Color | Config Color | Type
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 17 18 19 20 21 31 35 37 38 43 44 45 46 47 48 49 50 77 22 124 | Normal message color from a user. System color used on messages from the server, like MOTD. Highlight color. Action color for /me messages. Ctcp color for /ctcp messages. Your/Mine color for your own messages. Links color. Notice messages. Client info for any message from the client to you. Join color. Part color. Quit color. Topic color. Mode color. Names color. Whois color. Kick color. Nick color for /nick. Background color. Notify color.

Config file colors¶

List of colors in the config file (Color_N=rrr,ggg,bbb)

AdiIRC will also read the values #rrggbb and $rgb.

Color Config Color
0 White
1 Black
2 Blue
3 Green
4 Red
5 Brown
6 Purple
7 Orange
8 Yellow
9 Light Green
10 Cyan
11 Light Cyan
12 Light Blue
13 Pink
14 Grey
15 Light Grey
Message Normal
Message System
Message Highlight
Message /me
Message CTCP
Message Background
Switchbar Normal
Switchbar Message
Switchbar Highlight
Switchbar System
Nicklist Background
Nicklist Text
Editbox Background
Editbox Text
Message Own
Nicklist Operator
Nicklist Half Operator
Nicklist Voice
Message Links
Switchbar Inactive
Message Notice
Message Clientinfo
Nicklist Own
Nicklist prefix Operators
Nicklist prefix Half Operators
Nicklist prefix Voice
Message Join
Message Part
Message Quit
Message Topic
Message Mode
Message Names
Message Whois
Message Kick
Topicbox Background
Topicbox Text
topicbox Links
Mdi/Main Background
Toppanel Color1
Toppanel Color2
Toppanel Text
Treebar Background
Treebar Server
Treebar Query
Treebar Tool
Treebar Normal
Treebar Message
Treebar System
Treebar Highlight
Treebar Selected Background
Treebar Selected Text
Treebar Nicklist You
Treebar Nicklist Normal
Treebar Nicklist Operators
Treebar Nicklist Half Operators
Treebar Nicklist Voice
Treebar Nicklist Prefix Operators
Treebar Nicklist Prefix Half Operators
Treebar Nicklist Prefix Voice
Window Border
Message Nick as in /nick
Unread line
Nicklist Away
Treebar Nicklist Away
Treebar Folder
Switchbar Background
Menubar Background
Menubar Text
Toolbar Background
Toolbar Text
Statusbar Background
Statusbar Text
Monitor Panels Background
Monitor Panels Text
Statusbar Low ping
Statusbar Medium ping
Statusbar High ping
Statusbar Away
Nicklist Prefix Protected
Nicklist Prefix Owner
Nicklist Protected
Nicklist Owner
Treebar Nicklist Prefix Protected
Treebar Nicklist Prefix Owner
Treebar Nicklist Protected
Treebar Nicklist Owner
Tips Background
Tips Text
Nick column marker
Script Editor Background
Script Editor Text
Script Editor Single line comment
Script Editor Multi line comment
Script Editor Keyword
Script Editor Brackets
Script Editor Parentheses
Script Editor Variables
Script Editor Identifiers
Script Editor Goto label
Script Editor Group
Line number Background
Line number Text
Line number Border
Message Selected Background
Message Selected Text
Nicklist Selected Background
Nicklist Selected Text
Notify
Lines/Grid
Monitor Panel Border
Monitor Panel Column Background
Monitor Panel Column Text
Monitor Panel Selected Background
Monitor Panel Selected Text
Highlight Matching Nick lines Background
Highlight Matching Nick lines Text
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132


Spellcheck

AdiIRC includes spellcheck support as of 1.9.6 beta 2014/10/25 using Nhunspell.

Steps to enable spellcheck:¶

  1. Rightclick the Inputbox and select the "Check Spelling" menu, this will install the necessary dll's.
  2. Restart AdiIRC.
  3. Rightclick the Inputbox and choose Languages -> Add Dictionaries, download the dictionaries you want to install.
  4. Rightclick the Inputbox and choose Languages -> Language you want to use.

Downloadable Dictionaries:¶

  • af-ZA - Afrikaans (South Africa)
  • ak-GH - Akan (Ghana)
  • am_ET - Amharic (Ethiopia)
  • an_ES - Aragonese (Spain)
  • ar - Arabic
  • as-IN - Assamese (India)
  • az-Latn-AZ - Azeri (Latin, Azerbaijan)
  • be-classic - be-classic
  • be - Belarusian
  • bg - Bulgarian
  • bn-BD - Bengali (Bangladesh)
  • br - Breton
  • ca-ES-valencia - Valencian (Spain)
  • ca - Catalan
  • Cestina - Cestina
  • cs - Czech
  • cy_GB - Welsh (United Kingdom)
  • da - Danish
  • de-AT - German (Austria)
  • de-CH - German (Switzerland)
  • de-DE-1901 - de-DE-1901
  • de-DE - German (Germany)
  • dsb - Lower Sorbian
  • ee-GH - Ewe (Ghana)
  • el-GR - Greek (Greece)
  • en-AU - English (Australia)
  • en-CA - English (Canada)
  • en-GB - English (United Kingdom)
  • en-US - English (United States)
  • en_NZ - English (New Zealand)
  • eo-EO - Esperanto
  • es-ES - Spanish (Spain)
  • es_AR - Spanish (Argentina)
  • es_MX - Spanish (Mexico)
  • es_VE - Spanish (Bolivarian Republic of Venezuela)
  • et-EE - Estonian (Estonia)
  • eu - Basque
  • fa - Persian
  • fo_FO - Faroese (Faroe Islands)
  • fr-classic-reform - fr-classic-reform
  • fr-classic - fr-classic
  • fr-modern - fr-modern
  • fr-reform - fr-reform
  • fur-IT - Friulian
  • fy - Frisian
  • ga - Irish
  • gd-GB - Scottish Gaelic (United Kingdom)
  • gl_ES - Galician (Galician)
  • gu_IN - Gujarati (India)
  • ha-GH - Hausa (Ghana)
  • he - Hebrew
  • hi_IN - Hindi (India)
  • hr-HR - Croatian (Croatia)
  • hr - Croatian
  • hsb - Upper Sorbian
  • ht-HT - Haitian
  • hu - Hungarian
  • hyph_pt-BR - hyph_pt-BR
  • hy_AM - Armenian (Armenia)
  • ia-ia - ia-ia
  • id - Indonesian
  • is - Icelandic
  • it_IT - Italian (Italy)
  • Kaszebsczi - Kaszebsczi
  • kn - Kannada
  • ko-KR - Korean (Korea)
  • ku-TR - Kurdish (Turkey)
  • la - la
  • ln-CD - Lingala (Congo - Kinshasa)
  • lo_LA - Lao (Lao P.D.R.)
  • lt - Lithuanian
  • lv_LV - Latvian (Latvia)
  • mg_MG - Malagasy (Madagasikara)
  • mi-x-Tai Tokerau - mi-x-Tai Tokerau
  • mi - Maori
  • mk-MK-Cyrl - mk-MK-Cyrl
  • mk-MK-Latn - mk-MK-Latn
  • mn-MN - Mongolian (Cyrillic, Mongolia)
  • mr-IN - Marathi (India)
  • nb - Norwegian (Bokmål)
  • ne_NP - Nepali (Nepal)
  • nl - Dutch
  • nn - Norwegian (Nynorsk)
  • nr-ZA - Ndebele (South Africa)
  • nso-ZA - Sesotho sa Leboa (South Africa)
  • ny_MW - Malawi Kwacha
  • or-IN - Oriya (India)
  • pa-IN - Punjabi (India)
  • Papiamento - Papiamento
  • Papiamentu - Papiamentu
  • pl - Polish
  • pt-BR-antigo - pt-BR-antigo
  • pt-BR - Portuguese (Brazil)
  • pt-PT - Portuguese (Portugal)
  • ro - Romanian
  • roa-ES-val - roa-ES-val
  • ro_RO-ante1993 - ro_RO-ante1993
  • ru - Russian
  • ru_RU - Russian (Russia)
  • sa_IN - Sanskrit (India)
  • sk-SK-ascii - sk-SK-ascii
  • sk-SK - Slovak (Slovakia)
  • sl - Slovenian
  • Songhay - Mali - Songhay - Mali
  • sq - Albanian
  • sr-RS-Cyrl - sr-RS-Cyrl
  • sr-RS-Latn - sr-RS-Latn
  • ss-ZA - Swazi/Swati (South Africa)
  • st-ZA - Southern Sotho (South Africa)
  • sv - Swedish
  • sv_FI - Swedish (Finland)
  • sw_TZ - Swahili (Tanzania)
  • ta-TA - ta-TA
  • ta_IN - Tamil (India)
  • te_IN - Telugu (India)
  • tk_TM - Turkmen (Turkmenistan)
  • tn-ZA - Setswana (South Africa)
  • tr - Turkish
  • ts-ZA - Tsonga (South Africa)
  • uk-UA - Ukrainian (Ukraine)
  • ur - Urdu
  • uz - Uzbek
  • ve-ZA - Venda (South Africa)
  • vi-DauCu - vi-DauCu
  • vi-DauMoi - vi-DauMoi
  • xh-ZA - isiXhosa (South Africa)
  • yi - Yiddish
  • zu-ZA - isiZulu (South Africa)

Manually installing dictionaries.¶

Hunspell compatible dictionaries can be found in many places, if you find one you want, you can manually install it in this folder $adiircdir\Dict\


Blowfish

This is a recompile of https://github.com/flakes/mirc_fish_10 to make it work on 64 bit windows and to work with AdiIRC, source code is attached.

Since this is made to inject itself into the mIRC's underlying sockets and AdiIRC is a completely different program, all events must be scripted to use the fish functions from the dll, some events is already added in the attached script, feel free to add more as needed.

A proper plugin will probably be added at some point using AdiIRC API instead of a script.

Thanks to ParAd0x for creating this project.

Compiled with OpenSSL-1_0_2j binaries from http://slproweb.com/

How to install¶

Use blowfish64 on 64 bits version of AdiIRC, otherwise 32 bits (type //echo -ag $bits to verify).

Step 1. Download the attached blowfish64.zip/blowfish32.zip.
Step 2. Unpack blowfish64.zip/blowfish32.zip into $adiircdir\Scripts\
Step 3. Type //load -rs $qt($adiircdir $+ \Scripts\fish_10.ini) and say yes to the popup dialog, if any.

Script Changes¶

03/15/2017

Fixed 32 bit was not compiled correctly.

02/05/2017

Encryption/decryption rewritten to use parseline event.
CBC support by default with fallback to ECB.
Cleanup of menus.
Added support for key exchange with mircryption CBC style.
Added configuration for CBC/ECB key per user/channel.

Thanks to ParAd0x for these changes.

08/28/2016

Fixed some path issues

03/03/2016

Fixed decrypt topics for topicbox/channel editor

02/05/2016

Added mcps support (thanks Fredro)
Fixed empty key hack should retry the key (thanks Fredro)

10/17/2015

Updated the mirc fish revision to 306a9e
Updated openssl libraries to 1.0.2d.
Fixed various brackets issues and bugs in the script.
Unicode characters should now work in the 1.9.9 AdiIRC beta.

03/10/2015

Fixed an issue with sending encrypted text on some networks.

02/11/2015

Added $ctrlenter check when typing /commands.

02/02/2015

Added topic decryption and /me decryption.
Added a hack for an issue where the ini file randomly is unloaded?
Added prefixnick and nickcolor support to the message output.

Troubleshoot¶

If you see an error like "$dll: no such file 'C:\Program Files\AdiIRC' (line 382, fish_10.ini)" type //load -rs $qt($adiircdir $+ \Scripts\fish_10.ini) and say yes to the popup dialog, if any.


SASL

SASL support is Built into the new Serverlist and into the /server command as of 1.9.9.

To enable SASL in the Serverlist:

  1. Set the Login Method to "SASL (username + password)".
  2. Set the "Username" to your nickserv nick.
  3. Set the "Password" to your nickserv password.


ZNC

There are several ways to connect to a IRC Bouncers such as ZNC

Connecting using the Server list¶

  • Open the Serverlist by pressing the CTRL + S hotkey, by typing /serverlist or by opening Server -> Serverlist in the Menubar.

  • Add a new network for ZNC by pressing the "Add new network button"

  • Enter a name for the ZNC network, it can be anything you want, then press "Add".

  • Enter the ZNC login information

The "Username" and "Password" field should match the username and password provided by your ZNC provider.

Set the Nick, Fullname and Alternative nicks to whatever you want.

  • If you want AdiIRC to automatically connect to the ZNC network on startup, check the "Connect to this network on startup" checkbox

  • Click the "Server" tab in the Serverlist.

  • Click the "Add" button.

  • Enter the hostname and port for your ZNC provider, e.g "znc.provider.org" and 31337.

  • If the ZNC provider requires TLS/SSL connection, click the "Enable SSL" checkbox.

  • All done, clisk the "General" tab in the Serverlist, then press the "Save" button, then either click "Connect" to connect to the ZNC network in the current open server window, or "Connect in a new window" to connect to the ZNC network in a new server window.

Connecting by direct command¶

Check the /server wiki for a complete overview of command parameters. Two quick example:

  1. Non SSL:
    /server -m you.znc.net:5708 -p login:password
  2. SSL:
    /server -m you.znc.net:+5708 -p login:password

To connect using SSL, add + to port prefix or use the parameter -ssl.

Ps: for no specified parameters like nick (-i), username (-u), realname (-r), etc, AdiIRC will use the default values set in /quickconnect.

Connecting by script¶

on *:start: {
  server you.znc.net:5708 -p login:password
}


Tabcomplete

You can use the TAB key in the Editbox (and in various popup dialogs like $? $input to complete various words)

TAB | Completes and cycles all channel nicks, if current window is a query window, the nick of the query is used.
nick TAB | Completes channel nicks, query nick or your own nick.
$ TAB | Evaluates a identifier, eg. $me TAB $chan TAB.
% TAB | Evaluates a global variable.
# TAB | Completes and cycles all joined channel names (and any channels in your Serverlist for the current server), if current window is a channel, the channel name is completed first.
#chan TAB | Completes a joined channel name.
<@|%|+>nick TAB | Completes channel nicks matching the channel prefix and/or nick. (Based on channel prefix received by the server, e.g @+)


IRCv3

IRCv3 extensions are a set of optional features for IRC servers and clients proposed by the IRCv3 Working Group

AdiIRC supports some of them and will enable any of these prefixes automatically if they are supported by the server.

Currently supported¶

multi-prefix

userhost-in-names

away-notify

extended-join

account-notify

server-time (added in 1.9.7)

znc.in/server-time-iso (added in 1.9.7)

znc.in/server-time (added in 1.9.7)

sasl (added in 1.9.9)

tls (added in 1.9.9)

chghost (added in 2.5)

account-tag (added in 2.8)

invite-notify (added in 2.8)

echo-message (Added in 2.9 enable in Options -> Server -> Use echo-message when available)

Monitor (added in 2.9)


Wine

Installing AdiIRC in Wine on 64 bit Ubuntu and OS X.

Wine is a Windows compatibility layer which allows you to run many Windows programs on Linux/OS X.

Winetricks is a script to help you install various Windows components and programs.

Install Wine ¶

On Ubuntu/Debian Type:

apt-get install wine

On OS X type:

# If homebrew is not installed, type
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# Then install Wine through homebrew
brew install wine

Create a 32 bit Wine prefix¶

Wine does not allow running 64 bit .NET applications, so you must create a 32 bit wine folder.

Type:

WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg

Download Winetricks ¶

Type:

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks

Install .NET using Winetricks ¶

If you downloaded the 32 bit .NET 2.0 version of AdiIRC (recommended) type:

WINEPREFIX=~/.wine32 ./winetricks dotnet20

If you downloaded the 32 bit .NET 4.5 version of AdiIRC (not recommended) type:

WINEPREFIX=~/.wine32 ./winetricks dotnet45

Run AdiIRC with Wine ¶

After .NET is installed, you should be able to run AdiIRC by typing:

WINEPREFIX=~/.wine32 wine AdiIRC.exe


Getting Involved

If you want to help make AdiIRC better, here is some things you can do.

Learn to make and share scripts¶

Users are always looking for new cool scripts or help creating scripts.

Learn to make and share plugins¶

Plugins are much more powerful than scripts and have the entire .NET framework behind it.

Create and share color themes¶

There is a lot of options for customizing AdiIRC, sharing a color theme/options is a great way to let other users get started.

Translating¶

Help translate AdiIRC into your native language, it doesn't have to be perfect, translating can be done at https://www.getlocalization.com/AdiIRC/

Writing Documentation/Guides¶

Creating guides to follow or documenting some specific behavior can be very helpful for other users. (Ask for wiki access if needed)

Find and report bugs¶

Reporting and fixing bugs is very important and helps everybody.

Suggest new features¶

If you can think of a feature other clients have or something new you want to see in AdiIRC, feel free to open a issue with the suggestion.

Help other users¶

Hang around #adiirc on chat.freenode.net or the forum to help answer questions.


IRC Channels

Of course there is only the official #adiirc on freenode.
But AdiIRC does have some notable unofficial channels or other related channels on other networks

Official/Officially Owned Channels
  • freenode - #adiirc

Unofficial Channels
  • ElectroCode - #AdiIRC
  • NordicIRC - #adiirc

Don't ask to ask.¶

When you join any of these channels, Do Not just join and say 'anyone here', 'i have a question', or similar things, just tell the channel what you're having a problem with and if someone knows how to help and has time, they will help you.

Channel Management¶

ElectroCode manages their channel to the extent their ircd allows them, giving voice to helpers and above to those that are more trusted.

Client Bugs / Issues¶

If its a Bug or other kind of issue with AdiIRC, submit an issue. Include any info you can about what causes it,
especially if this bug causes AdiIRC to crash. We can't really help you by building the best IRC client,
if you don't help us by letting us know things that are impeding its progress.

Bot Bugs / Issues¶

The bot is currently able to give info on select identifiers, commands, and events.

If there's a problem with the bot, See '!Adi info' for contact information.

If its pertinent and critical, highlight the bot developer in #adiirc on freenode, under the nick of kspencer/IotaSpencer.
If you're on ElectroCode, he's the owner of the channel. (Iota/Ken)


AddEdit channel dialog

Channel¶

Name of the channel.

Password¶

Password of the channel, if any.

Join on connect¶

When checked, the channel will be joined when the server connects, otherwise it will be treated as a channel favorite.

Minimize on join¶

When checked, the channel window will be minimized when joined.


Add/Edit Highlight Dialog¶

Highlight¶

The word(s) to highlight.

$me can be used to refer to your current nick.

The Highlight trigger will be evaluated and can contain identifiers.

Identifiers like $me must be surrounded by spaces, $+ can be used to combine a identifier with something else, eg. $me $+ + to create Nick+.

Match on¶

Search the Message and/or the Nickname for matching word(s).

Case sensitive¶

If enabled, only exact matches will trigger.

Regex¶

If enabled, the highlight word(s) can be a regular expression

Sound¶

When highlight word(s) is matched, play a beep, a sound file or nothing.

Color¶

Color the match using the mIRC colors 0-15.

The first color in the dropdown is the Options -> Colors -> Highlight color.

The last dropdown item allows you to select any color you want.

Flash message [X] times¶

When highlight word(s) is matched, flashes the main window in the Taskbar [X] times.

Tip message for [X] seconds¶

When highlight word(s) is matched, shows a Tip message for [X] seconds.

Network or Server address¶

If filled, will only match the highlight word(s) if the network or server address also matches the current server.

Channel¶

If filled, will only match the highlight word(s) if the message originated on the matched channel name.

Message¶

The Tip message to show when highlight word(s) is matched.

The Tip message will be evaluated and can contain identifiers.

Run command¶

When highlight word(s) is matched, run a command.

The command will be evaluated and can contain identifiers.


Add/Edit Ignore Dialog¶

Address¶

The nick or address to ignore.

Ignore Options¶

If no specific ignore option is enabled, all options are ignored.

Private¶

Ignore private messages from the nick/address.

Channel¶

Ignore channel messages from the nick/address.

Notice¶

Ignore notice messages from the nick/address.

Ctcp¶

Ignore ctcp requests from the nick/address.

DCC¶

Ignore DCC requests from the nick/address.

Invite¶

Ignore channel invites from the nick/address.

Codes¶

Ignore [Formatting_text[control codes]] from the nick/address.

Exclude¶

Exclude this nick/address from being ignored.

Remove in [X] secs¶

Remove this ignore after [X] seconds.

Network name or Server address.¶

Limit this ignore rule to the specified network name or server address.


AddEdit Nickcolor Dialog

Nickcolor Dialog¶

Nick color¶

Color to use for coloring the match.

The last dropdown item allows you to select any color you want.

Method¶

Match on messages, Nicklist or both.

Nick or address¶

Match the nick or address.

Channel modes¶

Match users with the specified channel modes.

Any mode¶

Match users with any channel mode.

NO mode¶

Match users with no channel mode.

User levels¶

Match users with the specified user levels.

Idle time [X] mins¶

Match users who has been idle for more than [X] minutes

Address Book¶

If checked, match a nick in the Address Book.

Ignore¶

If checked, match a nick in the ignore list.

Notify¶

If checked, match a nick in the notify list.


AddEdit Nicklist Icon Dialog

Nicklist Dialog¶

Icon¶

Path to a image file to use as icon for this match.

Nick or Address¶

The nick or address to match.

$me can be used to refer to your current nick.

Channel modes¶

Channel modes to match, e.g to match all channel ops *@* can be used.

Any mode¶

Match a user with any channel mode(s).

No mode¶

Match a user with no channel mode(s).

User levels¶

User levels to match.

Idle time¶

Only match users who has been idle for [x] minutes.

Address Book¶

If checked, match a nick in the Address Book.

Ignore¶

If checked, match a nick in the ignore list.

Notify¶

If checked, match a nick in the notify list.


AddEdit Notify Dialog

Nickname¶

Nickname to add to the Notify list.

Network¶

If specified, only get notified when user comes online/offline on this network.

Note¶

Add a small note to the Nickname.

Online sound¶

When user comes online, play a beep, sound or nothing,

Offline sound¶

When user comes offline, play a beep, sound or nothing,

Use default sounds¶

If enabled, online/offline sound options set in [[Options_Dialog|Options}} -> Sounds will be used instead.

Perform /whois¶

If enabled, AdiIRC will perform /whois on a nickname when it comes online.


AddEdit server dialog

Hostname¶

The hostname you want to connect to.

Usually something like irc.network.com.

Port¶

The port you want to connect to.

Usually 6667 for plain connections and 6697 for SSL connections.

+port can be used to connect to SSL/TLS servers, *port can be used to connect using STARTTLS.

Description¶

A small description to use for this server. (Optional)

Enable SSL¶

If checked or if port is defined starting with a +, AdiIRC will try connect to this server using SSL.

Enable STARTTLS¶

If checked or if port is defined starting with a *, AdiIRC will try connect to this server using STARTTLS.


Arithmetic operators

Addition
Subtraction
Multiplication
Division
Modulo
Power
 a + b
a - b
a * b
a / b
a % b
a ^ b


Comparison

_______________________________________________________________________________________________
List revision 0.3.2 - Always under construction
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Differences between AdiIRC and the competitor 1:

General¶

  1. Binary 64 bits version available;
  2. Undo works in editbox after evaluating;
  3. Auto update and install new version at a click;
  4. Portable by essence, where you run the bin it saves the config, don't need any extra config to make it portable;
  5. Built in spell checker;
  6. Native support for emoticons on chat and scripts;
  7. Global editbox history;
  8. Tabcomplete by recent nicks;
  9. Track users away status;
  10. Encoding options on the fly per network;
  11. Native Now Playing info support for most popular media players;
  12. Tired of 0-15 colors limit? AdiIRC can use unlimited RGB colors. More info at Formatting_text;
  13. Built in away system for more control;
  14. Random slaps, quits and now playing;
  15. Powerful Plugins api;
  16. Save and restore open servers and channels;
  17. Built in System Info (CPU,GPU,Bandwidth,MEM,DISK,AUDIO,OS,etc) commands and identifiers;
  18. Auto regain nick on re-connection;
  19. Config to change browser to open links;
  20. Possibility to open links by single click;
  21. No limit to scripts support on Highlight Message field;
  22. Easy to turn off CTCP or to customize the reply, even for version. Check ctcp and ctcpreply;
  23. Check for irc:// links association on startup;
  24. Possibility to keep channels open on part;
  25. Always on top shortcut (default is alt+a);
  26. It supports system codecs installed to play virtually any songs format in /splay and related commands;
  27. Random nick colors on messages, nicklist or both;
  28. Auto backup to important files like config.ini, vars, commands, servers, etc, avoiding any data loss on BSOD and general crashes so common in other clients. A very relevant feature.

MSL (mIRC Scripting Language) ¶

  1. It can handle consecutive spaces. Check $msgx, $rawmsgx, /fakeraw and /rawx;
  2. Two or more On Text events matching same rule in same script file? no problem, AdiIRC will match them all. Valid for any kind/amount of events!
  3. On KeyDown/KeyUp events works in any window, making possible to override default hotkeys;
  4. Var size unlimited, don't need to appeal to bvars for most scripts;
  5. Faster scripting engine, benchmark both client to compare;
  6. Expanding the MSL language with extra identifiers/commands/operators/events and parameters;
  7. Multiples and simultaneous sounds in scripts? Sure, it supports named command similar to /timer function to invoke a new player instance, ie /splayNAME [parameters];
  8. In addition to /remote [on|off] it has /scripts [on|off] to toggle Scripts entirely;
  9. Possibility to halt and customize any client text output. Check the event ON CLIENTTEXT.

GUI (Graphical User Interface)¶

  1. Statusbar;
  2. Themes manager;
  3. Improved search bar with support for regular expressions (regex);
  4. Unread messages counter on treebar windows;
  5. Customizable nick list buttons;
  6. Custom colors and style for links;
  7. Treebar nicklist;
  8. Server list manager with support to connect more than one network at once on startup;
  9. Parsed Nicklist Tooltips;
  10. Toggle main window border;
  11. Topicbox;
  12. Friendly themes colors customize;
  13. Custom icons everywhere, to any kind of window;
  14. Custom fonts everywhere;
  15. Quick connect popup, check /quickconnect;
  16. Fully customizable window titles, not limited to /titlebar;
  17. Several monitoring panels (channel messages, url catcher, pm, highlights, notices, notify list, dcc transfers, etc);
  18. Toggle the auto focus editbox (selected text in chat area keeps selected);
  19. Toggle Menubar icon visibility;
  20. Toggle buffer scrollbars visibility;
  21. Custom colors and font in tray Tips;
  22. Toggle mute to events sounds;
  23. Fake transparent windows (uses desktop wallpaper as background);
  24. Search field on /options;
  25. Dockable interface to any side of screen;
  26. Optional Nick Column (right aligned nick with draggable divider);
  27. A more friendly scripts editor;
  28. Most GUI elements are DPI-aware;
  29. GUI translation support. Check out how to collaborate in www.getlocalization.com/AdiIRC/.

For a more deep list of changes, check the active changelog and the release notes.


Contact

Email¶

amundsen@gmail.com

IRC¶

irc://chat.freenode.net/#adiirc (my nick is kr0n)

Twitter¶

https://twitter.com/adiirc

Reddit¶

https://www.reddit.com/user/kr0nfly


Dcc Get Folders Dialog

Save dcc file transfers matched by file extensions to a specific folder.

File extensions¶

File extensions to match.

Use ; as separator for adding multiple file extensions.

Folder¶

Folder to save the files.

Open with¶

On successful file transfer, open the file with a program.

Run command¶

On successful file transfer, run a command with the filename as a parameter.

The command will be evaluated and can contain identifiers.


Dialog Items

See also /dialog, $dialog, on DIALOG.

title <text>

Sets the titlebar text of the dialog.

size <x y w h>

Sets the x/y position and the width/height of the dialog.

option <pixels | dbu | notheme | disable>

pixels - The dialog and All dialog items sizes are defined in pixels.
dbu - The dialog and All dialog items sizes are defined in Dialog Base Units.
notheme - Sets the dialog border style to fixed single and disables windows theme styling.
disable - Disables all controls for a second when the dialog is shown.

icon <filename, [index]>

Adds a icon to the dialog.

filename - Icon file, can be any type of picture or icon file, also a .exe or .dll.
[index] - Icon index in the .ico/.exe/.dll file to use.

icon <id, x y w h, filename, [index], [noborder, top, left, bottom, right, small, large, actual, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a picturebox to the dialog.

id - Id of the picturebox.
x y w h - The x y position, width and height to use for the picturebox.
filename - Icon file, can be any type of picture or icon file, also a .exe or .dll.
[index] - Icon index in the .ico/.exe/.dll file to use.
noborder - Removes the border added to regular images.
top - TODO
left - TODO
bottom - TODO
right - TODO
center - TODO
small - Use small icon.
large - Use large icon.
actual - Use the actual icon.
disable - Disables the picturebox.
hide - Hides the picturebox.
tabid/tab id - Indicates the picturebox should be shown on the tab with the specified id.
aleft - Anchors the picturebox to the left. (AdiIRC only)
aright - Anchors the picturebox to the right. (AdiIRC only)
atop - Anchors the picturebox to the top. (AdiIRC only)
abottom - Anchors the picturebox to the bottom. (AdiIRC only)

tab <text, id, x y w h>

Adds a tabcontrol to the dialog.

text - The text of the tab.
id - Id of the tabcontrol.
x y w h - The x y position, width and height to use for the tabcontrol.

tab <text, id

Adds a new tab to the tabcontrol with the specified id.

combo <id, x y w h, [sort, edit, drop, size, vsbar, hsbar, result, disable, tab id, aleft, aright, atop, abottom]>

Adds a combobox to the dialog with the specified id at position x/y and the w/h width/height.

id - Id of the combobox.
x y w h - The x y position, width and height to use for the combobox.
sort - Enables sorting.
edit - Shows the editbox.
drop - Show as a dropdown list.
size - Sets the height of the dropdown area.
vsbar - Enables the vertical scrollbar.
hsbar - Enables the horizontal scrollbar.
result -Indicates the selected dropdown item/text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the combobox.
tabid/tab id - Indicates the combobox should be shown on the tab with the specified id.
aleft - Anchors the combobox to the left. (AdiIRC only)
aright - Anchors the combobox to the right. (AdiIRC only)
atop - Anchors the combobox to the top. (AdiIRC only)
abottom - Anchors the combobox to the bottom. (AdiIRC only)

text <text, id, x y w h, [right, center, nowrap, result, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a text label to the dialog.

text - The text to add.
id - Id of the text.
x y w h - The x y position, width and height to use for the text.
right - Aligns the text to the right.
center - Centers the text.
nowrap - TODO
result - Indicates the text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the text.
hide - Hides the text.
tabid/tab id - Indicates the text should be shown on the tab with the specified id.
aleft - Anchors the text to the left. (AdiIRC only)
aright - Anchors the text to the right. (AdiIRC only)
atop - Anchors the text to the top. (AdiIRC only)
abottom - Anchors the text to the bottom. (AdiIRC only)

link <text, id, x y w h, [right, center, result, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a link label to the dialog.

text - Text of the link.
id - Id of the link.
x y w h - The x y position, width and height to use for the link.
right - Aligns the link to the right.
center - Centers the link.
result - Indicates the link text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the link.
hide - Hides the link.
tabid/tab id - Indicates the link should be shown on the tab with the specified id.
aleft - Anchors the link to the left. (AdiIRC only)
aright - Anchors the link to the right. (AdiIRC only)
atop - Anchors the link to the top. (AdiIRC only)
abottom - Anchors the link to the bottom. (AdiIRC only)

button <text, id, x y w h, [default, ok, cancel, flat, multi, result, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a button to the dialog.

text - Text of the button.
id - Id of the button.
x y w h - The x y position, width and height to use for the button.
default - Sets the button as the default/accept button of the dialog.
ok - Sets the button as the "ok" button of the dialog.
cancel - Sets the button as the "cencel" button of the dialog.
flat - Shows the button as a flat button.
multi - TODO
result - Indicates the button text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the button.
hide - Hides the button.
tabid/tab id - Indicates the button should be shown on the tab with the specified id.
aleft - Anchors the button to the left. (AdiIRC only)
aright - Anchors the button to the right. (AdiIRC only)
atop - Anchors the button to the top. (AdiIRC only)
abottom - Anchors the button to the bottom. (AdiIRC only)

check <text, id, x y w h, [left, push, 3state, flat, result, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a checkbox to the dialog.

text - Text of the checkbox.
id - Id of the checkbox.
x y w h - The x y position, width and height to use for the checkbox.
left - TODO
push - Shows the checkbox as a button.
3state - Enables the intermediate state, gives the checkbox 3 states it can be in.
flat - Shows the checkbox as a flat checkbox.
result - Indicates the checkbox text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the checkbox.
hide - Hides the checkbox.
tabid/tab id - Indicates the checkbox should be shown on the tab with the specified id.
aleft - Anchors the checkbox to the left. (AdiIRC only)
aright - Anchors the checkbox to the right. (AdiIRC only)
atop - Anchors the checkbox to the top. (AdiIRC only)
abottom - Anchors the checkbox to the bottom. (AdiIRC only)

edit <text, id, x y w h, [right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N, rich, result, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a textbox to the dialog.

text - Text of the textbox.
id - Id of the textbox.
x y w h - The x y position, width and height to use for the textbox.
right - Aligns the text in the textbox to the right.
center - Aligns the text in the textbox to the center.
multi - Enables multi lines.
pass - Indicates the text in the textbox is a password and should be masked.
read - Enables read only mode.
return - Allow return key to add new lines.
hsbar - Enables horizontal scrollbar.
vsbar - Enables vertical scrollbar.
autohs - Disables word wrap in a multi line textbox .
autovs - Automatically scroll to bottom when adding lines in multi line textbox .
limit N - Limits the textbox to N characters.
rich - Enables richtextbox instead of regular textbox.
result - Indicates the textbox text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the textbox.
hide - Hides the textbox.
tabid/tab id - Indicates the textbox should be shown on the tab with the specified id.
aleft - Anchors the textbox to the left. (AdiIRC only)
aright - Anchors the textbox to the right. (AdiIRC only)
atop - Anchors the textbox to the top. (AdiIRC only)
abottom - Anchors the textbox to the bottom. (AdiIRC only)

list <id, x y w h, [sort, extsel, multse, size, vsbar, hsbar, check, radio, result, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a listbox to the dialog.

id - Id of the listbox.
x y w h - The x y position, width and height to use for the listbox.
sort - Enables sorting.
extsel - Enabled extended selection mode.
multsel - Enabled multi selection mode.
size - ?
vsbar - Shows the vertical scrollbar always.
hsbar - Shows the horizontal scrollbar always.
check - Shows checkboxes instead of text.
radio - TODO
result - Indicates the selected listbox text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the listbox.
hide - Hides the listbox.
tabid/tab id - Indicates the listbox should be shown on the tab with the specified id.
aleft - Anchors the listbox to the left. (AdiIRC only)
aright - Anchors the listbox to the right. (AdiIRC only)
atop - Anchors the listbox to the top. (AdiIRC only)
abottom - Anchors the listbox to the bottom. (AdiIRC only)

radio <text, id, x y w h, [left, push, flat, group, result, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a radio button to the dialog.

text - Text of the radio button.
id - Id of the radio button.
x y w h - The x y position, width and height to use for the radio button.
left - TODO
push - Shows the radio button as an button.
flat - Shows the radio button as flat.
group - Creates a new radio group.
result - Indicates the radio button text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the radio button.
hide - Hides the radio button.
tabid/tab id - Indicates the radio button should be shown on the tab with the specified id.
aleft - Anchors the radio button to the left. (AdiIRC only)
aright - Anchors the radio button to the right. (AdiIRC only)
atop - Anchors the radio button to the top. (AdiIRC only)
abottom - Anchors the radio button to the bottom. (AdiIRC only)

box <text, id, x y w h, [result, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a group box.

text - Text of the group box.
id - Id of the group box.
x y w h - The x y position, width and height to use for the group box.
result - Indicates the selected group box text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the group box.
hide - Hides the group box.
tabid/tab id - Indicates the group box should be shown on the tab with the specified id.
aleft - Anchors the group box to the left. (AdiIRC only)
aright - Anchors the group box to the right. (AdiIRC only)
atop - Anchors the group box to the top. (AdiIRC only)
abottom - Anchors the group box to the bottom. (AdiIRC only)

scroll <text, id, x y w h, [top left bottom right horizontal range N N, disable, hide, tab id, aleft, aright, atop, abottom]>

Adds a vertical scrollbar.

text - Text of the scrollbar?.
id - Id of the scrollbar.
x y w h - The x y position, width and height to use for the scrollbar.
top - todo
left - TODO
bottom - TODO
right - TODO
horizontal - Sets the scrollbar as a horizontal scrollbar.
range N N - Sets the range of the scrollbar, from N to N.
disable - Disables the scrollbar.
hide - Hides the scrollbar.
tabid/tab id - Indicates the scrollbar should be shown on the tab with the specified id.
aleft - Anchors the scrollbar to the left. (AdiIRC only)
aright - Anchors the scrollbar to the right. (AdiIRC only)
atop - Anchors the scrollbar to the top. (AdiIRC only)
abottom - Anchors the scrollbar to the bottom. (AdiIRC only)

menu <text, menuid [, menuid]>

Adds a new menu collection to the Menubar, if the second menuid is specified, the menuitem is added to that menu collection instead.

text - Text of the menu.
menuid - id of the menu.
menuid - id of the parent menu.

item <text|break, id, [menuid, cancel, ok]>

Adds a new menu item to a menu.

text|break - Text of the menu item, or break to add a menu separator.
id - Id of the menu item.
menuid - Parent menu to add the menu item to, else it's added to previously used menu.
cancel - Indicates this menu should trigger the cancel button.
ok - Indicates this menu should trigger the accept/ok button.


Login method

Login methods¶

List of the different login methods used by the server list and /server.

0 - Default
1 - SASL (username + password)
2 - SASL EXTERNAL (certificate)
3 - Server Password (/PASS password)
4 - NickServ (/MSG NickServ + Password)
5 - NickServ (/NickServ + Password)
6 - Challenge Auth (username + Password) (TODO)
7 - Custom (Connect commands)

pass,sasl,external,msg,nickserv can also be used for /server.


Matchtarget

A <matchtarget> is a text pattern that AdiIRC will use to compare with a target window during a scripting event.

Different events have different valid window locations.

= - Defines dcc chat window location.
@ - Defines custom window location.
? - Defines query location.
# - Defines channel location.
* - Defines any window location.
! - TODO.
~ - Defines a monitor panel/rawlog location. (~Rawlog, ~Transfers can also be used to match a single window, AdiIRC only)
%var - A variable containing a window or a list of windows is also acceptable.

Multiple windows can be targeted by using commas.

See also $matchkey.

Example

; Subscribe to the TEXT event and if #channel or #channel2 matches the target channel, print a text.
on *:TEXT:*:#channel,#channel2:echo -ag #channel matched.

; Subscribe to the TEXT event and if any channels matches the target, print a text.
on *:TEXT:*:#:echo -ag # matched.

; Subscribe to the TEXT event and if any channel or query matches the target, print a text.
on *:TEXT:*:#,?:echo -ag $target matched.

; Set a target variable.
set %target #channel

; Subscribe to the TEXT event and if #channel matches the target channel, print a text.
on *:TEXT:*:%target:echo -ag #channel matched.


Matchtext

A <matchtext> is a text pattern that AdiIRC will use to compare with something during a scripting event.

Wild characters¶

The matchtext can contain wild characters:

* - matches any text
? - matches any single letter
& - matches any single word

See also $matchkey, $stripped.

Example

; The matchtext will only match if the ONLY word is "!test"
on *:TEXT:!test:*:echo -ag Match

; The matchtext will match if the text starts with "!test"
on *:TEXT:!test*:*:echo -ag Match

; The matchtext will match if the text ends with the word "!test"
on *:TEXT:*!test:*:echo -ag Match

; The matchtext will match any text that has "!test" in it (anywhere)
on *:TEXT:*!test*:*:echo -ag Match

; The matchtext will match any text that start with the word test !test and his only followed by a second word
on *:TEXT:!test &:*:echo -ag Match

Regex text pattern¶

The matchtext parameter can also be a Regular Expression Pattern by using the '$' event prefix.

Example

on $*:text:/^!test$/i:#:{
  msg $chan Test Worked!
}

Matchtext Evaluation¶

Matchtext can be evaluated using $(code) or contain a single %variable.

Example

; Subscribe to the TEXT event, try evaluate my nick, and if it matches, print a text.
on *:TEXT:$(* $+ $me $+ *)):*:echo -ag My nick was highlighted on $chan

; Set a variable
set %variable !test

; Subscribe to the TEXT event, if the messages matches the variable, print a text.
on *:TEXT:%variable:*:echo -ag Text !test was matched


On APPACTIVE

Added in 1.9.3

on <level>:APPACTIVE:<commands>

Triggers when AdiIRC active status changes.

See also $appactive, on ACTIVE.

Parameters

<level> - The level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.

Example

on *:APPACTIVE:echo -ag AdiIRC active status is $appactive


Screenshots

The images bellow illustrates what is possible when manually customizing AdiIRC using a mix of options and scripts.

AdiIRC ZarkBlack Screenshot

Your browser does not support the video tag.

Your browser does not support the video tag.

Your browser does not support the video tag.

AdiIRC GUI elements

See also
We kindly invite you to share your own screenshots on the boards.


Serverlist Channels

In the channels tabs you can add all channels you want to join or keep as favorites.

See also /channels, /autojoin.

Add¶

Opens up the add channel dialog.

Edit¶

Opens up the edit channel dialog.

Remove¶

Removes the selected channels(s) from the channels tab.

Up¶

Moves the selected channel(s) higher up in the serverlist.

Down¶

Moves the selected channel(s) lower down in the serverlist.

Enable autojoin¶

If checked, all channels marked as autojoin will be joined when the server connects.

Delay X seconds¶

Joining channels will start after X seconds.

Delay between joins¶

Joining each channel will be delayed X seconds.

Favorites¶

Channels not marked as autojoin will be treated as favorites, they can be tabcompleted from the Editbox.


Serverlist Commands

In the commands tab, you can add commands to perform when the server is connected.

See also /perform, /sleep.

Each line represents a command to perform, see Scripting Commands for more information.

Run these commands on connect¶

When checked, all the commands will be performed when the server connects, otherwise they will be ignored.


Serverlist General

Nick¶

The nickname you want others to see you as.

Fullname¶

The fullname to display when another user looks you up with /whois.

Can be left blank.

Username¶

Username to use when logging on to a IRC network, if Identd is disabled, this will also be your Identd username.

Username is also used to log on to IRC bouncers or through SASL/nickserv.

Normally this can be set to the same as your Nick, can also be set to blank.

Password¶

Password to use when loogging on to a IRC bouncers or through [[SASL]/nickserv].

Alternative nicks¶

List of alternative nicks to use when the main nick is in use.

Login Method¶

Login Method to use when logging on to IRC bouncers or through SASL/nickserv.

Encoding¶

Encoding to use on this network, this should almost always be Unicode (UTf-8).

Connect to this network on startup¶

IF enabled, AdiIRC will connect to this network on startup.

Prioritize IPv6¶

If enabled, AdiIRC will prioritize IPv6 addresses found in the hostname of the server when conning.

Minimize the server window¶

If enabled, AdiIRC will minimize the server window when connecting.

Use this label as the network name¶

If enabled, AdiIRC will show the name you gave this network in the Treebar/Switchbar.

Connect¶

When clicked, AdiIRC will connect to this network in the current open server window/tab inside AdiIRC.

Connect in a new window¶

When clicked, AdiIRC will connect to this network in the a new server window/tab inside AdiIRC.


Serverlist Misc

  • Quit message

    • Serverlist Misc¶

    The misc tab has some additional options.

    Try to regain nick¶

    Use global settings - Uses the Options -> Server regain nick settings.
    On - Tries to regain nick if the main nick name is in use.
    Off - Disables regain nick on this network,

    User mode¶

    Asks the servers to set the entered user modes on connect.

    Default ban type¶

    If set, commands such as /ban will use this format as the default ban type on this network.

    Use global quit message¶

    If enabled, uses global quit message settings including random quit message, otherwise uses the message entered in Quit message

    Quit message¶

    The custom quit message to use on this network if Use global quit message is disabled.


Serverlist Proxy

In the proxy tab, you can add custom proxy settings to this specific network.

A proxy server allows you to route traffic through a different connection/ip address.

Use global proxy settings¶

Enables or disables global proxy settings.

Connection¶

Sets the types of connections the proxy should be enabled for.

None - Disable proxy for all types.
Server - Enables proxy for the server connection.
DCC - Enables proxy for the DCC connection.
Both - Enables proxy for both server and DCC connections.

Protocol¶

Sets the proxy protocol type to connect to.

Hostname¶

Proxy server hostname to connect to.

Username¶

Proxy server username to use, if any.

Password¶

Proxy server password to use, if any.

Port¶

Proxy server port to connect to.


Serverlist Servers

In the servers tab you can add/edit/remove hostnames and ports which this network should connect to.

AdiIRC will try each hostname in order from top to bottom.

Add¶

Opens up the add server dialog.

Edit¶

Opens up the edit server dialog.

Remove¶

Removes the selected server(s) from the servers tab.

Up¶

Moves the selected server(s) higher up in the serverlist.

Down¶

Moves the selected server(s) lower down in the serverlist.


Serverlist SSL

In the SSL tab you can change various options related to connecting to networks using SSL/TLS

Client certificate¶

Set the client SSL certificate to use on this network if Use global client certificate is unchecked.

Use global client certificate¶

Enable/disable using the global client certificate set in Options -> Server Options.

Accept invalid SSL certificate¶

If enabled accepts self-signed SSL certificates or certificates with invalid host names.

SSL protocol¶

Auto - Automatically negotiate the best protocol. (Should always be set to Auto)
SSL2 - Force using only the SSL2 protocol.
SSL3 - Force using only the SSL3 protocol.
TLS1.0- Force using only the TLS1.0 protocol.
TLS1.2- Force using only the TLS1.0 protocol.
TLS1.3- Force using only the TLS1.0 protocol.


Tips Tricks

Tips¶

Unicode/Font fallback¶

If you ever experience an issue with displaying unicode characters (which is not just an encoding issue), try enable Options -> Messages -> Use alternative text rendering.

Auth before joining a channel¶

If you need to be authed with nickserv before joining a channel, you can use the /sleep (or /timer) command in your serverlist "Run these commands on connect" field:

/msg nickserv identify <password>
/sleep 3 /join #channel1,#channel2

/sleep 3, means wait 3 seconds before running the following command.

The new serverlist has this feature built-in as well as SASL support which makes this a non issue.

Copy text from message buffer¶

When you select text from the message buffer, AdiIRC will automatically copy the text to the clipboard when you release the left mouse button.

If you prefer to manually press CTRL + C, you can go to Options -> Messages and disable AutoCopy selected text to Clipboard and AutoFocus Editbox.

These options might be merged into one soon as well as a feature to ask which method to use.

Problem connecting to TLS servers¶

If you experience problems connecting to a TLS only server, you can try the .NET 4.5 version which has support for TLS 1.1 and TLS 1.2.

Disable or changing CTCP VERSION reply¶

You can disable or change the CTCP VERSION reply using the CTCP event in a small script.

This can be used for any CTCP request.

; Disable CTCP version reply.
CTCP *:VERSION:*:halt

; Reply with a custom version.
CTCP *:VERSION:*:ctcpreply $nick IRC Version 42 | halt

Disable notification popups/tips¶

Tips for various events can be disabled in Options -> Tips, to disable highlight tips, go to Options -> Highlights, in the listbox area select "$me", then click the "Edit" button, uncheck "Tip message" and click "Save".

Disable highlight sound/beep¶

Go to Options -> Highlights, in the listbox area select "$me", then click the "Edit" button, set the sound dropdown to "No sound" and click "Save".

Client certificates¶

AdiIRC supports only PFX certificates, you can convert a PEM certificate to PFX using this openssl format:

openssl pkcs12 -export -out mynick.pfx -in mynick.pem

For creating a new certificate, have a look here

Update to a beta release¶

To update to a beta release, just type /betaup.

Align a Toolbar item to the right¶

There is a tiny "|" separator to the right, if you right click the Toolbar and choose "Customize", you are able to drag the item to the right of that border.

Speed up bnc buffer¶

Things you can try:

  • Make sure you are using latest beta.
  • Reduce Options -> Messages -> Max buffer.
  • Disable Options -> Monitor -> Monitor Channels/Servers.
  • Type "/setoption Links CaptureLinks False" to disable capturing links.
  • Disable Options -> Windows -> Focus newly opened windows.
  • Disable/reduce channel backgrounds.
  • Disable/reduce emoticons.
  • Disable/reduce highlights.
  • Disable/reduce nick colors.
  • Disable/reduce on TEXT and on PARSELINE scripts.
  • Disable Options -> Logging-> Log channels.
  • Make sure Options -> Messages -> Use alternative text rendering is unchecked.
  • Make sure channel/main window is as large as possible (or smaller font) to avoid word wrapping.
  • Use fixed size message font.

How to change the default options used when connecting with /server¶

The default options used when connecting with /server or from Menubar -> File -> New window can be changed in Options -> Quick Connect.

Slow logon¶

Some networks tries to scan your port 113 to see if you have a Identd server running, if the port is closed or the identd server is not running, it can take a while for the scan to timeout, make sure Identd server is enabled in Options -> Server and that port 113 is open in your firewall and router. (AdiIRC does not yet support UPNP).

Undocking monitor panels into a window¶

When "Lock Bars" is disabled (right click any menubar/toolbar/switchbar/statusbar/treebar to enable/disable) you can left-click the header of the monitor panel or a tab and move it with the mouse, if you release the mouse in the middle of the AdiIRC main window, the monitor will become a standalone window.

The window can be docked inside AdiIRC as a regular channel window by pressing CTRL + D.

You can also undock the monitor panel into a window by right-clicking the header or tab and choose "Undock".