IRC script

IRC scripts are a way of shortening commands and responding automatically to certain events while connected to an IRC network. There are many different scripting languages for different types of IRC clients: ircII, BitchX, HexChat, mIRC, Visual IRC, Bersirc, and others have their own scripting languages, many of which share common features and syntax and therefore are easily portable from one IRC client to another.

Aliases
Most IRC scripts contain one or more aliases. Aliases are used to bind some command to a set of commands, or give it parameters, to save time when typing such commands over and over. For example, a simple alias might allow the user to type "/j channel" instead of "/join #channel", saving exactly 5 keystrokes (counting Shift). Aliases can add new commands, replace commands built into the IRC client, or provide abbreviations for long commands or sequences of commands. Aliases can usually be used as functions to produce a value that is used elsewhere in the script. In some cases, an alias hypo can be associated with a keyboard shortcut.

Event-based scripting
Events, also known as remotes, allow a script to respond automatically when a particular type of message is received from the IRC server, or when a certain action is performed by the user, such as pressing a key or closing a window. Advanced event scripting usually requires knowledge of the IRC protocol, though basic events can usually be written without it.

Popups in scripts
Scripts for graphical IRC clients may contain pop-ups, which extend or replace the menus built into the client. Many scripts contain nothing but long lists of pop-ups that send humorous or cute canned messages to the channel; many of those messages take the form of a "slap", ridiculing a victim chosen by the user.

Security concerns
Since IRC scripts are used to interface with a public network, they are a favourable target for attack. Event handling code must be careful when dealing with input received from other IRC users; a poorly written IRC script may leave the user vulnerable, allowing attackers to possibly read the user's passwords or private conversations, execute arbitrary commands in the user's IRC client, or access files on the user's hard disk.

IRC Scripts downloaded from public web sites or received from other IRC users may contain backdoors or similar malicious commands. Some users prefer to write their own IRC scripts to avoid the potential problems caused by a malicious or buggy script.

Similarities to other programming/scripting languages
IRC Scripts have many of the same concepts of other scripting or programming languages, such as variables, event-based execution, modification of core components and functions. IRC Scripts look similar to modular software configuration files, such as those used for some IRC daemons such as UnrealIRCd.