Skype4Py Проверьте, если групповой чат

Есть ли способ проверить, является ли чат групповым? Или хотя бы узнать, сколько пользователей в группе.

Например, проверяя номер пользователя, если он равен 2, то, очевидно, он равен 1-1 (Single), но если он, как и все остальное, это будет групповой чат.

3 ответа

Type свойство объекта чата будет либо chatTypeDialog или же chatTypeMultiChat с последним, являющимся групповым чатом. Вы можете спокойно игнорировать другие устаревшие значения перечисления.

Это сработало для меня:

def on_message(message, status):
    len(message.Chat.Members) > 2:
        # this is a private chat

s = Skype4Py.Skype()
s.OnMessageStatus = on_message
s.Attach()

message.Chat.Type всегда зависал для меня, а затем через несколько секунд соединение с Skype теряется. Кажется, это ошибка

Это небольшая модификация кода, который я написал для другого вопроса здесь. Следующий код проверяет, есть ли групповые чаты в открытых чатах или в чатах с закладками. Вы должны пройти в topic найти чат на эту тему.

def checkGroupChat(topic=""):
    """
    Checks if a group exists.
    """
    import Skype4Py as skype
    skypeClient = skype.Skype()
    skypeClient.Attach()
    for elem in skypeClient.ActiveChats:  # Looks in active chats and returns True if chat is found.
        if len(elem.Members) > 2 and elem.Topic == topic:
            return True

    for chat in skypeClient.BookmarkedChats: # Looks in Bookmarked Chats.
        if chat.Topic == topic:
            return True

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