mIRC 스크립팅 언어

mIRC scripting language


mIRC 스크립팅 언어
패러다임이벤트 기반 프로그래밍, 절차적 프로그래밍
설계자칼레드 마담-비
개발자칼레드 마담-비
첫 등장1995 (1995)
타이핑 규율동적 타이핑
OS마이크로소프트 윈도
면허증독점 소프트웨어
파일 이름 확장명.mrc, .ini
웹사이트http://mirc.com
주요 구현
mIRC 아디IRC[1][2][3]
mIRC 스크립트 편집기(빌트인)

mIRC 스크립팅 언어(흔히 비공식적으로 "msL"[3][4]로 약칭)는 Windows용 IRC 클라이언트인 mIRC에 내장된 스크립팅 언어다.

주요 용도

  • 모든 유형의 공격(홍수, 스팸, CTCP 홍수 등)에 대한 채널 및 개인 보호
  • 대화창은 mIRC에서 만들어 사용자 호환성을 높일 수 있다.
    • 인기 있는 mIRC 대화 상자 확장에는 MDX(mIRC 대화 상자 확장)와 DCX(대화 상자 제어 확장)가 포함된다.또한 IRC 해커에 의해 변형된 mdx.dll과 dcx.dll의 몇 가지 버전도 있다.
  • 자동 IRC 채널 관리, 트라이비아 또는 기타 게임 및 기타 채팅 담당자에게 원하는 기능을 제공하는 .
  • 입력을 저장하거나 IRC에서 수명을 단순화하는 명령(예: 별명의 소유자로 자동 식별)

스크립트 저장소

스크립트는 보통 .mrc 파일 확장자를 가진 일반 텍스트 파일 또는 INI 파일로 저장된다.그러나 그것들은 어떤 확장으로도 저장할 수 있다.한 스크립트가 다른 스크립트와 충돌하여 하나 또는 둘 다 더 이상 제대로 작동하지 않는 경우도 있지만 여러 스크립트 파일을 한 번에 로드할 수 있다.

언어 기능

mIRC 스크립팅 언어는 언어 구문을 참조하기 위해 자체 명칭을 사용한다.(단, 이것이 새로 온 사람들에게 조금 혼란스러울 수 있지만, MSL의 기능에는 영향을 미치지 않는다.)

  • 내장 함수는 명령어 또는 값을 반환하는 경우 식별자로 불린다.
  • 사용자 정의 스크립트로 작성된 함수별칭이라고 한다.값을 반환하는 별칭을 사용자 지정 식별자로 알려져 있다.둘 다 기본 제공 명령 및 식별자와 같은 방식으로 명령줄 또는 스크립트의 다른 부분에서 호출되며, 이를 대체하기도 한다.
  • 팝업은 스크립트에 사용되는 상황에 맞는 메뉴 항목이다.팝업은 사용자가 선택하면 호출된다.이 용어는 원래 마우스 오른쪽 버튼을 클릭하면 나타나는 메뉴를 가리켰다.그것은 여전히 매뉴얼에서 이런 식으로 사용되고 있다.
  • 리모트는 이벤트 처리 스크립트 입니다.리모트는 그들이 처리하는 이벤트가 발생할 때 호출된다.
  • 모든 변수는 동적으로 입력된다.
  • mIRC 스크립트는 시그널을 사용한다.식별자(사용자 정의 또는 기본 제공 여부) 앞에 다음이 있음$, 이항 변수 앞에 다음이 있음&, 및 기타 변수(로컬 또는 전역)가 선행하는 경우%. 명령과 별칭은 특정 문자로 선행되지 않는다(창의 명령줄에서 입력하는 경우 일반적으로 명령 접두사 앞에 있어야 함)./).

파일 처리

  • 스크립트를 읽고 파일에 쓸 수 있음 [$read(file,[args]) /write]

위 내용은 파일에 대한 단수 접근을 위한 것이다.왜냐하면 매번 발행할때마다$read또는/write액세스하기 위해 파일을 열고 닫으십시오.예를 들어 루프를 사용하는 동안 여러 액세스가 가장 잘 처리됨/fopen,/fwrite그리고/fclose. 이렇게 하면 파일이 한 번만 열리기 때문에.경우에 따라서는/filter그리고/savebuf훨씬 더 효율적인 방법(스크립트되지 않은 루프)이다.

  • 스크립트는 또한 파일을 복사하고 삭제할 수 있다.[/copy /remove]

이항 변수

  • 무제한(8192바이트 이전 mIRC 6.1) 원시 데이터 포함
  • 명령 및 식별자를 통해 전체적으로 액세스 가능
  • 스크립트가 제어 권한을 mIRC(스크립트의 다른 부분 제외)로 반환할 때 자동으로 설정 해제
  • 접두사:&(예:&Variable)
  • 다음 방법 이외에는 액세스할 수 없음/bread그리고/bwrite, 따라서 이러한 변수를 스크립트의 다른 부분으로 전달할 수 없음

해시 테이블

  • 무제한 이진 데이터 또는 최대 4,150바이트(mIRC 6.32 이전 950)바이트의 일반 텍스트를 포함할 수 있다.이 제한은 mIRC의 스크립팅 파서 자체 라인 길이 제한에 의해 부과된다(이진 변수를 할당하지 않는 경우).
  • 명령 및 식별자를 통해 전체적으로 액세스 가능
  • mIRC는 메모리에만 저장되므로 종료 시 자동으로 설정 해제됨
  • 나중에 사용하기 위해 저장할 수 있음
  • 접두사 없음
  • 해시 테이블이 하드 디스크가 아닌 메모리에 저장되므로 파일에서 액세스하는 것보다 빠름
  • 컴퓨터의 메모리 제한에 의해서만 제한되는 크기.
  • 모든 버킷 크기 사용 허용

전역 변수

  • 이름을 포함하여 최대 4,150바이트(mIRC 6.32 이전 950)바이트의 데이터를 포함할 수 있음(그러나 mIRC 스크립팅 파서의 라인 길이 제한으로 인해 /set 또는 /var를 사용하여 최대 4,146바이트를 명시적으로 할당할 수 있음 - 변수 이름이 길어질수록 이 수는 감소함)
  • NUL(ASCII 0) 또는 후행 공백을 저장할 수 없음
  • 글로벌 액세스 가능
  • 스위치를 사용하지 않는 한 자동으로 설정 해제하지 않음(mIRC 초기화 파일에 자동으로 저장됨)
  • 접두사:%(예:%Variable)
  • 다음을 사용하여 작성됨set또는 명령하다.var -g또는%Variable = value표기법

국부변수

  • 변수 이름을 포함하여 최대 4,150바이트(mIRC 6.32 이전 950)바이트의 데이터를 포함할 수 있음(그러나 mIRC 스크립팅 파서의 라인 길이 제한으로 인해 /set 또는 /var 명령을 사용하여 최대 4,146바이트를 명시적으로 할당할 수 있음 - 변수 이름이 길어질수록 이 수는 감소함)
  • NUL(ASCII 0) 또는 후행 공백을 저장할 수 있음
  • 트리거된 별칭 또는 이벤트가 종료될 때 제거됨
  • 접두사:%(예:%Variable)
  • 다음을 사용하여 작성됨var명령하다 var단지 의 내부 가명일 뿐이다.set -l그렇지만var하나의 선에 여러 개의 국지 변수를 선언하는 수단을 제시한다(예:var %a = 1, %b, %c = 2)

제한 사항

  • 스크립팅 파서는 줄당 최대 8,292자(mIRC 6.32 이전 950자)의 문자를 지원한다(새 줄이나 들여쓰기는 제외).
  • 문자열은 구문적으로 폐쇄되지 않고, 문자열을 의미하는 문자가 언어 구문의 일부로 취급되는 코드에서 모호성을 생성한다.
  • 코드의 각 행은 공간 구분 토큰 세트로 분해된다.mIRC의 파서는 null 토큰을 지원하지 않고 언어는 리터럴 문자열을 코드와 명확하게 구별할 수 있는 구문을 제공하지 않기 때문에 mIRC 버전 6.2 이전에는 명령이나 별칭에 연속된 여러 공간을 전달하는 것이 불가능했다.그러나 이는 공간을 보존할 수 있는 returnex 명령어 도입으로 고정되었다.

코드 예제

아래 코드는 원격 스크립트 형식이다.별칭 파일에 넣을 경우 명령 이름 앞에 "을 붙이면 안 된다.alias". 시험 코멘트는 공통점을 포함한다./* comment */그리고;comment.

헬로 월드 별칭의 예는 다음과 같다.

;원격 스크립트에서 'Hello'라는 별칭을 정의하십시오.참고:이 항목이 별칭 스크립트에 배치되면;;;;;;;'alias' 부분을 제거해야 한다(결과: hello);;;usage: /hello 별칭 hello {;Displays(/echo) 'Hello World!'를 활성 창(-a) 에코 -a hello!}에 넣으십시오.

특정 텍스트에 자동으로 응답하는 원격 스크립트

;원격 스크립트에 배치;사용자가 채널에 Hello!를 입력할 때;답변:안녕, [닉네임]!*:TEXT:여보세요!:## msg $chan Hello, $nick $+!};사용자가 개인 메시지에 Hello!를 입력하면;답변:안녕, [닉네임]!*:TEXT:여보세요!:?: {msg $nick Hello, $nick $+!};여기 특정 채널(The Bot 또는 사용자는 *::JOIN:#?: { 모드 $chan +v $nick}; *:Text:die*:#: { .mode $chan +b $nickchan $nick 다시 말하지 마십시오.}

참고 항목

참조

  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. ^ a b "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 2 December 2020

외부 링크