Skype4py是否使用Skype Desktop API? 该 API 似乎已被Microsoft 1 删除(或正在)删除。
有谁知道这对skype4py项目有什么影响吗?
1 Skype常见问题解答上的"什么是桌面API?"说:
如本博客文章所述,由于我们对 Skype 体验进行了技术改进,API 的某些功能将停止与 Skype for Desktop 配合使用。例如,使用 API 传递聊天消息将停止工作。
Skype4py仍然有效,但是,在向群聊发送消息时,需要注意。
如果群聊是"基于云的聊天",Skype4py不能很好地工作。
供参考:Skype 常见问题解答 - 什么是聊天命令和角色?
例如,以下脚本正常工作:
# -*- 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'>