비주얼 IRC
Visual IRC![]() |
![]() 시각적 IRC 2 | |
개발자 | 아드리안 케이블과 제시 맥그루 |
---|---|
안정적 해제 | 2.0pl2 (2007년 12월 30일;[±][1] | 전(
운영 체제 | 창문들 |
면허증 | GPL |
웹사이트 | visualirc |
Visual IRC(Visual IRC)는 Windows 운영 체제용 오픈 소스 인터넷 릴레이 채팅 클라이언트다. 다른 많은 IRC 클라이언트와 달리 ViRC의 거의 모든 기능은 포함된 IRC 스크립트에 의해 구동되며, 그 결과 소스코드를 변경하지 않고도 프로그램의 동작을 확장하거나 변경할 수 있다.
역사
- Visual IRC(16비트) - Windows 3.x용으로 1995년에 출시되었으며, MeGALiTH가 작성했다. 이 프로그램은 내장 기능이 많았지만 ViRCScript와 Bands의 전신인 VPL(ViRC Programming Language)으로도 대본이 가능했다.
- Visual IRC '96(이후 Visual IRC '97, Visual IRC '98) - MeGALiTH가 작성한 1996년 출시 이것은 Windows 9x/NT용으로 작성된 최초의 32비트 버전의 ViRC였다. 16비트 ViRC에 내장된 많은 기능은 ViRC '96의 기본 스크립트에 의해 처리되었다. ViRC '98'에는 제시 맥그루 AKA "Mr2001"에 의해 기여된 일부 코드가 포함되었으며, 특히 ViRCScript 엔진의 향상된 기능을 포함하고 있다. 스크립팅 언어는 이전 버전과 호환되지 않았다. 이후 버전에서는 음성 채팅과 화상 회의 기능이 추가되었다.
- 두 번째 화신의 개발은 느려졌고 2000년경에는 시각적 IRC가 죽은 것처럼 보였다. 원작자 메갈리TH(애드리안 케이블)는 이전에 일부 코드를 기고해 비밀리에 비수알 IRC(Bisual IRC)라는 복제본을 개발해온 사용자 2001(Jese McGrew)에게 소스 코드를 전수했다. 그는 ViRC '98 코드베이스' 개발을 재개하기보다는 ViRC '98'의 특징 중 일부를 BIRC에 통합해 Visual IRC 2로 출시했다.
- Visual IRC 2 - Mr. 2001년에 Mr. 2001에 의해 처음 공개된 이 버전의 ViRCScript 언어는 ViRCScript를 기반으로 하지만, 내부적으로는 거의 완전히 다시 작성되었다. 사실 ViRC 2는 1998년 ViRC와 수백 줄의 코드만 공유한다. 음성 및 화상 회의 기능은 구현에 사용된 라이브러리가 더 이상 지원되지 않기 때문에 이 버전에서 제거되었다.
BIRC, ViRC 2 및 관련 유틸리티에 대한 소스 코드의 상당 부분이 프로젝트의 웹 사이트와 SourceForge를 통해 GPL에 의해 공개되었다.
대
대로는 IRC 클라이언트 Bisual IRC를 위해 원래 개발된 스크립팅 언어로, 현재 Visual IRC와 함께 사용되고 있다. 그것은 여러 면에서 irc가 사용하는 스크립팅 언어와 유사하다.Tcl과 C는 물론 II와 mIRC.
'Versus'라는 명칭은 Visual IRC '96~98년 ViRCScript가 사용하는 언어인 ViRCScript의 공통 약어인 'VS'로 단축할 수 있기 때문에 선택되었다. 대조는 ViRCScript와 대부분 역호환성을 유지했기 때문에 "VS"를 언급한 기존 문서와 해설은 대에 적용했을 때 대부분 정확성을 유지했다. 이 이름은 또한 ViRC의 대체품으로서 BIRC의 기원을 암시했다.
OVS(Object Bas) 또는 OVS는 Bas의 객체 지향적 특징을 가리킨다. 스크립트는 문자 데이터와 별칭 대신 클래스를 정의하고 개체와 메서드를 사용하여 작업할 수 있지만, 실제로는 OVS가 ViRC의 인터페이스를 구성하는 VCL 개체를 조작하는 데 주로 사용된다.
스크립트 저장소
스크립트는 .lib 확장자를 사용하는 경우도 있지만 일반적으로 .vsc 파일 확장자를 사용하여 파일에 저장된다. 대/대/스크립트 파일에는 단순히 스크립트가 로드될 때 해석되는 문장이 포함되어 있다. 스크립트에 정의된 모든 블록(아래 참조)은 이전 스크립트에 의해 동일한 이름으로 정의된 블록을 대체한다.
스크립트에서 정의할 수 있는 블록
- 별칭은 서브루틴이다. 임의의 창의 명령어 입력 라인이나 스크립트의 다른 부분에서 호출할 수 있다. 값을 반환하는 별칭을 함수라고 한다. 별칭은 값을 반환할 것으로 예상되는지 여부를 판별한 다음 함수 또는 명령어 역할을 적절하게 수행할 수 있다.
- 클래스는 오브젝트 지향 스크립팅(OVS)에서 사용된다. 각 클래스는 속성, 방법, 생성자 및 소멸자를 포함할 수 있다.
- 이벤트는 IRC 서버의 메시지뿐만 아니라 파일 전송을 완료하거나 새 창을 여는 것과 같은 특정 시스템 또는 클라이언트 수준의 발생을 처리하는 데 사용된다.
- 서버 이벤트는 정규식 또는 Bsy의 자체 와일드카드 문자를 사용하여 서버의 메시지를 일치시킨다. 여러 서버 이벤트가 특정 메시지와 일치할 경우 우선순위가 가장 높은 이벤트(패턴 길이와 와일드카드의 상대적 "값"으로 계산)만 실행된다.
- 클라이언트 이벤트는 이름으로 식별된다. 예를 들어, <OnCreateWindow_foo>와 <OnCreateWindow_bar>는 모두 새 창이 열리면 실행된다. 또한 패턴을 포함할 수 있으며, 이 패턴은 해당 이벤트를 트리거할 수 있는 특정 발생을 제한한다(예를 들어, 새 채널 창이 생성될 때만 실행).
- 메뉴 트리와 메뉴 항목은 클라이언트 인터페이스의 다양한 요소에 대해 나타날 수 있는 상황에 맞는 메뉴와 항상 보이는 메인 메뉴를 정의한다. 메뉴 트리 블록은 메뉴의 레이아웃을 정의하고 각 항목에 대한 캡션을 설정하며, 메뉴 항목 블록은 항목을 클릭할 때 실행할 스크립트 코드를 정의한다.
- 도구 모음 및 도구 모음 항목은 메뉴 트리 및 메뉴 항목 블록과 유사하지만 각 창과 연결된 도구 모음을 정의한다. 새로운 도구 모음은 고유한 이름을 선택하는 것만으로 인터페이스에 추가할 수 있다.
별칭, 방법(시공사 및 소멸자 포함), 이벤트, 메뉴 항목 및 도구 모음 항목을 루틴 또는 코드 블록이라고 한다.
데이터 스토리지
파일
- 스크립트는 $RandomRead() 및 $ReadLine() 함수와 CreateFile 및 AddText 명령을 사용하여 파일에 액세스할 수 있다.
- 또한 스크립트는 TStringList VCL 클래스를 사용하여 전체 텍스트 파일을 메모리로 읽고 조작하여 저장할 수 있다.
변수
- 모든 변수는 최대 4GiB의 데이터를 포함할 수 있다.
- 변수 이름은 달러 기호($)와 대문자, 소문자 또는 밑줄로 시작한다.
- 변수에는 일반적으로 인쇄 가능한 텍스트에 사용되지만 문자가 포함될 수 있다.
- 로컬 변수는 다음과 같이 설정된다.
@L
명령하고 이들을 만든 루틴의 맥락에서만 존재한다. 루틴이 끝나면 삭제된다. 현재 채널 이름에 대해 $C와 같은 일부 로컬 변수가 미리 정의되어 있다. - 글로벌 변수는 다음과 같이 설정된다.
@
명령하고 어떤 일상에서도 접근할 수 있다. 고객이 퇴장할 때 삭제된다. 별칭은 글로벌 변수 $fresult를 설정하여 값을 반환할 수 있다. - 저장된 변수는 다음과 같이 설정된다.
@S
명령어 및 전역 변수처럼 어디에서나 액세스할 수 있다. 이 값은 영구 스토리지에 즉시 저장되며, 다음에 클라이언트가 시작될 때 복원된다.
연관 배열
- 연관 배열은 키를 값에 매핑한다.
- 키와 값은 허용된 문자 제한 없이 최대 4GiB의 데이터를 포함할 수 있다.
- 로컬, 전역 및 저장된 어레이 값은 를 사용하여 설정할 수 있음
@L
,@
그리고@S
명령어는 해당 변수처럼 동작한다. 저장된 배열 값을 설정하면 전체 배열이 저장된다. - 구문
$arrayname[key]
특정 키의 값을 설정하거나 검색하는 데 사용된다. - 구문
$arrayname
단독으로 어레이를 키 값 쌍의 목록으로 처리하여 스크립트가 어레이의 전체 컨텐츠를 한 번에 설정하거나 이미 존재하는 키를 통해 반복할 수 있도록 한다.
가성가성체
- 유사분포(또는 pvar)는 변수와 구문이 유사하지만 그 값은 변경할 수 없다.
- pvars $0 ~ $9는 순서에 따라 현재 루틴으로 전달된 파라미터를 포함한다. $0에는 루틴 이름이, $1에는 매개 변수 문자열의 첫 단어가 포함되어 있다.
- pvars $0~$9-에는 현재 루틴으로 전달된 파라미터와 다음 파라미터가 모두 포함되어 있다. $0-에는 루틴 이름과 전체 파라미터 문자열이 포함되고 $1-에는 모든 파라미터가 포함되며 $2-에는 첫 번째 파라미터 이후의 모든 파라미터가 포함된다.
- 특별순서
$?="PROMPT STRING"
대화 상자가 나타나 사용자가 값을 입력하도록 한다.
코드 예제
다음은 Hello World 코드 예:
Alias HELLO TextOut > $C clBlack Hello, world! 엔달리아스
10까지 세는 예는 다음과 같다.
Alias TEN for (@l $i = 1; $i <= 10; $i++) TextOut > $C clBlack $i end for EndAlias.
현재 채널의 모든 사용자를 운영자로 만드는 예는 다음과 같다.
별칭 MASOP 예측($a,$b,$c,$d; $nicklist($C) 모드 $C + $b $c, $ndAlias
참조
추가 읽기
- Charalabidis, Alex (1999). "Windows IRC Clients: Visual IRC". The Book of IRC: The Ultimate Guide to Internet Relay Chat. No Starch Press. pp. 37–38. ISBN 1-886411-29-8.
- Forrest Stroud (2004년 4월 8일) Visual IRC, WinPlanet 소프트웨어 리뷰