Skype4py是否使用Skype桌面API?该API似乎已经(或正在)被Microsoft 1 删除。
有人知道这会如何影响skype4py项目吗?
Skype FAQ上的1 "What is the Desktop API?"说:
正如本blog post所述,由于我们对Skype体验的技术改进,API的某些功能将停止使用Skype for desktop。例如,使用API传递聊天消息将停止工作。
答案 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!')
原因如下。
在证据中,以下脚本仅显示基于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'>