2015-06-21 41 views
0

基本上,我試圖用Skype4Py創建一個Skype機器人。我目前的代碼在傳統(p2p)羣組聊天和正常消息中工作良好,但在新羣聊中沒有問題。以下是我的代碼:Skype4Py發送和接收羣組交談

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('') 

回答

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的聊天。

- snip -

創建的所有新組都將是基於雲的組。 如果您想創建一個基於P2P的組(使用舊版主持人功能),type/createmoderatedchat。 這將創建一個名爲空組的新的聊天組,您可以添加用戶並使用下面描述的基於P2P的聊天命令的完整列表。

+0

/createmoderatedchat命令無法工作。 – Toanalien