Skype4Py Отправка и получение в групповых чатах

По сути, я пытаюсь создать бота для Skype с помощью Skype4Py. Мой текущий код отлично работает в устаревших (p2p) групповых чатах и ​​в обычных сообщениях, но не в новых групповых чатах. Вот мой код:

import Skype4Py 

prefix = "My Bot: "

def command(Message, Status): 
    if Status == 'SENT' or Status == 'RECEIVED':
        msg = Message.Body.lower()
        if (msg == ",help"):
            send(Message, "Hello!")

def send(Message, String):
    final = prefix+String
    Message.Chat.SendMessage(final)

skype = Skype4Py.Skype();
skype.OnMessageStatus = command 
if skype.Client.IsRunning == False: 
    skype.Client.Start() 
skype.Attach();

while True: 
    input('')

person RWWW    schedule 21.06.2015    source источник


Ответы (1)


Если ваш новый групповой чат представляет собой облачные чаты, Skype4py не работает.

Например, создайте новый групповой чат, а затем выполните следующий код:

import Skype4Py

skype = Skype4Py.Skype()
skype.Attach()
for chat in skype.Chats :
    print chat.Name

Устаревшие (p2p) групповые чаты перечислены, но новый (облачный) групповой чат не указан.

Если вы хотите, чтобы ваш код работал хорошо, вам нужно создать устаревшие (p2p) групповые чаты.

Пожалуйста, попробуйте это:

Часто задаваемые вопросы по Skype: что такое команды и роли в чате?

Чтобы узнать, в каком типе чата вы находитесь, просто введите /получить имя в окне чата и нажмите Enter. Если ответ с названием группы начинается с 19:..., вы находитесь в облачном чате; если ответ с названием группы начинается с #skypename..., вы находитесь в чате на основе P2P.

-- обрезать --

Все новые создаваемые группы будут облачными. Если вы хотите создать группу на основе P2P (чтобы использовать устаревшие функции модератора), введите /createmoderatedchat. Это создаст новую группу чата под названием «Пустая группа», в которую вы можете добавлять пользователей и использовать полный список команд чата на основе P2P, описанных ниже.

person ie4    schedule 02.07.2015