2012-10-23 112 views
2

我正在嘗試編寫一個會阻止某些用戶的小型Skype機器人。Skype4Py附加功能不能正常工作第二次

這是我的代碼:

import Skype4Py 

skype = Skype4Py.Skype(Transport='x11') 

skype.Attach() 
print "Attachment status is " + str(skype.AttachmentStatus) 
... 
user._SetIsBlocked(True) 

我第一次運行該腳本,它給了我爲skype.AttachmentStatus,並阻止我選擇了用戶。 但是如果我第二次運行它,它會給我爲skype.AttachmentStatus,並且不會阻止我選擇的用戶。

如果我等一段時間(大約5分鐘)然後嘗試再次運行腳本,它開始工作。但只有一次。我必須再等五分鐘才能再次運行它。

有人可以幫助或解釋爲什麼會發生這種情況嗎?

謝謝!

回答

1

解決這個錯誤是自己的事件處理程序添加到skype.OnAttachmentStatus

例子:

# Attachment status handler 
def OnAttach(status): 
    print 'API attachment status: ' + skype.Convert.AttachmentStatusToText(status) 
    if status == Skype4Py.apiAttachAvailable: 
    skype.Attach() 

    if status == Skype4Py.apiAttachSuccess: 
    print '*************************************************' 

... 

# Creating Skype object, assigning handler functions and attaching to Skype 
skype = Skype4Py.Skype(Transport='x11') 
skype.OnAttachmentStatus = OnAttach 
skype.OnMessageStatus = OnMessageStatus 

之後,它會工作每次運行它的時候。

+0

你在OSX上試過這個,Windows 10沒有工作 – YumYumYum