【问题标题】:Skype4Py Sending & Receiving In Group ChatsSkype4Py 在群聊中发送和接收
【发布时间】:2015-06-21 09:29:43
【问题描述】:

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

【问题讨论】:

    标签: python-2.7 skype4py


    【解决方案1】:

    如果您的新群聊是“基于云的聊天”,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?

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

    -- 剪辑--

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

    【讨论】:

      猜你喜欢
      • 2015-03-07
      • 1970-01-01
      • 2014-09-19
      • 1970-01-01
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      相关资源
      最近更新 更多