IRC script

Last updated

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.

Contents

Example of an IRC Script Mirc-script-example.png
Example of an IRC Script

Basis

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.

See also

Related Research Articles

<span class="mw-page-title-main">Internet Relay Chat</span> Protocol for real-time Internet chat and messaging

Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called channels, but also allows one-on-one communication via private messages as well as chat and data transfer, including file sharing.

<span class="mw-page-title-main">ChatZilla</span> IRC client

ChatZilla is an IRC client that is part of SeaMonkey. It was previously an extension for Mozilla-based browsers such as Firefox, introduced in 2000. It is cross-platform open source software which has been noted for its consistent appearance across platforms, CSS appearance customization and scripting.

<span class="mw-page-title-main">XDCC</span> File sharing service

XDCC is a computer file sharing method which uses the Internet Relay Chat (IRC) network as a host service.

<span class="mw-page-title-main">Visual IRC</span> Open source Internet Relay Chat client

Visual IRC (ViRC) 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 IRC script, with the result that the program's behavior can be extended or changed without altering the source code.

mIRC scripting language Scripting language embedded in mIRC

The mIRC scripting language is the scripting language embedded in mIRC and Adiirc, IRC clients for Windows but work with WiNE for Linux.

Internet 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. They usually implement some sort of login system so that only people on the access control list can obtain these services.

An IRC bot is a set of scripts or an independent program that connects to Internet Relay Chat as a client, and so appears to other IRC users as another user. An IRC bot differs from a regular client in that instead of providing interactive access to IRC for a human user, it performs automated functions.

An IRCd, short for Internet Relay Chat daemon, is server software that implements the IRC protocol, enabling people to talk to each other via the Internet. It is distinct from an IRC bot that connects outbound to an IRC channel.

Client-to-client protocol (CTCP) is a special type of communication between Internet Relay Chat (IRC) clients.

<span class="mw-page-title-main">ERC (software)</span> IRC client for the Emacs text editor

ERC is an Internet Relay Chat (IRC) client integrated into GNU Emacs. It is written in Emacs Lisp.

Flooding or scrolling on an IRC network is a method of disconnecting users from an IRC server, exhausting bandwidth which causes network latency ('lag'), or just disrupting users. Floods can either be done by scripts or by external programs.

An Internet bot, web robot, robot or simply bot, is a software application that runs automated tasks (scripts) on the Internet, usually with the intent to imitate human activity, such as messaging, on a large scale. An Internet bot plays the client role in a client–server model whereas the server role is usually played by web servers. Internet bots are able to perform simple and repetitive tasks much faster than a person could ever do. The most extensive use of bots is for web crawling, in which an automated script fetches, analyzes and files information from web servers. More than half of all web traffic is generated by bots.

The following tables compare general and technical information between a number of notable IRC client programs which have been discussed in independent, reliable prior published sources.

MSN Chat was the Microsoft Network version of IRCX, which replaced Microsoft Chat, a set of Exchange-based IRCX servers first available in the Microsoft Comic Chat client, although Comic Chat was not required to connect.

In computing, logging is the act of keeping a log of events that occur in a computer system, such as problems, errors or just information on current operations. These events may occur in the operating system or in other software. A message or log entry is recorded for each such event. These log messages can then be used to monitor and understand the operation of the system, to debug problems, or during an audit. Logging is particularly important in multi-user software, to have a central overview of the operation of the system.

<span class="mw-page-title-main">Mibbit</span> Web based IRC client

Mibbit is a web-based client for web browsers that supports Internet Relay Chat (IRC), Yahoo! Messenger, and Twitter. It is developed by Jimmy Moore and is designed around the Ajax model with a user interface written in JavaScript. It is the IRC application setup by default on Firefox.

<span class="mw-page-title-main">Konversation</span> IRC client

Konversation is an Internet Relay Chat (IRC) client built on the KDE Platform and is free software released under the terms of the GNU GPL-2.0-or-later. Konversation is currently maintained in the KDE Extragear Network module, which means that it has its own release cycle which is independent from the main KDE applications. It is the default IRC client in many prominent Linux distributions, such as openSUSE, the KDE spin of Fedora, and Kubuntu.

<span class="mw-page-title-main">KVIrc</span> IRC Client

KVIrc is a graphical IRC client for Linux, Unix, Mac OS and Windows. The name is an acronym of K Visual IRC in which the K stands for a dependency to KDE, which became optional from version 2.0.0. The software is based on the Qt framework and its code is released under a modified GNU General Public License.

<span class="mw-page-title-main">Quassel IRC</span> Cross-platform IRC client

Quassel IRC, or Quassel, is a graphical, distributed, cross-platform IRC client, introduced in 2008. It is released under the GNU General Public License version 2 and version 3, for GNU and Unix-like operating systems, macOS, and Microsoft Windows. It has also been ported to OS/2 Warp due to its cross-platform nature. Since the release of Kubuntu 9.04 Quassel is Kubuntu's default IRC client. Quassel uses the Qt application framework.