Microsoft删除Skype桌面API后Skype4py是否仍然可用?

时间:2015-04-29 14:14:35

标签: skype4py

Skype4py是否使用Skype桌面API?该API似乎已经(或正在)被Microsoft 1 删除。

有人知道这会如何影响skype4py项目吗?

Skype FAQ上的

1 "What is the Desktop API?"说:

  

正如本blog post所述,由于我们对Skype体验的技术改进,API的某些功能将停止使用Skype for desktop。例如,使用API​​传递聊天消息将停止工作。

1 个答案:

答案 0 :(得分:1)

Skype4py仍然有效,但是,在向群聊发送消息时,需要注意。

如果群聊是“基于云的聊天”,则Skype4py无效。

供参考:Skype FAQ - What are chat commands and roles?

例如,以下脚本正常工作:

# -*- coding: utf-8 -*-
import Skype4Py

user = 'username' # Allow chats from Skype4py bot account

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

chat = skype.CreateChatWith(user)
chat.SendMessage('hello!')

以下脚本也很有效:

# -*- coding: utf-8 -*-
import Skype4Py

# p2p-based chat and Skype4py bot account had already joined group
group = '#botname/$username;1234567890abcdef'

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

for chat in skype.Chats :
    if chat.Name == group :
        chat.SendMessage('hello!')

但是,以下脚本不起作用:

# -*- coding: utf-8 -*-
import Skype4Py

# cloud-based chat and Skype4py bot account had already joined group
group = '19:1234567890abcdef1234567890abcdef@thread.skype'

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

for chat in skype.Chats :
    if chat.Name == group :
        chat.SendMessage('hello!')

原因如下。

  • Skype4py无法很好地处理基于云的聊天。

在证据中,以下脚本仅显示基于p2p的聊天。 即使Skpe4py加入任何基于云的聊天。

# -*- coding: utf-8 -*-
import Skype4Py

skype = Skype4Py.Skype(Transport='x11')
skype.Attach()
for chat in skype.Chats :
    print chat

# Sample Output:
# <Skype4Py.chat.Chat with Name='#username/$1234567890abcdef'>
# <Skype4Py.chat.Chat with Name='#botname/$username;1234567890abcdef'>