2008. 8. 29. 02:43
랜덤여신님의 인클봇을 보고 삘받아서 만들기 시작했던 프로젝트.

문서화가 되면 공개할려고 했는데, 클래스가 많아지니 답이 없더라 -_-; 그 때 그 때 주석을 달아주는 쎈쓰가 필요하다.

크게 irc 패키지와 xbot 패키지, xbot.plugin 패키지로 분리하여 볼 수 있다.
  • irc 패키지: IRC 클라이언트라면 가져야 하는 기능들을 모아놓은 패키지
  • xbot 패키지: XBot의 핵심 기능이 들어 있는 패키지. 플러그인을 인식시키는 기능이 핵심이다.
  • xbot.plugin 패키지: XBot의 기능을 확장시킬 수 있는 플러그인이 들어가 있는 패키지.
xbot.XBotPlugin, xbot.XBotChannelPlugin 인터페이스를 구현한 클래스를 xbot.plugin 패키지 안에다가 넣어주면 !불러 플러그인클래스명 명령으로 추가시킬 수 있다.

XBotPlugin은 채널에 상관 없는 이벤트에 반응하는 일종의 리스너이고, XBotChannelPlugin은 채널 내에서 일어나는 이벤트에 반응하는 리스너이다.

예를 들어 누군가가 초대를 하거나 귓말을 할 경우에는 XBotPlugin을 구현한 클래스들에서 처리하고, 채널 내에서 떠들거나 나가거나 차이거나 하는 경우에는 XBotChannelPlugin을 구현한 클래스들에서 처리한다.

현재 구현된 플러그인은 두 개로, OpManager는 자동옵, 자동보이스 관련 기능이 구현되어 있고 Logger는 채팅 내용을 기록, 공유하는 기능이 구현되어 있다.

OpManager는 최근에 손댄 거라 !봇명령 명령을 주면 명령목록을 밷는데 딴건 전혀 손을 보지 않았다 -_-;

XBot 기본명령
!불러 플러그인클래스명
플러그인클래스명 클래스를 플러그인으로써 호출한다.
!닫아 플러그인클래스명
불러들인 플러그인 클래스를 제거한다.
!플러그인
현재 불러져 있는 플러그인 목록을 보여준다.
!나가
채널에서 나간다.
Logger 명령
!로그줘 yyyymmdd
yyyy년 mm월 dd일의 채팅 로그를 파일로 보낸다. DCC 방법을 사용한다.
ex) 1987년 9월 9일의 채팅 로그를 받고 싶을 때는 !로그줘 19870909, 1987년 10월 21일의 채팅 로그를 받고 싶을 때는 !로그줘 19871021

'프로그래밍 > Java' 카테고리의 다른 글

Java로 만든 IRC 봇 XBot 공개  (0) 2008.08.29
, , ,