2014-10-07 8 views
2

Skype 인증 요청을 자동으로 처리하는 앱을 작성하려고합니다. 마지막 목적은 플랫폼 사용자가 &을 첨부하여 플랫폼 별 Skype 사용자에게 메시지를 보내 자신의 Skype 핸들을 확인하도록하는 것입니다.Skype4Py : 들어오는 버디 요청을 인증 할 수 없습니다.

특히, 나는 앱 사용자의 연락처 목록에서 사용자를 승인하고 삭제하는 것에 관심이 있습니다. 필자는 Linux Skype4Py의 Python 문서를 철저히 읽었으며 유용한 방법을 찾지 못했습니다. ,

for user in skype.UsersWaitingAuthorization: 
    print "User: " + user.Handle + " " + str(user.BuddyStatus) # note that _GetBuddyStatus() works here 
    if not user.ReceivedAuthRequest.startswith("special-marker"): 
     user.BuddyStatus = -1; 

Traceback (most recent call last): 
    File "gn-discovery-skype.py", line 60, in <module> 
    user.BuddyStatus = -1; 
    File "/usr/local/lib/python2.7/dist-packages/Skype4Py/user.py", line 80, in _SetBuddyStatus 
    self._Property('BUDDYSTATUS', int(Value), Cache=False) 
    File "/usr/local/lib/python2.7/dist-packages/Skype4Py/user.py", line 19, in _Property 
    return self._Owner._Property('USER', self.Handle, PropName, Set, Cache) 
    File "/usr/local/lib/python2.7/dist-packages/Skype4Py/skype.py", line 311, in _Property 
    self._DoCommand('SET %s %s' % (jarg, value), jarg) 
    File "/usr/local/lib/python2.7/dist-packages/Skype4Py/skype.py", line 281, in _DoCommand 
    raise SkypeError(int(errnum), errstr) 
Skype4Py.errors.SkypeError: [Errno 518] Invalid status given for BUDDYSTATUS 

그것 (Skype4Py이 상태를 받아 이후) 스카이프가 실제로 사용자 권한을 부여 제어 할 수 있도록 간단하지 않은 경우겠습니까 엄격를 떠나 : 나는 권한이없는 사용자의 BuddyStatus을 덮어 쓸 때, 나는 얻을 실제 스카이프 사용자입니까?

+1

오류가 스카이프 데스크탑 API 프로토콜에서 직접 오는 볼 수 있듯이이, 낮은 수준의 스카이프 문제 같은 소리의 나머지 작업을 할 것입니다. 지난 몇 년 동안 Skype에서 어떤 일이 벌어지는지를 보면 Skype API에서이 기능이 삭제 된 것 같습니다. –

답변

1

연락처 목록에서 다른 사용자를 삭제하려면 1이 아닌 -1을 사용해야합니다.
심지어 누군가 skype.Friends에서 BuddyStatus -1이 발생합니다. 사용해보기.
하지만 연락처 목록에 누군가를 추가하려면 BuddyStatus를 2으로 변경해야합니다.
그것은 작동 :)

0
user._SetIsAuthorized(1) 

당신

+0

왜? 설명을 해주십시오. – rayryeng