MIRC scripting language

Last updated
mIRC Scripting Language
Paradigm Event-driven programming, Procedural programming
Designed by Khaled Mardam-Bey
Developer Khaled Mardam-Bey
First appeared1995 (1995)
Typing discipline Dynamic typing
OS Microsoft Windows
License Proprietary software
Filename extensions .mrc, .ini
Website www.mirc.com
Major implementations
mIRC AdiIRC [1] [2] [3]
mIRC scripts editor (built-in) MIRC scripts editor.png
mIRC scripts editor (built-in)

The mIRC scripting language (often unofficially abbreviated to "mSL" [3] [4] ) is the scripting language embedded in mIRC and Adiirc, IRC clients for Windows but work with WiNE for Linux.

Contents

Primary uses

Script storage

Scripts are stored as either plain text files, usually with a .mrc file extension, or as INI files. They, however, can be stored with any extension. Multiple script files can be loaded at one time, although in some cases, one script will conflict with another and cause one or both of them to no longer work properly. The order in which in the script files are loaded may make a difference if the script functions properly or not. A (un)loader-script MUST be used for semi-large scripts to function as intended.

Language features

mIRC scripting language uses its own nomenclature to refer to language constructs. (However, whilst this can be a little confusing to newcomers, they do not impact on the functionality of mSL.)

File handling

The above is intended for singular access to the file. Because each time you issue $read or /write you open and close the file for access. Multiple accesses, during a loop for instance, is best handled through /fopen, /fwrite and /fclose. Since this opens the file only once. In some cases /filter and /savebuf is an even more efficient (non scripted loop) method.

Binary variables

Hash tables

Global variables

Local variables

Limitations

Code examples

The code below is in the remote scripts format. If placed into an alias file, the command names should not be preceded by the word "alias". Test Comments include the common /* comment */ and ;comment.

Here is an example of a Hello World alias:

;Defines the alias 'hello' in the remote script  ;Note: if this is placed in an alias script, ;the 'alias' part must be removed (result: hello {) ;Usage: /hello  alias hello {    ;Displays(/echo) 'Hello World!' into the active window(-a)   echo -a Hello World!  } 

A remote script to automatically respond to certain text

;Placed in a remote script  ;When a user types Hello! in a channel, ;you answer back: Hello, [nickname]!  on *:TEXT:Hello!:#:{ msg $chan Hello, $nick $+ ! }  ;When a user types Hello! in a private message, ;you answer back: Hello, [nickname]!  on *:TEXT:Hello!:?: { msg $nick Hello, $nick $+ ! }  ;Here is a script which automatically gives voice to a user ;who joins a particular channel (The Bot or user should have HOP)  on *:JOIN:#?: { mode $chan +v $nick }  ;A bad word script  on *:Text:die*:#: { .mode $chan +b $nick | kick $chan $nick Dont say that again } 

See also

Related Research Articles

Forth is a stack-oriented programming language and interactive integrated development environment designed by Charles H. "Chuck" Moore and first used by other programmers in 1970. Although not an acronym, the language's name in its early years was often spelled in all capital letters as FORTH. The FORTH-79 and FORTH-83 implementations, which were not written by Moore, became de facto standards, and an official technical standard of the language was published in 1994 as ANS Forth. A wide range of Forth derivatives existed before and after ANS Forth. The free and open-source software Gforth implementation is actively maintained, as are several commercially supported systems.

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

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.

Rebol is a cross-platform data exchange language and a multi-paradigm dynamic programming language designed by Carl Sassenrath for network communications and distributed computing. It introduces the concept of dialecting: small, optimized, domain-specific languages for code and data, which is also the most notable property of the language according to its designer Carl Sassenrath:

Although it can be used for programming, writing functions, and performing processes, its greatest strength is the ability to easily create domain-specific languages or dialects

<span class="mw-page-title-main">C shell</span> Unix shell

The C shell is a Unix shell created by Bill Joy while he was a graduate student at University of California, Berkeley in the late 1970s. It has been widely distributed, beginning with the 2BSD release of the Berkeley Software Distribution (BSD) which Joy first distributed in 1978. Other early contributors to the ideas or the code were Michael Ubell, Eric Allman, Mike O'Brien and Jim Kulp.

In software development, Make is a build automation tool that builds executable programs and libraries from source code by reading files called makefiles which specify how to derive the target program. Though integrated development environments and language-specific compiler features can also be used to manage a build process, Make remains widely used, especially in Unix and Unix-like operating systems.

<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.

An environment variable is a user-definable value that can affect the way running processes will behave on a computer. Environment variables are part of the environment in which a process runs. For example, a running process can query the value of the TEMP environment variable to discover a suitable location to store temporary files, or the HOME or USERPROFILE variable to find the directory structure owned by the user running the process.

<span class="mw-page-title-main">ActionScript</span> Object-oriented programming language created for the Flash multimedia platform

ActionScript is an object-oriented programming language originally developed by Macromedia Inc.. It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript, though it originally arose as a sibling, both being influenced by HyperTalk. ActionScript code is usually converted to byte-code format by a compiler.

<span class="mw-page-title-main">IRC script</span> Way of shortening commands while connected to an IRC network

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.

<span class="mw-page-title-main">Stata</span> Statistical software package

Stata is a general-purpose statistical software package developed by StataCorp for data manipulation, visualization, statistics, and automated reporting. It is used by researchers in many fields, including biomedicine, economics, epidemiology, and sociology.

<span class="mw-page-title-main">CMake</span> Cross-platform, compiler-independent build system generator

In software development, CMake is cross-platform free and open-source software for build automation, testing, packaging and installation of software by using a compiler-independent method. CMake is not a build system itself; it generates another system's build files. It supports directory hierarchies and applications that depend on multiple libraries. It can invoke native build environments such as Make, Qt Creator, Ninja, Android Studio, Apple's Xcode, and Microsoft Visual Studio. It has minimal dependencies, requiring only a C++ compiler on its own build system.

Action Message Format (AMF) is a binary format used to serialize object graphs such as ActionScript objects and XML, or send messages between an Adobe Flash client and a remote service, usually a Flash Media Server or third party alternatives. The Actionscript 3 language provides classes for encoding and decoding from the AMF format.

A batch file is a script file in DOS, OS/2 and Microsoft Windows. It consists of a series of commands to be executed by the command-line interpreter, stored in a plain text file. A batch file may contain any command the interpreter accepts interactively and use constructs that enable conditional branching and looping within the batch file, such as IF, FOR, and GOTO labels. The term "batch" is from batch processing, meaning "non-interactive execution", though a batch file might not process a batch of multiple data.

<span class="mw-page-title-main">Cosmos (operating system)</span> Toolkit for building GUI and command-line based operating systems

C# Open Source Managed Operating System (Cosmos) is a toolkit for building GUI and command-line based operating systems, written mostly in the programming language C# and small amounts of a high-level assembly language named X#. Cosmos is a backronym, in that the acronym was chosen before the meaning. It is open-source software released under a BSD license.

<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">Rexx</span> Command/scripting/programming language

Rexx is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. Proprietary and open source Rexx interpreters exist for a wide range of computing platforms; compilers exist for IBM mainframe computers.

The following outline is provided as an overview of and topical guide to the Perl programming language:

<span class="mw-page-title-main">Yesod (web framework)</span>

Yesod is a web framework based on the programming language Haskell for productive development of type-safe, representational state transfer (REST) model based, high performance web applications, developed by Michael Snoyman, et al. It is free and open-source software released under an MIT License.

Tcl is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful. Tcl casts everything into the mold of a command, even programming constructs like variable assignment and procedure definition. Tcl supports multiple programming paradigms, including object-oriented, imperative, functional, and procedural styles.

References

  1. "Features - AdiIRC - AdiIRC Support/Bugs/Feature Requests". Per Amundsen. Archived from the original on 2 December 2020. Retrieved 2 December 2020.
  2. "Scripting - AdiIRC - AdiIRC Support/Bugs/Feature Requests". Per Amundsen. Archived from the original on 2 December 2020. Retrieved 2 December 2020.
  3. 1 2 "mIRC vs AdiIRC detailed comparison as of 2020 - Slant". Parli, Inc. Archived from the original on 2 December 2020. Retrieved 2 December 2020.
  4. mIRC Scripting Language - WikiChip, WikiChip LLC, archived from the original on 12 November 2020