нужен скрипт на python, который использует skype4py для отправки мгновенного сообщения - PullRequest
1 голос
/ 27 декабря 2010

я установил skype4py. (http://skype4py.sourceforge.net/doc/html/)

я не знаю питона. Мне нужен простой пример сценария, который принимает первый аргумент cmd в качестве имени пользователя и второй аргумент в качестве сообщения. это мгновенное сообщение должно быть затем отправлено на имя пользователя Skype.

Кто-нибудь знает, как это сделать?

Большое спасибо заранее

Ответы [ 4 ]

11 голосов
/ 27 декабря 2010

Должно работать на основе документов.

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. Импортировать класс Skype из Skype4Py
  2. Импортировать sys, который содержит аргументы, которые скрипт передал из командной строки в спискеstrings, argv
  3. Создайте экземпляр Skype, назовите его клиентом
  4. Присоедините клиент к клиенту Skype пользователя
  5. Установите пользователя для отправки его во второй аргумент командной строки(сначала имя скрипта)
  6. Создайте строку (сообщение), соединив каждую строку в аргументах командной строки после 3-го (sys.argv[2:]), используя пробел в качестве разделителя
  7. Отправитьсообщение пользователю
1 голос
/ 12 марта 2011

Мне нужно что-то подобное - получать уведомления об определенных вещах с моего сервера Ubuntu (только для консоли) через Skype / CLI. Приведенного выше кода Python было недостаточно. Я в основном следовал этому руководству, чтобы все работало: http://www.qxs.ch/?p=9

g'luck.

PS. Ха, только что заметил, что я наткнулся на учебник JMW. хороший.

0 голосов
/ 25 августа 2016

Для новых читателей YMMV .. Microsoft решила избавиться от поддержки Skype для рабочего стола API.

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

Я не совсем уверен, что это значит для skype4py.

0 голосов
/ 18 октября 2014

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')
...