Skype4py 是否使用 Skype 桌面 API?该 API 似乎已经(或正在)被 Microsoft 1删除。
有人知道这如何影响 skype4py 项目吗?
1 “什么是桌面 API?” 在 Skype 常见问题解答上说:
正如本博文中所述,由于我们正在对 Skype 体验进行技术改进,API 的某些功能将停止与桌面版 Skype 一起使用。例如,使用 API 传递聊天消息将停止工作。
Skype4py 是否使用 Skype 桌面 API?该 API 似乎已经(或正在)被 Microsoft 1删除。
有人知道这如何影响 skype4py 项目吗?
1 “什么是桌面 API?” 在 Skype 常见问题解答上说:
正如本博文中所述,由于我们正在对 Skype 体验进行技术改进,API 的某些功能将停止与桌面版 Skype 一起使用。例如,使用 API 传递聊天消息将停止工作。
Skype4py 仍然可以工作,但是,发送消息到群聊时,需要注意。
如果群聊是“基于云的聊天”,Skype4py 不能正常工作。
例如,以下脚本正常工作:
# -*- 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!')
原因如下。
在证据中,以下脚本仅显示基于 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'>