MIRC Scripting Language

mIRC Scripting Language
Paradigma event-driven programming, procedurele programmering
Verschenen 1995
Ontwerper Khaled Mardam-Bey
Ontwikkelaar Khaled Mardam-Bey
Huidige versie 7.72[1] Bewerken op Wikidata
Typesysteem dynamisch typesysteem
Implementaties mIRC
Besturings­systeem Windows
Licentie Propriëtaire software
Bestands­extensies mrc, ini
Website (en) Officiële website
Portaal  Portaalicoon   Informatica

De mIRC Scripting Language, meestal afgekort naar 'mSL', is de scripttaal van mIRC, een populaire IRC-client voor Windows.

Hoofddoel

  • Kanaal- en persoonlijke bescherming tegen allerlei aanvallen (Flooding, Spam, CTCP verzoeken, etc)
  • Dialogen maken (Uitbreidingen van het programma)
  • Een IRC-bot ontwikkelen om automatische services aan te bieden in een specifiek kanaal (Gebruikelijke services zijn onder andere het beheren van kanalen en entertainment zoals trivia)
  • Eigen commando's om handelingen te vereenvoudigen, zoals het automatisch inloggen na het verbinden met een server.

Scriptbestanden

De scripts worden opgeslagen als normale tekst, meestal met de extensie .mrc of als INI bestanden. De extensie maakt niet uit voor het inlezen, en kan dus elke extensie zijn. Er kunnen meerdere scriptbestanden tegelijk ingeladen worden, maar dit heeft als risico dat de er conflicten kunnen optreden.

Functionaliteit

MIRC-scripting maakt gebruik van een aparte syntaxis. Een voordeel van mIRC is dat alle functies en mogelijkheden beschreven staan in de Help Sectie. Deze Help sectie is te benaderen via F1 of door /help te typen. De helpsectie is momenteel alleen Engelstalig.

  • mIRC-functies worden aangeroepen door middel van een $
  • mIRC-variabelen worden onderscheiden door middel van een %

Bestanden bewerken

  • Scripts kunnen bestanden lezen met het commando: $read(bestand, parameters).
  • Scripts kunnen schrijven naar bestanden met het commando: /write.

Voorbeelden

De voorbeelden hieronder worden in je remote editor geplaatst (ALT + R).

Hier is een voorbeeld van het bekende Hello World. (Gebruikt door /hallo te schrijven)

;Hiermee maak je het commando /hallo aan
alias hallo {
 ;Met behulp van echo weergeef je tekst in het scherm (de -a parameter plaatst de tekst in het actieve scherm)
 ;Deze tekst is alleen zichtbaar voor jou
 echo -a Hello World!
}


Een remote script event handler:

;Deze regel begroet iedereen die het kanaal #help binnen komt met het bericht: Hallo [naam van de gebruiker]
on *:join:#help: { msg $chan Hallo $nick }

;Wanneer je dit voor ieder kanaal wil doen, geef je geen kanaalnaam op (Alleen een #)
on *:join:#: { msg $chan Hallo $nick }


Een remote script dat automatisch reageert op een specifieke tekst:

;Wanneer een gebruiker in een kanaal de tekst Hallo! schrijft, reageer je automatisch met: Hallo [naam van de gebruiker]!
on *:text:Hallo!:#:{ msg $chan Hallo $nick $+ ! }

;Wanneer je automatisch wil reageren op een privé bericht, vervang je # voor een ?
on *:text:Hallo!:?: { msg $nick Hallo $nick $+ ! }

Zie ook

Wikibooks heeft een Engelstalig boek over dit onderwerp: mIRC Scripting.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.