尝试使用skype 4py制作一个基本的skype机器人-如何在聊天中发送MSG时进行检查



我正在尝试制作一个简单的skype机器人,我可以运行它,如果在特定的聊天中发送消息,它会发送三条轮流发送的消息中的一条。然而,我正在努力找出如何在聊天中发送消息时进行检查

到目前为止:

import Skype4Py as skype
skypeClient = skype.Skype()
skypeClient.Attach()
def sendGroupChatMessage(topic="Topic"):
    messageSent = False
    messagenum = 0
    for elem in skypeClient.ActiveChats:
        if (messagenum == 0):
            elem.SendMessage("I see")
            messagenum = 1
            messageSent = True
        elif (messagenum == 1):
            elem.SendMessage("That's amazing")
            messagenum = 2
            messageSent = True
        elif (messagenum == 2):
            elem.SendMessage("It's not your fault")
            messagenum = 0
            messageSent = True
    if not messageSent:
        for chat in skypeClient.BookmarkedChats:
            if chat.Topic == topic:
                chat.SendMessage("SomeMessageHere")
                messageSent = True
    return messageSent
if skypeClient.OnMessageStatus == 'RECEIVED':
    sendGroupChatMessage()

您必须注册事件MessageStatus
http://skype4py.sourceforge.net/doc/html/Skype4Py.skype.SkypeEvents-class.html
在那里你可以找到更多的信息

示例代码,向发送者重新发送消息的内容(仅回显):

import Skype4Py
skype = Skype4Py.Skype()
skype.Attach()
def onMsg(msg, status):
  if status == Skype4Py.cmsReceived:
    msg.Chat.SendMessage(msg.Body)
skype.RegisterEventHandler('MessageStatus', onMsg)
while 1: pass

最新更新