我正在编写一个自动处理Skype授权请求的应用程序。最终目的是允许平台用户通过发送特定于平台的Skype用户消息来附加和确认他们的个人Skype句柄。
具体来说,我有兴趣授权并删除应用程序用户的联系人列表中的用户。我已经彻底阅读了LinuxSkype4Py的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用户吗?
发布于 2014-11-21 16:11:21
如果要从联系人列表中删除某人,则必须使用1而不是-1。
即使是来自skype.Friends BuddyStatus -1的人也会引发错误。试试看。
但是,如果要将某人添加到联系人列表中,则必须将BuddyStatus更改为2。
它起作用:)
发布于 2014-11-21 20:43:22
user._SetIsAuthorized(1) 会帮你完成剩下的工作
https://stackoverflow.com/questions/26237596
复制相似问题