버드님의 "MSN bot으로 빌드하기" 포스트를 보고 감동받은 바가 있어, 몇일동안 조사를 좀 해보았습니다. python은 까막눈이어서 PERL버전으로 말이죠.

여기저기를 뒤져본 결과 세 개의 오픈소스 프로젝트가 나오더군요.

1) Net::Msmgr (CPAN)
  • 버전 0.16이고, 2003년을 끝으로 더이상 maintain되고있지 않습니다.
  • MSNP8을 구현하고는 있는데 완전하지가 않네요. 로그인 안됩니다.
2) POE::Component::Client::MSN (CPAN)
  • 버전은 0.03밖에 안되지만 POE라는 훌륭한 이벤트처리용 애플리케이션 프레임웤에 기반하고 있어서 많은 공부가 되었습니다. 방대한 POE 모듈을 설치해야하지만, 꼭 돌려보시기를 권유드립니다.
  • 다만, 모듈화된 부분과 작성해주어야하는 부분 사이의 역할구분이 다소 애매하긴 하더군요. 동작가능한 샘플스크립트도 같이 있는데, 좀 깁니다.
  • MSNP9를 구현하고 있는데, NOT 메시지를 처리해주는 로직만 약간 추가해주면 잘 돌아갑니다.
  • 샘플스크립트가 아주 예쁩니다. curses 라이브러리를 이용해서 칼라가 번쩍번쩍
3) MSN.pm (http://bot-depot.com)
  • CPAN에 등록된 모듈이 아니어서 찾는데 조금 애먹었지만, 완성도는 셋중에서 가장 높습니다.
  • MSNP11도 지원하며, 2006년 4월에 나온 버전 2.1.2가 마지막입니다. 2008년 1월 현재 신버전 업데이트를 진행중이라고 하니, 2월중에는 MSNP8부터 MSNP11까지를 모두 지원하는 버전이 공개될 것 같습니다.
  • 다른 라이브러리에 대한 의존성이 약해서 설치가 간단하며, 첨부된 샘플 역시 수정 없이 잘 동작합니다.
  • MSNP11을 지원하므로 rath님이나 깜쏘님처럼 돈안들이고 MO(Mobile Oriented - 휴대폰에서 보낸 SMS를 휴대폰이 아닌 다른 시스템에서 받는 형태의 서비스) 서비스를 만들 수 있습니다. 휴대폰 연동을 해놓은 경우 IPG 메시지가 날아오더군요.
MSN 프로토콜에 관심있으신 분들은 MSNPiki 페이지를 참조하시면 많은 도움을 받으실 수 있습니다. 많은 분들이 보시는 hypothetic보다 내용도 더 풍부하고 정리도 깔끔합니다.

문제는 이 봇을 갖고 무얼 하느냐인데, 그건 따로 한번 포스팅하겠습니다. 지금 당장 생각나는 건 다들 너무 원초적인 것들 뿐이라... :-)
  1. 2010.10.04 10:53 댓글주소 | 수정 | 삭제 | 댓글

    비밀댓글입니다