멀티 서버와 멀티 채널을 접속해 봅시다. [본 강좌에서는 mirc 6.3.5 버전을 사용합니다.]
1. mirc를 실행하고 [alt]+[r]을 눌러 [remote]창을 열어줍니다.
2. 새로운 스크립트를 만들기 위해 [File] - [new] 를 차례로 클릭합니다.

3. 멀티서버 접속을 위한 스크립트 작성
인용:
서버 접속 스크립트의 기본 명령
/server [-emnsarpfocz][port] [password] [-i nick anick email name] [-jn #channel pass]
▽ 각 옵션 자세히 보기
[-e] : SSL 연결 (포트는 +)
[-m] : 멀티서버 자동연결
[-n] : 멀티서버 연결안함
[-pfoc] : 지정된 perform, 즐겨찾기 폴더, 자동조인채널, on connection 이벤트 수행 안함
[-z] : 서버창을 최소화시킴
-sar 옵션 사용지 서버 접속 명령어
/server -sar [server] [-p port] [-g group] [-w password] [-d description]
[-s] : 서버리스트 정렬
[-a] : 서버리스트에 서버 추가, 이미 등록되어있으면 업데이트
[-r] : 서버리스트에서 서버 제거
server : 서버 주소 직접입력
groupname : 등록한 서버의 그룹 이름
[port] : 접속할 서버의 포트
[password] : 패스워드
[-i nick anick email name] : 닉네임, 2차 닉네임, 이메일, 사용자이름
[-jn #channel pass] : 채널명, 채널 비밀번호
/server [-emnsarpfocz]
[-e] : SSL 연결 (포트는 +)
[-m] : 멀티서버 자동연결
[-n] : 멀티서버 연결안함
[-pfoc] : 지정된 perform, 즐겨찾기 폴더, 자동조인채널, on connection 이벤트 수행 안함
[-z] : 서버창을 최소화시킴
-sar 옵션 사용지 서버 접속 명령어
/server -sar [server] [-p port] [-g group] [-w password] [-d description]
[-s] : 서버리스트 정렬
[-a] : 서버리스트에 서버 추가, 이미 등록되어있으면 업데이트
[-r] : 서버리스트에서 서버 제거
[port] : 접속할 서버의 포트
[password] : 패스워드
[-i nick anick email name] : 닉네임, 2차 닉네임, 이메일, 사용자이름
[-jn #channel pass] : 채널명, 채널 비밀번호
- 서버이름은 Groupname 이나 직접 서버주소를 적으면 됩니다.
- 닉인증과 채널접속등은 Perform에서 지정합니다.

3-1-a. Perform (타이머 기능을 이용한 인증 및 접속)
인용:
■ 참고 글타래 : irc 타이머를 이용한 자동접속법!
- 각각의 서버에 perform을 지정해주면 됩니다.

3-2. 스크립트만 이용
- 서버 1과 서버 2는 동일한 서버입니다. 닉은 다르고, 하나는 봇에게 초대를 받아야 하는 곳이라 가정합니다.
- 서버 3은 1, 2와 다른서버이며, 닉도 다르고, 봇에게 초대 받지 않고 입장 가능하다고 가정합니다.

PHP 코드:
on 1:START:{
server <서버 1 이름> <포트> -i nick 1
server -m <서버 1 이름> <포트> -i nick 2
server -m <서버 2 이름> <포트> -i nick 3
}
on *:CONNECT: {
if (<서버 1> iswm $network) {
if ( $me == nick 1 ) /msg nickserv identify nick 1의 비밀번호
if ( $me == nick 2 ) /msg nickserv identify nick 2의 비밀번호
}
if ( <서버2> iswm $network ) {
if ($me == nick 3) {
/msg nickserv identify nick 3의 비밀번호
.j #chan 1
}
}
}
on *:NOTICE:*닉인증이 되면 서버창에 표시되는 메시지*:*:{
if ($nick == NickServ && <서버 1> iswm $network) {
if ($me == nick 1) .msg 봇에게 보내는 메세지
if ($me == nick 2) {
.j #chan 1
.j #chan 2
}
}
}
PHP 코드:
on 1:START:{
server <서버 1 이름> <포트> -i
server -m <서버 1 이름> <포트> -i
server -m <서버 2 이름> <포트> -i
}
PHP 코드:
on *:CONNECT: {
if (<서버 1> iswm $network) {
if ( $me == nick 1 ) /msg nickserv identify nick 1의 비밀번호
if ( $me == nick 2 ) /msg nickserv identify nick 3의 비밀번호
}
if ( <서버2> iswm $network ) {
if ($me == nick 3) {
/msg nickserv identify nick 3의 비밀번호
.j #chan 1
}
}
}
if (<서버 1> iswm $network) 에서 <서버 1> 은 서버주소에 포함되는 특정 단어입니다.
예를들어 비트토크인 경우 irc.bittalk.org 가 서버주소라면 <서버 1> 은 bittlak 이 됩니다.
irc.p2p-network 인경우 p2p-net 이 됩니다.
좀 더 정확하게 지정하시려면 우선 서버에 접속하신 뒤 네트워크 이름을 알아내시면 됩니다.
방법은 아래와 같습니다.
스크립트 창을 여시고 다음을 입력합니다.
PHP 코드:
on 1:INPUT:#: {
if ( $1 == !n ) {
msg $chan $network
halt
}
}

네트워크 이름을 확인하셨으면 명령어를 다음과 같이 수정하시면 됩니다.
if ($network == P2P-NET)
PHP 코드:
on *:NOTICE:*닉인증이 되면 서버창에 표시되는 메시지*:*:{
if ($nick == NickServ && <서버 1> iswm $network) {
if ($me == nick 1) .msg 봇에게 보내는 메세지
if ($me == nick 2) {
.j #chan 1
.j #chan 2
}
}
}
-NickServ- Password accepted - you are now recognized.
이런식으로 보여주는데요, 저 문장에서 일정부분을 따 주면 됩니다.
on *:NOTICE:*Password accepted*:*:
--------
if ($nick == NickServ && <서버 1> iswm $network)
여기는 위에 on CONNECT에서 설정한 것과 동일하게 해주시면 됩니다.
네트웍 이름을 아실경우 [<서버 1> iswm $network] 를 [$network == 네트워크 이름]으로 변경
다음줄은 봇에게 초대를 받는 메세지입니다. (트래커 irc 페이지 확인)
그 다음은 초대 없이 채널에 입장하는 부분입니다.
스크립트에 무지해서 나름대로 머리를 굴려보았습니다.
글 작성에 직 간접적인 도움을 주신분들께 감사드립니다.























선형 형태