2012-05-12 4 views
1

저는 mirc 스크립팅에 멍청한 사람입니다. 도움이 필요합니다.mIRC 봇 - 2 채널의 라인 복사/붙여 넣기

  1. 2 개의 irc 채널이 있습니다. # channel1과 # channel2를 호출 해 봅시다.
  2. 2 개의 봇이 있습니다. 하나는 내 것이고, 그를 "mybot"이라고 부르 자. (우리 로봇이 두 채널에있다.) 다른 봇은 제 3의 사람이고, "otherBot"이라고 부르 자.

내가 필요한 것은 ... 내가 더 잘 설명 할 수있는 사례를 만들어 보겠습니다.

A) # 채널 1에서 일부 사용자 유형 :이 때

[14:38:48] <@someuser> !user xpto 

는 "mybot는"두 채널에 있습니다. 그는 "! user *"명령을 읽고 # channel2에 복사/붙여 넣기합니다. "otherBot"은 "! user *"명령을 인식하고이 명령에 대한 정보를 붙여 넣습니다. 이 같은 추가합니다 # 채널 2에서

B) 그래서 :

[14:38:50] <@ mybot > !user xpto 
[14:38:52] <@ otherBot > User name is xpto and he likes popatos. 

지금 나는 것을 원하는는 "mybot는"# 채널 1에 붙여 넣습니다 다음 "검색 로봇"에 의해 제공되는 정보를 읽어

# 채널 1에서

C) 그래서 :

01 : 지금까지 내 원격에서 fowling 코드가

[14:38:54] <@ mybot > User name is xpto and he likes popatos. 

괜찮습니다. 문제가 있습니다. # channel2에 다른 사용자 ("mybot"이 아닌)가 "! user kakaka"를 입력하면 "mybot"은 "otherBot"이 제공 한 정보를 복사/붙여 넣기 한 다음 # channel1에 붙여 넣으십시오. 그리고 나는 "mybot"이 "otherBot"에게 물어 보는 정보 만 복사하거나 붙여 넣기를 원합니다.

답변

3

매우 간단하지만 이렇게 좋은 방법은 누군가가! channel1에! user를 입력하고 수신 대기중인 다른 부분에 설정되어 있는지 여부를 확인할 때 전역 변수를 설정하는 것입니다. # channel2. 예를 들면 :

on *:TEXT:!user *:#channel1: { 
    set %repeatUser 1 
    msg channel2 $1- 
} 

on *:TEXT:User name*:#channel2: { 
    if ($address($nick,2) == *!*@otherBot.users.gameea && %repeatUser == 1) { 
    unset %repeatUser 
    msg #channel1 $1- 
    } 
} 

봇이 다른 채널과 봇 응답하기! '사용자'를 보내 스크립트 걸리는 시간 사이에 뭔가 다른 말한다면 있기 때문에 이것은 완벽한 해결책이 아니다, 요청에 대한 회신 대신 답장을 출력하지만, # channel2가 너무 바빠서 otherbot이 너무 지체이거나 또는 봇과 타인이 모두 # channel2에 입력하는 경우에만 관련이 있습니다 서로의 몇 분의 1 초 이내에