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

Я установил скайп4пи. ( http://skype4py.sourceforge.net/doc/html/ )

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

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

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


person JMW    schedule 27.12.2010    source источник
comment
почему бы вам не прочитать учебник по Python и не попробовать написать его. Тогда, если у вас возникнут проблемы, вы сможете задать конкретные вопросы и получить конкретные ответы. Бьюсь об заклад, вы могли бы даже немного изучить Python таким образом.   -  person aaronasterling    schedule 27.12.2010
comment
Ну, это был последний шаг, который мне нужно было сделать, чтобы он работал быстро. (уведомления zabbix по скайпу) я тоже планирую изучать python :)   -  person JMW    schedule 28.12.2010
comment
Еще лучше, научитесь читать документы... принятый ответ едва скопирован из документов github.com /Skype4Py/Skype4Py#отправка-сообщения.   -  person m3nda    schedule 14.10.2017


Ответы (3)


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

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. Import sys, который содержит аргументы, переданные сценарию из командной строки в виде списка строк, argv
  3. Создайте экземпляр Skype, назовите его клиентом
  4. Прикрепить клиент к клиенту Skype пользователя
  5. Установите пользователя для отправки во второй аргумент командной строки (первый - это имя скрипта)
  6. Создайте строку (сообщение), присоединив каждую строку в аргументах командной строки после третьего (sys.argv[2:]), используя пробел в качестве разделителя.
  7. Отправить сообщение пользователю
person Rafe Kettler    schedule 27.12.2010
comment
большое спасибо вы мне так помогли. :) я буду использовать этот скрипт, чтобы zabbix мог информировать людей об оповещениях через сообщение в скайпе. Сам скайп работает в xvfb на сервере ubuntu. Я также пишу учебник для этого ... - person JMW; 27.12.2010
comment
Я думаю, что Attach() является необязательным или работает не так, как ожидалось, в зависимости от операционной системы. Я не использую его, и мой скрипт все равно работает. Кажется устаревшим или что-то в этом роде, но я не видел никаких предупреждений. - person m3nda; 14.10.2017

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

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

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

person demented hedgehog    schedule 25.08.2016

4 года спустя. Я просто хочу отметить, что аргументы, вероятно, изменились в последних версиях Skype. Это означает, что код ниже:

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

(это строка из примера сценария Skype4Py «callfriend.py» из github) просто даст вам исключение. Я не знаю, что изменилось, так как 2 года назад я не использовал Skype4Py, но аргумент sys.argv[1] больше не является командой отправки. По сути, вы получите, что sys.argv[1] находится за пределами диапазона. То, что вы можете сделать сейчас, в основном это:

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

И если вы хотите позвонить контакту, просто используйте код ниже.

skype.Placecall('skypename')
person ch07021    schedule 18.10.2014
comment
Вы говорите, что код в принятом ответе больше не будет работать? Или каким образом ваш пост связан с вопросом здесь? - person jogojapan; 18.10.2014
comment
2 года спустя. Как прочитать есть ли входящий звонок от кого? - person ; 20.10.2016
comment
sys.argv не имеет НИЧЕГО общего со Skype4Py, это базовый модуль Python для передачи аргументов сценарию. Принятый ответ полностью в порядке, и вы опубликовали ТАК неправильный ответ. Кто позволил пользователюxxxxxx отвечать на вопросы? :-/ - person m3nda; 14.10.2017