【问题标题】:need an python script that uses skype4py to send an instant message需要一个使用 skype4py 发送即时消息的 python 脚本
【发布时间】:2011-05-30 23:39:12
【问题描述】:

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

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

有人知道怎么做吗?

非常感谢

【问题讨论】:

  • 你为什么不阅读python教程并尝试编写一个。然后,如果您有问题,您可以提出具体问题并获得具体答案。我敢打赌,你甚至可以通过这种方式学习一些 Python。
  • 好吧,这是我让它快速运行所需的最后一步。 (zabbix skype 通知) 我也打算学python :)
  • 更好的是,学习阅读文档...接受的答案几乎是从文档github.com/Skype4Py/Skype4Py#sending-message 复制而来的。

标签: python skype skype4py


【解决方案1】:

应该根据文档工作。

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. 通过在第三个 (sys.argv[2:]) 之后的命令行参数中加入每个字符串,使用空格作为分隔符来构造一个字符串(消息)
  7. 向用户发送消息

【讨论】:

  • 非常感谢您对我的帮助。 :) 我将使用此脚本,以便 zabbix 可以通过 Skype 消息通知人们有关警报的信息。 skype 本身在 ubuntu 服务器上的 xvfb 中运行。我也在为此写一个教程......
  • 我认为Attach() 是可选的,或者不能按预期工作,具体取决于操作系统。我不使用它,我的脚本仍然有效。似乎已弃用或类似的东西,但我没有看到任何警告。
【解决方案2】:

对于新读者 YMMV.. Microsoft 已决定取消对 Skype Desktop API 的支持。

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

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

【讨论】:

    【解决方案3】:

    4 年后。我只想提一下,在最新版本的 Skype 中,争论可能已经发生了变化。意思是下面的代码:

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

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

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

    如果您想呼叫联系人,只需使用下面的代码。

    skype.Placecall('skypename')
    

    【讨论】:

    • 您是说接受的答案中的代码不再有效吗?或者您的帖子与这里的问题有什么关系?
    • 2 年后。有来电怎么看?
    • sys.argv 与 Skype4Py 没有任何关系,它是一个基本的 Python 模块,用于将参数传递给脚本。接受的答案完全可以,您发布了一个错误的答案。谁让“userxxxxxx”回复东西? :-/
    猜你喜欢
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2016-09-11
    • 2016-04-29
    • 1970-01-01
    • 2018-04-29
    相关资源
    最近更新 更多