有没有办法检查聊天是否是群聊?或者至少要找出一个组中有多少用户。
比如查用户号,如果是2,那么明明是1-1(Single),但如果是别的,那就是群聊。
这是我在这里为另一个问题编写的代码的轻微修改。以下代码检查打开的聊天或已添加书签的聊天中是否有任何群组聊天。您应该传入 atopic
以查找该主题的聊天。
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
聊天对象的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 的连接丢失。似乎是一个错误