需要一个使用skype4py发送即时消息的python脚本

时间:2010-12-27 01:12:38

标签: python skype skype4py

我已经安装了skype4py。 (http://skype4py.sourceforge.net/doc/html/

我不知道python。我需要一个简单的示例脚本,它将第一个cmd参数作为用户名,将第二个参数作为消息。然后应该将此即时消息发送到skype用户名。

有谁知道怎么做?

提前多多感谢

4 个答案:

答案 0 :(得分:11)

应该根据文档工作。

from Skype4Py import Skype
import sys

client = Skype()
client.Attach()
user = sys.argv[1]
message = ' '.join(sys.argv[2:]
client.SendMessage(user, message)

用法:

$ python message.py someuser This is my message

你最好不要用它来垃圾邮件:D

如果你需要做更多的事情,你最好学习Python。出于教育目的,这里是逐行细分:

  1. 从Skype4Py导入Skype课程
  2. 导入sys,其中包含脚本从字符串列表中的命令行传递的参数,argv
  3. 创建Skype实例,称之为客户端
  4. 将客户端附加到用户的Skype客户端
  5. 将用户设置为将其发送到第二个命令行参数(第一个是脚本名称)
  6. 使用空格作为分隔符,通过在第3个(sys.argv[2:])之后的命令行参数中连接每个字符串来构造字符串(消息)
  7. 将消息发送给用户

答案 1 :(得分:1)

我需要类似的东西 - 通过skype / CLI从我的ubuntu(仅控制台)服务器获取某些信息。上面的python代码本身还不够。我基本上遵循了本指南,使一切正常:http://www.qxs.ch/?p=9

g'luck。

PS。哈哈,刚刚注意到我实际上偶然发现了JMW的教程。好的。

答案 2 :(得分:0)

4年后。我只想提一下,最新版本的Skype可能已经改变了这些论点。意思是下面的代码:

try:
    CmdLine = sys.argv[1]
except:
    print 'Missing command line parameter'
    sys.exit()

(这是来自示例Skype4Py脚本" callfriend.py"来自github的一行)只会给你例外。我不知道发生了什么变化,因为2年前我没有使用Skype4Py,但是参数sys.argv [1]不再是send命令了。基本上你会得到sys.argv [1]是范围的。你现在能做的基本上是这样的:

import Skype4Py 
skype = Skype4Py.Skype()
skype.SendMessage('receiver's skypename','your message text')

如果您想拨打联系人,请使用下面的代码。

skype.Placecall('skypename')

答案 3 :(得分:0)

对于新读者YMMV ..微软决定摆脱对Skype桌面API的支持。

https://blogs.skype.com/2013/11/06/feature-evolution-and-support-for-the-skype-desktop-api/

我不确定这对skype4py意味着什么。