Limbajul de scripting mIRC

limbaj de programare
mIRC Scripting Language
Extensii fișiere.mrc, .ini
ParadigmăProgramare orientată eveniment, Programare procedurală
Apărut în1995 (1995)
Dezvoltat deKhaled Mardam-Bey
DeveloperKhaled Mardam-Bey
Tipul de tipărireDynamic typing
Implementări majoremIRC
Sistem de operareMicrosoft Windows
LicențăSoftware proprietar
Websitehttp://mirc.com

Limbajul de scripting mIRC (MIRC scripting language) prescurtat si 'mSL' este un limbaj utilizat de mIRC, un client IRC popular pentru Windows.

Editorul de scripturi mIRC (încorporat)

UtilizareModificare

  • Pentru canale si protectii personale impotriva oricarui atac (flood, spam, flood prin intermediul CTCP, etc)
  • Cu acest limbaj pot fi create in mIRC anumite ferestre de dialog pentru o mai buna servire a ghidului de compatibilitate.
  • Ferestrele de dialog pot include MDX (mIRC Dialog Extension) dar si DCX (Dialog Control Extension). Deasemenea sunt si cateva versiuni de mdx.dll si dcx.dll modificate de catre hackerii retelelor IRC.
  • Robotii IRC care monitorizeaza automat canalele IRC, trivia sau alte functii dorite de utilizatorii canalului.
  • Comenzi pentru usurarea activitatilor pe retelele IRC precum inregistrare si autentificare automata atat la nume cat si la canal.

Stocarea scripturilorModificare

Scripturile IRC pot fi stocate atat in fisiere text, in general cu extensie .mrc, sau in fisiere .ini. In afara de asta, aceste scripturi pot fi stocate si in alte extensii precum .exe, .script, etc. Utilizatorii pot incarca mai multe scripturi in acelasi timp, insa, in unele cazuri un script poate intra in conflict cu altul, acestea nemaiputand functiona corect.

Caracteristicile limbajuluiModificare

mIRC scripting implică o nomenclatură aparte care nu este în întregime în concordanță cu cele mai multe limbaje de programare din restul lumii.(Cel mai notabil, termenul identificator, care in majoritatea limbajelor de programare se refera la o variabila sau functie (chiar daca returneaza o functie sau nu), in mIRC se refera la o valoare care returneaza o functie).

  • Functiile implementate se numesc comenzi, sau ele daca returneaza o valoare, identificatori.
  • Functiile personalizate se numesc aliasuri. Aliasurile care returneaza o valoare sunt cunoscute sub numele de aliasuri personalizate. Ambele pot fi apelate atat de la linia de comanda sau dintr-o parte a scriptului la fel cum sunt si comenzile si identificatorii implementati.
  • Popup-urile se refera la meniul unui script, astfel ca in mIRC veti gasii meniu pentru Status, Canal, Bara de meniuri, Lista de utilizatori si meniul pentru convorbirile private cu alti utilizatori.
  • Remote sau control, se refera la manipularea evenimentelor din cadrul scripturilor incarcate in mIRC, iar un eveniment se apeleaza cand se foloseste o anumita comanda de catre utilizator.
  • Toate variabilele sunt dinamic.

Exemple de codModificare

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.

Exemplu a programului Hello World:

;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 }

BibliografieModificare

Legături externeModificare