Skype4Py:获取您正在向其发送消息的人的句柄

Posted

技术标签:

【中文标题】Skype4Py:获取您正在向其发送消息的人的句柄【英文标题】:Skype4Py: getting the handle of the person you're sending a message to 【发布时间】:2012-02-01 06:51:13 【问题描述】:

我正在使用skype4py 为Skype 制作一个小机器人。该机器人连接到我的 Skype 客户端,我想要的是让机器人接受来自我自己或与我聊天的任何人的输入,并输出到输入来自的聊天窗口。

为此,我使用 sendMessage(msgtext, handle_of_person_im_chatting_with)。

当我从正在聊天的人那里收到命令时,这很容易完成,因为 RECEIVED 事件带有一个包含他们用户名的“fromHandle”属性,因此我可以将 sendMessage 定向到该句柄。但是我一生都无法弄清楚如何从 SENT 事件中获取该用户句柄。

【问题讨论】:

这没有直接关系,但我们使用 Skype4Py 和群聊 ids github.com/opensourcehacker/sevabot做了一个机器人 【参考方案1】:

将其放在导入之后的顶部

def commands(Message, Status):
    if Status == 'RECEIVED' or (Status == 'SENT'):
        if Message.Body.startswith(".help"):
            cmd_help(Message)

然后让它在使用 .help 时输出这个

def cmd_commandhere(Message):
    Message.Chat.SendMessage("Hello, " + Message.Sender.Handle)
    print "commandhere command received from: " + Message.Sender.Handle

然后在底部放这个

skype = Skype4Py.Skype()
client = Skype4Py.client.Client(skype)
skype.OnMessageStatus = commands

Skype.Attach()

while True:
    raw_input('')

【讨论】:

以上是关于Skype4Py:获取您正在向其发送消息的人的句柄的主要内容,如果未能解决你的问题,请参考以下文章

获取 APNS 服务的设备令牌列表

获取窗口句柄,并向窗口发送自定义消息

我如何在MessageActivity的编辑文本中设置接收者的用户名?

无法读取未定义的属性“发送”:Discord 机器人创建通道并向其发送消息然后对其做出反应

在 RTI DDS 上获取 DataReader/Subscriber 的 IP 地址?

将对象设置为 nil 与在 dealloc 中向其发送释放消息有啥区别