본문 바로가기

유물/pyMessenger

pyMessenger - MSN Messenger Protocol을 이용한 스멀, 간단, 허접 메신져 프로젝트

 기존 위키에서 퍼옴

대략: 2004/10/0x - 기억도 안남

Why ? #

MSN이 점점 버젼없 하면서 관심업는 기능들 때문에 덩치가 커지는게 불만으로, 가벼운 메신져를 원하던 터라, 파이썬 공부를 할 겸 스멀 프로젝트에 들어갔다. 일단 기본 목표는:
  • 로긴 유지, 리스트 확인, 채팅
이렇게, 아주 기본적인 기능을 목표로 한다.

MSN MSG 프로토콜을 분석해 기본부터 만들까? 생각했지만, 미리 버거운 걸 눈치 채고(--+) 모듈을 찾아봤다. 다행이도 파이썬 모듈 존재 확인!, msnp.py(http://msnp.sf.net/ ) 을 받아 사용한다. 이 모듈로도 아직도 삽질 중이다(로긴 문제때문에, 아주 약간 소스를 고쳤다).

MSN Messenger Protocol #

MSN Messenger Protocol에서 관련 문서 참고

犬足 日紙 #

犬足 日紙
03/10/2004 login 완료 - 서버에 로긴이 되도 이미 로긴한 상대방들에게 온라인상태로 안나타는 현상이 있었다. 원래 모듈의 login 함수엔 연결 후 바로 상태를 변화시키는데, 그것을 주석 처리하고, 리스트를 받은 후 나중에 상태변화 시키니, 문제가 해결됐다 :)
상태변화도 잘 되고, 리스트 받아오는 것도 확인했다. 중요한건! 이 상태(쉘 확인-_-)로는 안되고, 사용할려면 GUI가 필요하다는 것이다. 그래서 Boa-constructor(wxPython)를 만지작 거리고 있다(이거 또한, 또 다른 작업이다-_-)
05/10/2004 Boa-constructor에서 GUI작업중. wxPython이 Win32플랫폼에선 내부적으로 MFC를 쓴다고 한다. wxPython 자체 도움말은 없는데, wxPython DEMO 가 있어서 다행이다. 어쨋든 간단한 콘트롤 구현에서 삽질중이다. 역시 난 군인!
06/10/2004 GUI 작업에서 좀 막혔다. boa-constructor 가 wxPython 2.4.2.4 를 요구해서 2.5.2.8 인가가 최신임에도 저것을 깔아쓰고 있다. 헌데 요런 에러 메시지가 뜬다.
Traceback (most recent call last):
File "wxPymsg.py", line 280, in On_mnHelp_About
dlg = wxMessageDialog(None, 'its test', 'pyMsg', wxOK | wxICON_INFORMATION)
File "C:\?CJKPython23\Lib\site-packages\wxPython\cmndlgs.py", line 368, in init
self.this = cmndlgsc.new_wxMessageDialog(*_args,**_kwargs)
wxPython.wxc.wxPyAssertionError: C++ assertion "wxAssertFailure" failed in e:\Projects\wx2.4\src\msw\statbr95.cpp(175): invalid statusbar field index
원 소스의 버그인지. 내 소스에 print하나만 추가해도 저런 메시지는 안뜨는데.. 어쨋든, 그래서 최신버젼도 다시 깔아보구 다른 IDE 도 찾아 깔아보구 쇼좀 했다. 결국은 다시 원 위치로 돌아와 소스수정해 에러없애고 다시 진쟁 결심; 그래도 아래 print 이거 때문에 에러가 없어진다니 도대체 어떻게 된 문제일까!? ㅠㅠ
def function(self):     print 'dummy -_-?'     self.Destroy()
07/10/2004 어제의 그것은 보아 리소스 에디터중에 나타낸, 소스가 엉켜 나타난 버그가 아닐까 생각된다. 프렘디자인을 처음부터 다시 하고, 메뉴도 만들어 테스트해봤더니 제대로 잘 된다 -_-; 어쨋든, 경험이 되는 에러였다. 아직 별건 없지만 이젠 간단하게나마 프렘에 모듈을 붙여보자
08/10/2004 창과 따로 놀기 위해서 쓰레드 사용
18/10/2004 아차!, ... 부대에 문제도 있고, 가을 타는지 주춤했었는데. 이렇게 벌려놓고 그냥 접어버릴 뻔 했군. 잊고 있었다니..;; 어쨋든 기본 구현은 해 놓고 접어야지-_-
23/10/2004 버그무시하고 기본 채팅 구현중

스크린 샷 #

http://skyofdwarf.cafe24.com/image/pyMsg/pyMsg-041016.jpg