Skype4Py发送&接受群聊

时间:2015-06-21 09:29:43

标签: python-2.7 skype4py

基本上,我试图用Skype4Py创建一个skype机器人。我当前的代码在遗留(p2p)组聊天和普通消息中工作正常,但在新的组聊天中没有。这是我的代码:

import Skype4Py 

prefix = "My Bot: "

def command(Message, Status): 
    if Status == 'SENT' or Status == 'RECEIVED':
        msg = Message.Body.lower()
        if (msg == ",help"):
            send(Message, "Hello!")

def send(Message, String):
    final = prefix+String
    Message.Chat.SendMessage(final)

skype = Skype4Py.Skype();
skype.OnMessageStatus = command 
if skype.Client.IsRunning == False: 
    skype.Client.Start() 
skype.Attach();

while True: 
    input('')

1 个答案:

答案 0 :(得分:3)

如果您的新群聊是"基于云的聊天",则Skype4py效果不佳。

例如,创建一个新的群聊,然后运行以下代码:

import Skype4Py

skype = Skype4Py.Skype()
skype.Attach()
for chat in skype.Chats :
    print chat.Name

列出了旧版(p2p)群聊,但未列出新的(基于云的)群聊。

如果您想让代码运行良好,则必须创建遗留(p2p)群组聊天。

请试试这个:

Skype FAQ - What are chat commands and roles?

  

要查找您所在的聊天类型,只需在聊天窗口中输入/获取姓名,然后按Enter键即可。   如果群组名称响应以" 19:... "开头,则您将进行基于云的聊天;   如果群组名称响应以" #skypename ... "开头,则您将进行基于P2P的聊天。

     

- 剪辑 -

     

创建的所有新组都将是基于云的组。   如果要创建基于P2P的组(以使用旧版主机功能),键入/ createmoderatedchat 。   这将创建一个名为Empty Group的新聊天组,您可以向其添加用户并使用下面描述的基于P2P的聊天命令的完整列表。