Skype4Py:无法授权传入的好友请求

时间:2014-10-07 13:48:48

标签: python linux skype skype4py

我试图编写一个自动处理Skype授权请求的应用程序。最终目的是允许平台用户附加&通过向特定于平台的Skype用户发送消息来确认他们的个人Skype处理。

具体来说,我有兴趣从应用用户的联系人列表中授权和删除用户。我已经彻底阅读了Linux Skype4Py的Python文档,但我还没有找到任何有用的方法。当我尝试覆盖未授权用户的BuddyStatus时,我得到:

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

Skype(因为Skype4Py接受状态)实际上是不是允许控制用户授权,而是严格地将其留给实际的Skype用户?

2 个答案:

答案 0 :(得分:1)

如果要从联系人列表中删除某人,则必须使用1而不是-1
即使是来自skype.Friends的人,BuddyStatus -1也会引发错误。 试试吧。
但是,如果要将某人添加到联系人列表,则必须将BuddyStatus更改为2 它有效:)

答案 1 :(得分:0)

user._SetIsAuthorized(1) 

将为您完成剩下的工作