2013-02-24 5 views
0

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

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

+0

http://skype4py.sourceforge.net/doc/html/ –

ответ

0

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

+0

Простите за то, что вы не хорошо разбираетесь в python, но как я могу это проверить? –

+0

Если вы не можете понять, как проверить значение простого свойства, я рекомендую вам прочитать учебник для начинающих Python 101. –

+1

Ну, я пробовал, если Message.Chat.Type == Skype4Py.chatTypeMultiChat, но код зависает и никогда не запускается –

0

Это небольшая модификация кода, который я написал для другого вопроса here. Следующий код проверяет, есть ли какие-либо групповые чаты в чатах или чатах с закладками. Вы должны пройти 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 
+0

Как насчет проверки текущего чат или чат, что сообщение было отправлено от –

+0

Привет! Часть 'skypeClient.ActiveChats' позаботится об этом, если у вас есть сообщение и вы хотите определить чат из этого, вы можете внести незначительные изменения в вышеуказанный код. –

+0

Хорошо, как бы я его изменил? –

0

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

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 теряется. Кажется, это ошибка

Смежные вопросы