0

基本上,我正在尝试使用 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('')
4

1 回答 1

3

如果您的新群聊是“基于云的聊天”,则 Skype4py 无法正常工作。

比如新建一个群聊,然后运行代码如下:

import Skype4Py

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

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

如果你想让你的代码运行良好,你必须创建一个遗留(p2p)群聊。

请试试这个:

Skype 常见问题 - 什么是聊天命令和角色?

要查明您正在进行的聊天类型,只需在聊天窗口中输入/get name并按 Enter。如果组名响应以“ 19:... ”开头,则您处于基于云的聊天中;如果组名响应以“ #skypename... ”开头,则您处于基于 P2P 的聊天中。

-- 剪辑 --

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

于 2015-07-02T19:39:55.747 回答