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:获取您正在向其发送消息的人的句柄的主要内容,如果未能解决你的问题,请参考以下文章
我如何在MessageActivity的编辑文本中设置接收者的用户名?
无法读取未定义的属性“发送”:Discord 机器人创建通道并向其发送消息然后对其做出反应