2014-02-16 6 views
0

저는 초보자 자바 사용자이며 Twitch.tv에서 시작 스트리머입니다. 나는 밤새 IRC 봇을 개발하여 내 채널에서 중재를 간소화 할 것입니다. (나는 IRC 봇이 제공 할 수없는 쿠키 커터를 사용하는 수준의 커스터마이징을 원합니다.)Pirc를 사용하여 IRC 용 폴링 시스템을 만드는 방법

나에게 걸림돌이되는 한 가지는 설문 조사 작성입니다. 나는 Pirc javadocs를 살펴 봤고 트롤이 여론 조사를 만들지 못하게하는 채널 운영자가 보낸 메시지에 대한 검사를 볼 수있는 명령이 없으며 제한된 지식으로 나는 잡는 방법을 모른다. 메시지에서 추가 매개 변수. 여기

!poll <question> <c1> <c2> <c3> <seconds> 

어떤 도움 :

내가 원하는이 무엇입니까? 각 스트림에 대해 내 outro의 감사 화면에 추가하겠습니다. PIRC의 JavaDoc을 통해 내 얼핏에서

답변

0

, 그것은 당신이 원하는 방법과 같은 것입니다 #onMessage (문자열 채널, 문자열 보낸 사람, 문자열 로그인, 문자열 호스트 이름, 문자열 메시지) 여기에서

, 필요한 정보를 얻을 수 있습니다. 이제 들어오는 메시지를 처리하는 방법에 따라 명령을 검색해야합니다.이 경우 메시지 문자열에서받을 "! poll"입니다. 거기에서 정보를 더 파싱하고 원하는 정보를 얻을 수 있습니다. 당신이 이미 그들을 사용하지 않은 경우

, pirc에 대한 JavaDoc을 현재 위치입니다 : Jdsfighter 말했듯이 http://www.jibble.org/javadocs/pircbot/index.html

0

, 당신은 PircBot의 슈퍼 클래스에서 onMessage(...) 방법을 사용해야합니다. 이 메서드는 메시지가 채널로 전송 될 때마다 호출됩니다. IRC 봇을 만들 때 봇이 채팅에 반응하는 것을 알파와 오메가로 만드는 것으로 이해할 수 있습니다.

중재자 (IRC 용어의 연산자)와 관련된 트윅 IRC 서버는 PircBot이 완전히 이해할 수없는 방식으로 동작하며 사용자 클래스의 User.isOp(...) 메서드로 성공하지 못했습니다. 내가 성공적인을 발견 한 것은 내 봇 클래스 (안 메인 클래스)에 다음을 포함한다 :

이처럼 콘솔 모드로 태초 선을 볼 때마다이 메소드가 불려
Set<String> OPs = new HashSet<String>(); 

protected void onUserMode(String channel, String sourceNick, String sourceLogin, String sourceHostname, String recipient) { 
    recipient = recipient.split(" ")[2]; 
    OPs.add(recipient); 
} 

:

jtv MODE #channel +o moderatorName 

지금, 당신은 메시지를 보낸 사람이 설정 OPS에있는 경우 받았다 메시지가 "!poll"로 시작하고, 검사 할 때마다 호출되는 방법을 확인해야합니다. 여기

가 들어 onMessage() 방법에 배치하는 개요의

if (message.toLowerCase().startsWith("!poll") { 
    if (OPs.contains(sender)) { 
      //TODO Add body 
    } 
} 

이제 그냥! "설문 조사"후 ​​라인의 나머지 부분을 잡는다 몇 가지 코드를 확인하고 다시 메시지를 게시해야 다른 설문 조사 옵션에 대한 채널

분명히 대안을 저장할 어딘가에 각각 얼마나 많은 표가 있어야하는지, 두 개의 배열, String[]int[] 중 하나만을 제안하면됩니다.