[Python] 파이썬으로 페이스북 메신저로 메시지 보내기 2

지난번에 파이썬으로 페이스북 메신저로 메시지 보내기를 살펴보았습니다.

그런데 이것을 테스트 하면 할 수록,

Client() 생성자에 10여초 이상 걸리고
send()를 하는데 적게는 2초, 많게는 6초 이상 시간이 소요되는 것이었습니다.

다시 테스트를 하여 원인을 찾았습니다.

늦는 원인은 이전 버전은 is_logined 새버전은 isLoginedIn 인데
이 함수에서 5초 이상을 잡아 먹는 것이었습니다.
암튼 버전이 틀려졌네요.


버전은 0.9.3 이었습니다.
어찐된 것인지 조사를 하다가
fbchat 모듈을 살펴보는데... 

아뿔사. 일이주 지난 것 같은데 버전업이 되었네요.

아마도 내부 프로토콜이 변경된 느낌입니다.

결국 지난번 샘플 코드는

#!/usr/bin/env python
# encoding=utf-8

from fbchat import Client
fc = Client('______@gmail.com', '______')
friends = fc.getUsers('____')
friend = friends[0]
f_info = fc.getUserInfo(friend.uid)
print(f_info)
sent = fc.send(friend.uid, "안녕 파이썬 프로그램에서 테스트 메시지 보내봄")
if sent:
    print("Message sent successfully!")


이었습니다.

오늘자 (2017.6.29)로 새로 업데이트를 하니,

(python3) $ pip install -U fbchat
...
(python3) $ pip freeze | grep fbchat
fbchat==1.0.9

버전이 약간 올랐지만 메이저 버전이 0에서 1로 올라갔군요.
또한 내부 함수명도 변경되어 기존 코드는 오류가 발생합니다.

서드파티 모듈을 사용할 때에는 이런 경우가 비일비제합니다.
따라서 개발 했을 떄의 버전 (pip의 Freeze 명령이 있는 이유겠죠?)을
잘 유지하는 것도 중요하지만,
최신 버전을 적용하여 기능이나 성능 향상을 꽤하는 것도 
그 이상으로 중요합니다.


따라서 기존 소스는
다음과 같이 변경되었습니다.

#!/usr/bin/env python
# encoding=utf-8

from fbchat import Client
fc = Client('______@gmail.com', '______')
friends = fc.searchForUsers('____')
friend = friends[0]
sent = fc.sendMessage("안녕 파이썬 프로그램에서 테스트 메시지 보내봄", 
                                  thread_id=friend.uid, thread_type=ThreadType.USER)
if sent:
    print("Message sent successfully!")

위에 붉은 부분이 변경되었습니다.

수정된 것으로 다시 송신을 해보니,

Client 생성 (접속 및 해당 인스턴스 build 등)에는 5초정도 소요되었으나
나머지 해당 사용자 id를 구해 메시지 보내는 데까지는 0.5초 정도 소요되었습니다.


어느 분께는 도움이 되셨기를...

[Mac, Linux] tar.gz 의 hash 값 다른 문제

어떤 폴더가 있는데 이 폴더를 tar.gz 으로 묶고 앞축하여 md5 (linux에서는 md5sum) 으로 그 무결성을 체크하려고 하였습니다.우선 tar.gz 할 폴더를 살펴봅니다.$ du -sh machine_learning_examples 60M    machine_learning_examples라고 60메가 짜리... » 내용보기

[Python] 비동기 작업큐와 Global 객체에 관한 고찰

지난번 비동기 작업 큐를 살펴보면서 Celery 대신 간단한 파이썬의 RQ를 살펴본 적이 있습니다.이것을 사용하다가 이번에 새로운 곳에 진행을 하려다 보니다음과 같은 경우가 생겼습니다.G_H = Nonedef mytask(*args, **kwargs):    if G_H is None:        ... » 내용보기

[Jetbrains] Go 언어용 IDE Gogland 시작해 보기

아직 전날 마신 술이 알딸딸한 김에 연속 세번째 블로깅을 해 봅니다.우선 gogland가 뭐지? 하고 찾아보니,핀란드에 있는 섬 이름이군요. 이름도 잘도 붙입니다.아직은 Pre 버전이라 라이센스는 별도 없습니다.우선 새로운 프로젝트를 시작할 때 GO SDK를 물어 보기 때문에golang.org 에서 맥용을 다운받아 실행하면,계속,계속,설치를 눌러 설치를... » 내용보기

[Mac] 에서 XCode 대신 JetBrains사의 AppCode IDE 이용해 보기

바로 전에 CLion을 살펴보았었습니다.이왕 해보는 김에 JetBrains에 AppCode 라는 것이 있어 해 봅니다.뭐 말로는 XCode 대신 Mac에서 Mac용 App나 iOS 기반 개발을 할 수 있게 된 것 같군요.Download 하고,처음 시작할 때 한번 뜨는 것에 "OK"테마도 디폴트로...CLion에서와 같이 플러그인 관련 창이 뜨는데, 이번... » 내용보기

구글애드텍스트