基本上,我试图用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('')
答案 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的聊天命令的完整列表。