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:[email protected]'
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'>