Skype.getAllChats() не обнаруживает облачные групповые чаты

Я пытаюсь написать бота, который для начала прослушивает и регистрирует каждое сообщение, сказанное в облачном чате, то есть в чате, где команда \get name возвращает строку с префиксом 19: например, 19:f0ddd8dbc5b64372a2dd1de9f37f8689@thread.skype в моем конкретном случае.

Однако я не могу заставить Skype4Java найти какие-либо облачные чаты, в которых я участвую.

Group[] groups = Skype.getContactList().getAllGroups();

Вышеприведенный список возвращает пустой список, даже когда присутствуют группы P2P.

Chat[] chats = Skype.getAllChats()

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

Skype4Java не может взаимодействовать с облачными чатами? Я знаю, что Skype4Py (эквивалент Python) не может. (Неподходящий дополнительный вопрос: есть ли API, которые взаимодействуют с облачными чатами?)

1 ответ

Решение

(Правка: Это ответ на себя после многих часов бесполезных исследований. Поднимите его в надежде, что он поможет какому-нибудь другому новичку в написании ботов.)

Skype4Java, Skype4Py и большинство других оболочек API не могут взаимодействовать с облачными чатами.

Там нет никакого обходного пути, кроме воссоздания желаемого чата с /createmoderatedchat и добавление всех участников из предыдущего.

Единственная альтернатива, которую я смог найти, - это Skypeweb, библиотека, которая является частью Skype4Pidgin. Насколько я могу судить, он работает с облачными чатами. Однако документации очень мало.

Эта статья из Bitlbee Wiki может быть полезной. Описывает, как включить SkypeWeb в Bitlbee.

Другие вопросы по тегам