Skype4Py检查是否群聊

时间:2013-02-24 07:33:52

标签: python skype skype4py

有没有办法检查聊天是否是群聊?或者至少要找出一个组中有多少用户。

比如检查用户号码,如果它是2,那么它显然是1-1(单个),但如果它是其他任何东西,它将是群聊。

3 个答案:

答案 0 :(得分:0)

聊天对象的Type属性为chatTypeDialogchatTypeMultiChat,后者为群聊。您可以放心地忽略其他遗留枚举值。

答案 1 :(得分: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

答案 2 :(得分: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就丢失了。似乎是个错误