IRC script
Encyclopedia
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 language
s for different types of IRC clients: ircII
, BitchX
, XChat, 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.
.
, 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.
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.
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.
.
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....
. There are many different scripting language
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...
s for different types of IRC clients: ircII
IrcII
ircII is a free, open-source Unix IRC and ICB client written in C. Initially released in the late 1980s, it is the oldest IRC client still maintained. Several other UNIX IRC clients, including BitchX, EPIC, and ScrollZ, were originally forks of ircII...
, BitchX
BitchX
BitchX is a free IRC client and has been considered to be the most popular ircII-based IRC client. The initial implementation, written by "Trench" and "HappyCrappy", was a script for the IrcII chat client. It was converted to a program on its own right by panasync . BitchX 1.1 final was released in...
, XChat, mIRC
MIRC
mIRC is an Internet Relay Chat client for Microsoft Windows, created in 1995 and developed by Khaled Mardam-Bey. Although it is a fully functional chat utility, its integrated scripting language makes it extensible and versatile....
, Visual IRC
Visual IRC
Visual IRC is an open source Internet Relay Chat client for the Windows operating system. Unlike many other IRC clients, nearly all of the functionality in ViRC is driven by the included script, with the result that the program's behavior can be extended or changed without altering the source...
, Bersirc
Bersirc
Bersirc is an open source Internet Relay Chat client for the Microsoft Windows operating system. Linux and Mac OS X versions are "in development". It uses the Claro toolkit, which aims to provide an interface to native windowing systems and widgets on all operating systems. Microsoft .NET and Qt...
, 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 can be associated with a keyboard shortcutKeyboard shortcut
In computing, a keyboard shortcut is a finite set of one or more keys that invoke a software or operating system operation when triggered by the user. A meaning of term "keyboard shortcut" can vary depending on software manufacturer...
.
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 serverServer (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
, 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 menusMenu (computing)
In computing and telecommunications, a menu is a list of commands presented to an operator by a computer or communications system. A menu is used in contrast to a command-line interface, where instructions to the computer are given in the form of commands .Choices given from a menu may be selected...
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 UnrealIRCdUnrealIRCd
UnrealIRCd is an open source IRC Daemon, originally based on dreamforge, and is available for Unix-like operating systems and Windows. Since the beginning of development on UnrealIRCd circa May 1999, many new features have been added and modified, including advanced security features and bug fixes,...
.
External links
- mircscripts.org Site for mIRC scripts, addons, themes and snippets
- mircscripts.com One of the oldest sources of mIRC scripts & addons on the internet (currently unavailable due to domain expiration)
- VisualScripts.com Collection of scripts for Visual IRC
See also
- Internet Relay ChatInternet Relay ChatInternet Relay Chat is a protocol for real-time Internet text messaging or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file...
- IRC client
- IRC daemon
- IRC servicesIRC servicesInternet Relay Chat services is a name for a set of features implemented on many modern Internet Relay Chat networks. Services are automated bots with special status which are generally used to provide users with access with certain privileges and protection...
- List of ircII scripts
- mIRC scripting language
- Scripting languageScripting languageA scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...