Как вызвать номер из командной строки с помощью Skype?

Sh - это оболочка для запуска команд, поэтому выполнение sh с sudo дает вам корневую оболочку. Это означает, что все команды в этой оболочке выполняются как root. Я предполагаю, что скрипт выполняет что-то еще, что требует root, но когда вы используете только sudo not sudo sh, что что-то еще выполняется как обычный пользователь, однако с sh все будет выполняться как root.

6
задан 14 October 2010 в 01:04

29 ответов

Очень просто:

$> skype --help

Skype 4.3.0.37

Usage: skype [options]
Options:
  --dbpath=<path>       Specify an alternative path to store Skype data files.
                        Default: ~/.Skype
  --resources=<path>    Specify a path where Skype can find its resource files.
                        Default: /usr/share/skype
  --secondary           Start a secondary instance of Skype.
  --disable-api         Disable Skype Public API.
  --callto <nick>
  skype:<nick>?<action>
    [...]

Протестировано. Оно работает. Не только с прозвищами. Также с прямыми телефонными номерами:

$> skype --callto +494030001234

(это означает: основная ошибка OPs была двоеточием, а не пробелом ...)

7
ответ дан 26 May 2018 в 01:12

Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:

skype --callto +14445551234

Вы можете просмотреть другие параметры, введя следующую команду в терминале

skype --help
7
ответ дан 27 July 2018 в 03:02

Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:

  skype --callto +14445551234  

Вы можете просмотреть другие параметры, введя следующую команду в терминале

  skype --help  
7
ответ дан 2 August 2018 в 04:29

Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:

  skype --callto +14445551234  

Вы можете просмотреть другие параметры, введя следующую команду в терминале

  skype --help  
7
ответ дан 4 August 2018 в 21:01

Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:

  skype --callto +14445551234  

Вы можете просмотреть другие параметры, введя следующую команду в терминале

  skype --help  
7
ответ дан 6 August 2018 в 04:33

Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:

  skype --callto +14445551234  

Вы можете просмотреть другие параметры, введя следующую команду в терминале

  skype --help  
7
ответ дан 7 August 2018 в 22:42

Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:

  skype --callto +14445551234  

Вы можете просмотреть другие параметры, введя следующую команду в терминале

  skype --help  
7
ответ дан 10 August 2018 в 10:48

Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:

  skype --callto +14445551234  

Вы можете просмотреть другие параметры, введя следующую команду в терминале

  skype --help  
7
ответ дан 13 August 2018 в 17:23

Очень просто:

  $ & gt;  skype --help Skype 4.3.0.37 Использование: skype [опции] Параметры: --dbpath = & lt; path & gt;  Укажите альтернативный путь для хранения файлов данных Skype.  По умолчанию: ~ / .Skype --resources = & lt; path & gt;  Укажите путь, по которому Skype может найти свои файлы ресурсов.  По умолчанию: / usr / share / skype --secondary Запустите дополнительный экземпляр Skype.  --disable-api Отключить общедоступный API Skype.  --callto & lt; nick & gt;  скайп: & л; ник & GT; & Lt; & действие GT;?  [...]  

Проверено. Оно работает. Не только с прозвищами. Также с прямыми телефонными номерами:

  $ & gt;  skype --callto +494030001234  

(это означает: основная ошибка OPs была двоеточие вместо пробела ...)

7
ответ дан 16 August 2018 в 00:00

Да, если вы используете Skype4Py.

Я создал простой скрипт callto.py на основе примеров / callfriend.py из Skype4Py. В качестве аргумента требуется номер телефона или имя друга из списка skype.

Skype спросит вас, хотите ли вы предоставить API для Skype4Py.

Код следует:

#!python
# ---------------------------------------------------------------------------------------------
#  Python / Skype4Py example that takes a skypename or number from the commandline
# and calls it.
#

import sys
import Skype4Py

# This variable will get its actual value in OnCall handler
CallStatus = 0

# Here we define a set of call statuses that indicate a call has been either aborted or finished
CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished, Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);

def AttachmentStatusText(status):
   return skype.Convert.AttachmentStatusToText(status)

def CallStatusText(status):
    return skype.Convert.CallStatusToText(status)

# This handler is fired when status of Call object has changed
def OnCall(call, status):
    global CallStatus
    CallStatus = status
    print 'Call status: ' + CallStatusText(status)

# This handler is fired when Skype attatchment status changes
def OnAttach(status): 
    print 'API attachment status: ' + AttachmentStatusText(status)
    if status == Skype4Py.apiAttachAvailable:
        skype.Attach()

# Let's see if we were started with a command line parameter..
try:
    CmdLine = sys.argv[1]
except:
    print 'Missing command line parameter'
    sys.exit()

# Creating Skype object and assigning event handlers..
skype = Skype4Py.Skype()
skype.OnAttachmentStatus = OnAttach
skype.OnCallStatus = OnCall

# Starting Skype if it's not running already..
if not skype.Client.IsRunning:
    print 'Starting Skype..'
    skype.Client.Start()

# Attatching to Skype..
print 'Connecting to Skype..'
skype.Attach()

# Make the call
print 'Calling ' + CmdLine + '..'
skype.PlaceCall(CmdLine)

# Loop until CallStatus gets one of "call terminated" values in OnCall handler
while not CallStatus in CallIsFinished:
    pass
5
ответ дан 26 May 2018 в 01:12
  • 1
    Привет. Это выглядит многообещающе. Предварительно, чтобы установить skype4py и проверить это, можете ли вы сказать мне в основном, что этот скрипт будет делать? т.е. я запускаю команду для получения результата? – emf 11 October 2010 в 09:28
  • 2
    Поместите его в файл callto.py, и вы можете запустить его с помощью python callto.py <phone-number>. Если ваш скайп подключен к сети, он начнет вызов с номером телефона & gt ;. – jneves 11 October 2010 в 16:12
  • 3
    Круто. Это отвечает желаемому результату, но я оставляю этот вопрос открытым, потому что я хотел бы услышать, возможно ли это с помощью обычных возможностей skype, результаты google, казалось, указывают на это. Однако, спасибо за ответ. – emf 14 October 2010 в 01:07
  • 4
    Удачи. Мои собственные поиски заставили меня поверить, что это что-то особенное для клиента Windows, но я бы хотел узнать об этом иначе. – jneves 15 October 2010 в 12:48
  • 5
    Я не думаю, что вы можете позвонить по номеру телефона из командной строки, просто используя skype. Каждый раз, когда вы вызываете skype из командной строки, он запускает новый экземпляр skype. Вы можете использовать только имя пользователя и пароль, используя --piped-login – Adi Roiban 8 November 2010 в 01:39

Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:

skype --callto +14445551234

Вы можете просмотреть другие параметры, введя следующую команду в терминале

skype --help
2
ответ дан 26 May 2018 в 01:12

Несколько лет назад я написал небольшой скрипт Python, который делает это.

Это было для Linux-версии Skype. Поэтому я не могу быть уверен, что он все равно будет работать.

#!/usr/bin/python
import Skype4Py
import os

os.system("/usr/bin/skype")
# Create an instance of the Skype class.
skype = Skype4Py.Skype()

# Connect the Skype object to the Skype client.
skype.Attach()

# Obtain some information from the client and print it out.
print 'Your full name:', skype.CurrentUser.FullName

print 'Your contacts:'

for user in skype.Friends:

    print '    ', user.FullName

skype.PlaceCall("+44123456789")
0
ответ дан 26 May 2018 в 01:12

Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:

skype --callto +14445551234

Вы можете просмотреть другие параметры, введя следующую команду в терминале

skype --help
2
ответ дан 25 July 2018 в 23:08

Да, если вы используете Skype4Py.

Я создал простой скрипт callto.py на основе примеров / callfriend.py из Skype4Py. В качестве аргумента требуется номер телефона или имя друга из списка skype.

Skype спросит вас, хотите ли вы предоставить API для Skype4Py.

Код следует:

#!python # --------------------------------------------------------------------------------------------- # Python / Skype4Py example that takes a skypename or number from the commandline # and calls it. # import sys import Skype4Py # This variable will get its actual value in OnCall handler CallStatus = 0 # Here we define a set of call statuses that indicate a call has been either aborted or finished CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished, Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]); def AttachmentStatusText(status): return skype.Convert.AttachmentStatusToText(status) def CallStatusText(status): return skype.Convert.CallStatusToText(status) # This handler is fired when status of Call object has changed def OnCall(call, status): global CallStatus CallStatus = status print 'Call status: ' + CallStatusText(status) # This handler is fired when Skype attatchment status changes def OnAttach(status): print 'API attachment status: ' + AttachmentStatusText(status) if status == Skype4Py.apiAttachAvailable: skype.Attach() # Let's see if we were started with a command line parameter.. try: CmdLine = sys.argv[1] except: print 'Missing command line parameter' sys.exit() # Creating Skype object and assigning event handlers.. skype = Skype4Py.Skype() skype.OnAttachmentStatus = OnAttach skype.OnCallStatus = OnCall # Starting Skype if it's not running already.. if not skype.Client.IsRunning: print 'Starting Skype..' skype.Client.Start() # Attatching to Skype.. print 'Connecting to Skype..' skype.Attach() # Make the call print 'Calling ' + CmdLine + '..' skype.PlaceCall(CmdLine) # Loop until CallStatus gets one of "call terminated" values in OnCall handler while not CallStatus in CallIsFinished: pass
5
ответ дан 25 July 2018 в 23:08
  • 1
    Привет. Это выглядит многообещающе. Предварительно, чтобы установить skype4py и проверить это, можете ли вы сказать мне в основном, что этот скрипт будет делать? т.е. я запускаю команду для получения результата? – emf 11 October 2010 в 09:28
  • 2
    Поместите его в файл callto.py, и вы можете запустить его с помощью python callto.py <phone-number>. Если ваш скайп подключен к сети, он начнет вызов с номером телефона & gt ;. – jneves 11 October 2010 в 16:12
  • 3
    Круто. Это отвечает желаемому результату, но я оставляю этот вопрос открытым, потому что я хотел бы услышать, возможно ли это с помощью обычных возможностей skype, результаты google, казалось, указывают на это. Однако, спасибо за ответ. – emf 14 October 2010 в 01:07
  • 4
    Удачи. Мои собственные поиски заставили меня поверить, что это что-то особенное для клиента Windows, но я бы хотел узнать об этом иначе. – jneves 15 October 2010 в 12:48
  • 5
    Я не думаю, что вы можете позвонить по номеру телефона из командной строки, просто используя skype. Каждый раз, когда вы вызываете skype из командной строки, он запускает новый экземпляр skype. Вы можете использовать только имя пользователя и пароль, используя --piped-login – Adi Roiban 8 November 2010 в 01:39

Несколько лет назад я написал небольшой скрипт Python, который делает это.

Это было для Linux-версии Skype. Поэтому я не могу быть уверен, что он все равно будет работать.

#!/usr/bin/python import Skype4Py import os os.system("/usr/bin/skype") # Create an instance of the Skype class. skype = Skype4Py.Skype() # Connect the Skype object to the Skype client. skype.Attach() # Obtain some information from the client and print it out. print 'Your full name:', skype.CurrentUser.FullName print 'Your contacts:' for user in skype.Friends: print ' ', user.FullName skype.PlaceCall("+44123456789")
0
ответ дан 25 July 2018 в 23:08

Да, если вы используете Skype4Py.

Я создал простой скрипт callto.py на основе примеров / callfriend.py из Skype4Py. В качестве аргумента требуется номер телефона или имя друга из списка skype.

Skype спросит вас, хотите ли вы предоставить API для Skype4Py.

Код следует:

#!python # --------------------------------------------------------------------------------------------- # Python / Skype4Py example that takes a skypename or number from the commandline # and calls it. # import sys import Skype4Py # This variable will get its actual value in OnCall handler CallStatus = 0 # Here we define a set of call statuses that indicate a call has been either aborted or finished CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished, Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]); def AttachmentStatusText(status): return skype.Convert.AttachmentStatusToText(status) def CallStatusText(status): return skype.Convert.CallStatusToText(status) # This handler is fired when status of Call object has changed def OnCall(call, status): global CallStatus CallStatus = status print 'Call status: ' + CallStatusText(status) # This handler is fired when Skype attatchment status changes def OnAttach(status): print 'API attachment status: ' + AttachmentStatusText(status) if status == Skype4Py.apiAttachAvailable: skype.Attach() # Let's see if we were started with a command line parameter.. try: CmdLine = sys.argv[1] except: print 'Missing command line parameter' sys.exit() # Creating Skype object and assigning event handlers.. skype = Skype4Py.Skype() skype.OnAttachmentStatus = OnAttach skype.OnCallStatus = OnCall # Starting Skype if it's not running already.. if not skype.Client.IsRunning: print 'Starting Skype..' skype.Client.Start() # Attatching to Skype.. print 'Connecting to Skype..' skype.Attach() # Make the call print 'Calling ' + CmdLine + '..' skype.PlaceCall(CmdLine) # Loop until CallStatus gets one of "call terminated" values in OnCall handler while not CallStatus in CallIsFinished: pass
5
ответ дан 27 July 2018 в 03:02
  • 1
    Привет. Это выглядит многообещающе. Предварительно, чтобы установить skype4py и проверить это, можете ли вы сказать мне в основном, что этот скрипт будет делать? т.е. я запускаю команду для получения результата? – emf 11 October 2010 в 09:28
  • 2
    Поместите его в файл callto.py, и вы можете запустить его с помощью python callto.py <phone-number>. Если ваш скайп подключен к сети, он начнет вызов с номером телефона & gt ;. – jneves 11 October 2010 в 16:12
  • 3
    Круто. Это отвечает желаемому результату, но я оставляю этот вопрос открытым, потому что я хотел бы услышать, возможно ли это с помощью обычных возможностей skype, результаты google, казалось, указывают на это. Однако, спасибо за ответ. – emf 14 October 2010 в 01:07
  • 4
    Удачи. Мои собственные поиски заставили меня поверить, что это что-то особенное для клиента Windows, но я бы хотел узнать об этом иначе. – jneves 15 October 2010 в 12:48
  • 5
    Я не думаю, что вы можете позвонить по номеру телефона из командной строки, просто используя skype. Каждый раз, когда вы вызываете skype из командной строки, он запускает новый экземпляр skype. Вы можете использовать только имя пользователя и пароль, используя --piped-login – Adi Roiban 8 November 2010 в 01:39

Несколько лет назад я написал небольшой скрипт Python, который делает это.

Это было для Linux-версии Skype. Поэтому я не могу быть уверен, что он все равно будет работать.

#!/usr/bin/python import Skype4Py import os os.system("/usr/bin/skype") # Create an instance of the Skype class. skype = Skype4Py.Skype() # Connect the Skype object to the Skype client. skype.Attach() # Obtain some information from the client and print it out. print 'Your full name:', skype.CurrentUser.FullName print 'Your contacts:' for user in skype.Friends: print ' ', user.FullName skype.PlaceCall("+44123456789")
0
ответ дан 27 July 2018 в 03:02

Несколько лет назад я написал небольшой скрипт Python, который делает такие вещи.

Это было для Linux-версии Skype. Поэтому я не могу быть уверен, что он все равно будет работать.

  #! / Usr / bin / python import Skype4Py import os os.system ("/ usr / bin / skype") # Создайте экземпляр  класса Skype.  skype = Skype4Py.Skype () # Подключить объект Skype к клиенту Skype.  skype.Attach () # Получить информацию от клиента и распечатать ее.  print 'Ваше полное имя:', skype.CurrentUser.FullName напечатать 'Ваши контакты:' для пользователя в skype.Friends: print '', user.FullName skype.PlaceCall ("+ 44123456789")  
0
ответ дан 2 August 2018 в 04:29

Да, если вы используете Skype4Py.

Я создал простой скрипт callto.py на основе примеров / callfriend.py из Skype4Py. В качестве аргумента требуется номер телефона или имя друга из списка skype.

Skype спросит вас, хотите ли вы предоставить API для Skype4Py.

Код следует:

   #! python # ----------------------------------------------  ----------------------------------------------- # Python /  Пример Skype4Py, который берет skypename или номер из командной строки # и вызывает его.  # import sys import Skype4Py # Эта переменная получит свое фактическое значение в обработчике OnCall CallStatus = 0 # Здесь мы определяем набор статусов вызовов, которые указывают, что вызов был либо прерван, либо завершен. CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished  , Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);  def AttachmentStatusText (status): return skype.Convert.AttachmentStatusToText (status) def CallStatusText (status): return skype.Convert.CallStatusToText (status) # Этот обработчик запускается, когда статус объекта Call был изменен def OnCall (вызов, статус):  global CallStatus CallStatus = статус print 'Статус вызова:' + CallStatusText (статус) # Этот обработчик запускается при изменении статуса привязки Skype def OnAttach (статус): print 'Статус присоединения API:' + AttachmentStatusText (статус), если status == Skype4Py.  apiAttachAvailable: skype.Attach () # Посмотрим, запущен ли мы с параметром командной строки. try: CmdLine = sys.argv [1] за исключением: print 'Отсутствует параметр командной строки' sys.exit () # Создание объекта Skype и  присваивание обработчиков событий. skype = Skype4Py.Skype () skype.OnAttachmentStatus = OnAttach skype.OnCallStatus = OnCall # Запуск Skype, если он еще не запущен. if not skype.Client.IsRunning: print 'Starting Skype ..' skype.Client  .Start () # Привязка к Skype .. print 'Подключение к S  kype .. 'skype.Attach () # Сделать вызов print' Calling '+ CmdLine +' .. 'skype.PlaceCall (CmdLine) # Зацикливать до тех пор, пока CallStatus не получит одно из значений «завершенных вызовами» в обработчике OnCall, а не CallStatus в CallIsFinished  : pass  
5
ответ дан 2 August 2018 в 04:29

Несколько лет назад я написал небольшой скрипт Python, который делает такие вещи.

Это было для Linux-версии Skype. Поэтому я не могу быть уверен, что он все равно будет работать.

  #! / Usr / bin / python import Skype4Py import os os.system ("/ usr / bin / skype") # Создайте экземпляр  класса Skype.  skype = Skype4Py.Skype () # Подключить объект Skype к клиенту Skype.  skype.Attach () # Получить информацию от клиента и распечатать ее.  print 'Ваше полное имя:', skype.CurrentUser.FullName напечатать 'Ваши контакты:' для пользователя в skype.Friends: print '', user.FullName skype.PlaceCall ("+ 44123456789")  
0
ответ дан 4 August 2018 в 21:01

Да, если вы используете Skype4Py.

Я создал простой скрипт callto.py на основе примеров / callfriend.py из Skype4Py. В качестве аргумента требуется номер телефона или имя друга из списка skype.

Skype спросит вас, хотите ли вы предоставить API для Skype4Py.

Код следует:

   #! python # ----------------------------------------------  ----------------------------------------------- # Python /  Пример Skype4Py, который берет skypename или номер из командной строки # и вызывает его.  # import sys import Skype4Py # Эта переменная получит свое фактическое значение в обработчике OnCall CallStatus = 0 # Здесь мы определяем набор статусов вызовов, которые указывают, что вызов был либо прерван, либо завершен. CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished  , Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);  def AttachmentStatusText (status): return skype.Convert.AttachmentStatusToText (status) def CallStatusText (status): return skype.Convert.CallStatusToText (status) # Этот обработчик запускается, когда статус объекта Call был изменен def OnCall (вызов, статус):  global CallStatus CallStatus = статус print 'Статус вызова:' + CallStatusText (статус) # Этот обработчик запускается при изменении статуса привязки Skype def OnAttach (статус): print 'Статус присоединения API:' + AttachmentStatusText (статус), если status == Skype4Py.  apiAttachAvailable: skype.Attach () # Посмотрим, запущен ли мы с параметром командной строки. try: CmdLine = sys.argv [1] за исключением: print 'Отсутствует параметр командной строки' sys.exit () # Создание объекта Skype и  присваивание обработчиков событий. skype = Skype4Py.Skype () skype.OnAttachmentStatus = OnAttach skype.OnCallStatus = OnCall # Запуск Skype, если он еще не запущен. if not skype.Client.IsRunning: print 'Starting Skype ..' skype.Client  .Start () # Привязка к Skype .. print 'Подключение к S  kype .. 'skype.Attach () # Сделать вызов print' Calling '+ CmdLine +' .. 'skype.PlaceCall (CmdLine) # Зацикливать до тех пор, пока CallStatus не получит одно из значений «завершенных вызовами» в обработчике OnCall, а не CallStatus в CallIsFinished  : pass  
5
ответ дан 4 August 2018 в 21:01

Несколько лет назад я написал небольшой скрипт Python, который делает такие вещи.

Это было для Linux-версии Skype. Поэтому я не могу быть уверен, что он все равно будет работать.

  #! / Usr / bin / python import Skype4Py import os os.system ("/ usr / bin / skype") # Создайте экземпляр  класса Skype.  skype = Skype4Py.Skype () # Подключить объект Skype к клиенту Skype.  skype.Attach () # Получить информацию от клиента и распечатать ее.  print 'Ваше полное имя:', skype.CurrentUser.FullName напечатать 'Ваши контакты:' для пользователя в skype.Friends: print '', user.FullName skype.PlaceCall ("+ 44123456789")  
0
ответ дан 6 August 2018 в 04:33

Да, если вы используете Skype4Py.

Я создал простой скрипт callto.py на основе примеров / callfriend.py из Skype4Py. В качестве аргумента требуется номер телефона или имя друга из списка skype.

Skype спросит вас, хотите ли вы предоставить API для Skype4Py.

Код следует:

   #! python # ----------------------------------------------  ----------------------------------------------- # Python /  Пример Skype4Py, который берет skypename или номер из командной строки # и вызывает его.  # import sys import Skype4Py # Эта переменная получит свое фактическое значение в обработчике OnCall CallStatus = 0 # Здесь мы определяем набор статусов вызовов, которые указывают, что вызов был либо прерван, либо завершен. CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished  , Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);  def AttachmentStatusText (status): return skype.Convert.AttachmentStatusToText (status) def CallStatusText (status): return skype.Convert.CallStatusToText (status) # Этот обработчик запускается, когда статус объекта Call был изменен def OnCall (вызов, статус):  global CallStatus CallStatus = статус print 'Статус вызова:' + CallStatusText (статус) # Этот обработчик запускается при изменении статуса привязки Skype def OnAttach (статус): print 'Статус присоединения API:' + AttachmentStatusText (статус), если status == Skype4Py.  apiAttachAvailable: skype.Attach () # Посмотрим, запущен ли мы с параметром командной строки. try: CmdLine = sys.argv [1] за исключением: print 'Отсутствует параметр командной строки' sys.exit () # Создание объекта Skype и  присваивание обработчиков событий. skype = Skype4Py.Skype () skype.OnAttachmentStatus = OnAttach skype.OnCallStatus = OnCall # Запуск Skype, если он еще не запущен. if not skype.Client.IsRunning: print 'Starting Skype ..' skype.Client  .Start () # Привязка к Skype .. print 'Подключение к S  kype .. 'skype.Attach () # Сделать вызов print' Calling '+ CmdLine +' .. 'skype.PlaceCall (CmdLine) # Зацикливать до тех пор, пока CallStatus не получит одно из значений «завершенных вызовами» в обработчике OnCall, а не CallStatus в CallIsFinished  : pass  
5
ответ дан 6 August 2018 в 04:33

Несколько лет назад я написал небольшой скрипт Python, который делает такие вещи.

Это было для Linux-версии Skype. Поэтому я не могу быть уверен, что он все равно будет работать.

  #! / Usr / bin / python import Skype4Py import os os.system ("/ usr / bin / skype") # Создайте экземпляр  класса Skype.  skype = Skype4Py.Skype () # Подключить объект Skype к клиенту Skype.  skype.Attach () # Получить информацию от клиента и распечатать ее.  print 'Ваше полное имя:', skype.CurrentUser.FullName напечатать 'Ваши контакты:' для пользователя в skype.Friends: print '', user.FullName skype.PlaceCall ("+ 44123456789")  
0
ответ дан 7 August 2018 в 22:42

Да, если вы используете Skype4Py.

Я создал простой скрипт callto.py на основе примеров / callfriend.py из Skype4Py. В качестве аргумента требуется номер телефона или имя друга из списка skype.

Skype спросит вас, хотите ли вы предоставить API для Skype4Py.

Код следует:

   #! python # ----------------------------------------------  ----------------------------------------------- # Python /  Пример Skype4Py, который берет skypename или номер из командной строки # и вызывает его.  # import sys import Skype4Py # Эта переменная получит свое фактическое значение в обработчике OnCall CallStatus = 0 # Здесь мы определяем набор статусов вызовов, которые указывают, что вызов был либо прерван, либо завершен. CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished  , Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);  def AttachmentStatusText (status): return skype.Convert.AttachmentStatusToText (status) def CallStatusText (status): return skype.Convert.CallStatusToText (status) # Этот обработчик запускается, когда статус объекта Call был изменен def OnCall (вызов, статус):  global CallStatus CallStatus = статус print 'Статус вызова:' + CallStatusText (статус) # Этот обработчик запускается при изменении статуса привязки Skype def OnAttach (статус): print 'Статус присоединения API:' + AttachmentStatusText (статус), если status == Skype4Py.  apiAttachAvailable: skype.Attach () # Посмотрим, запущен ли мы с параметром командной строки. try: CmdLine = sys.argv [1] за исключением: print 'Отсутствует параметр командной строки' sys.exit () # Создание объекта Skype и  присваивание обработчиков событий. skype = Skype4Py.Skype () skype.OnAttachmentStatus = OnAttach skype.OnCallStatus = OnCall # Запуск Skype, если он еще не запущен. if not skype.Client.IsRunning: print 'Starting Skype ..' skype.Client  .Start () # Привязка к Skype .. print 'Подключение к S  kype .. 'skype.Attach () # Сделать вызов print' Calling '+ CmdLine +' .. 'skype.PlaceCall (CmdLine) # Зацикливать до тех пор, пока CallStatus не получит одно из значений «завершенных вызовами» в обработчике OnCall, а не CallStatus в CallIsFinished  : pass  
5
ответ дан 7 August 2018 в 22:42

Да, если вы используете Skype4Py.

Я создал простой скрипт callto.py на основе примеров / callfriend.py из Skype4Py. В качестве аргумента требуется номер телефона или имя друга из списка skype.

Skype спросит вас, хотите ли вы предоставить API для Skype4Py.

Код следует:

   #! python # ----------------------------------------------  ----------------------------------------------- # Python /  Пример Skype4Py, который берет skypename или номер из командной строки # и вызывает его.  # import sys import Skype4Py # Эта переменная получит свое фактическое значение в обработчике OnCall CallStatus = 0 # Здесь мы определяем набор статусов вызовов, которые указывают, что вызов был либо прерван, либо завершен. CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished  , Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);  def AttachmentStatusText (status): return skype.Convert.AttachmentStatusToText (status) def CallStatusText (status): return skype.Convert.CallStatusToText (status) # Этот обработчик запускается, когда статус объекта Call был изменен def OnCall (вызов, статус):  global CallStatus CallStatus = статус print 'Статус вызова:' + CallStatusText (статус) # Этот обработчик запускается при изменении статуса привязки Skype def OnAttach (статус): print 'Статус присоединения API:' + AttachmentStatusText (статус), если status == Skype4Py.  apiAttachAvailable: skype.Attach () # Посмотрим, запущен ли мы с параметром командной строки. try: CmdLine = sys.argv [1] за исключением: print 'Отсутствует параметр командной строки' sys.exit () # Создание объекта Skype и  присваивание обработчиков событий. skype = Skype4Py.Skype () skype.OnAttachmentStatus = OnAttach skype.OnCallStatus = OnCall # Запуск Skype, если он еще не запущен. if not skype.Client.IsRunning: print 'Starting Skype ..' skype.Client  .Start () # Привязка к Skype .. print 'Подключение к S  kype .. 'skype.Attach () # Сделать вызов print' Calling '+ CmdLine +' .. 'skype.PlaceCall (CmdLine) # Зацикливать до тех пор, пока CallStatus не получит одно из значений «завершенных вызовами» в обработчике OnCall, а не CallStatus в CallIsFinished  : pass  
5
ответ дан 10 August 2018 в 10:48

Несколько лет назад я написал небольшой скрипт Python, который делает такие вещи.

Это было для Linux-версии Skype. Поэтому я не могу быть уверен, что он все равно будет работать.

  #! / Usr / bin / python import Skype4Py import os os.system ("/ usr / bin / skype") # Создайте экземпляр  класса Skype.  skype = Skype4Py.Skype () # Подключить объект Skype к клиенту Skype.  skype.Attach () # Получить информацию от клиента и распечатать ее.  print 'Ваше полное имя:', skype.CurrentUser.FullName напечатать 'Ваши контакты:' для пользователя в skype.Friends: print '', user.FullName skype.PlaceCall ("+ 44123456789")  
0
ответ дан 10 August 2018 в 10:48

Несколько лет назад я написал небольшой скрипт Python, который делает такие вещи.

Это было для Linux-версии Skype. Поэтому я не могу быть уверен, что он все равно будет работать.

  #! / Usr / bin / python import Skype4Py import os os.system ("/ usr / bin / skype") # Создайте экземпляр  класса Skype.  skype = Skype4Py.Skype () # Подключить объект Skype к клиенту Skype.  skype.Attach () # Получить информацию от клиента и распечатать ее.  print 'Ваше полное имя:', skype.CurrentUser.FullName напечатать 'Ваши контакты:' для пользователя в skype.Friends: print '', user.FullName skype.PlaceCall ("+ 44123456789")  
0
ответ дан 13 August 2018 в 17:23

Да, если вы используете Skype4Py.

Я создал простой скрипт callto.py на основе примеров / callfriend.py из Skype4Py. В качестве аргумента требуется номер телефона или имя друга из списка skype.

Skype спросит вас, хотите ли вы предоставить API для Skype4Py.

Код следует:

   #! python # ----------------------------------------------  ----------------------------------------------- # Python /  Пример Skype4Py, который берет skypename или номер из командной строки # и вызывает его.  # import sys import Skype4Py # Эта переменная получит свое фактическое значение в обработчике OnCall CallStatus = 0 # Здесь мы определяем набор статусов вызовов, которые указывают, что вызов был либо прерван, либо завершен. CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished  , Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);  def AttachmentStatusText (status): return skype.Convert.AttachmentStatusToText (status) def CallStatusText (status): return skype.Convert.CallStatusToText (status) # Этот обработчик запускается, когда статус объекта Call был изменен def OnCall (вызов, статус):  global CallStatus CallStatus = статус print 'Статус вызова:' + CallStatusText (статус) # Этот обработчик запускается при изменении статуса привязки Skype def OnAttach (статус): print 'Статус присоединения API:' + AttachmentStatusText (статус), если status == Skype4Py.  apiAttachAvailable: skype.Attach () # Посмотрим, запущен ли мы с параметром командной строки. try: CmdLine = sys.argv [1] за исключением: print 'Отсутствует параметр командной строки' sys.exit () # Создание объекта Skype и  присваивание обработчиков событий. skype = Skype4Py.Skype () skype.OnAttachmentStatus = OnAttach skype.OnCallStatus = OnCall # Запуск Skype, если он еще не запущен. if not skype.Client.IsRunning: print 'Starting Skype ..' skype.Client  .Start () # Привязка к Skype .. print 'Подключение к S  kype .. 'skype.Attach () # Сделать вызов print' Calling '+ CmdLine +' .. 'skype.PlaceCall (CmdLine) # Зацикливать до тех пор, пока CallStatus не получит одно из значений «завершенных вызовами» в обработчике OnCall, а не CallStatus в CallIsFinished  : pass  
5
ответ дан 13 August 2018 в 17:23
  • 1
    Привет. Это выглядит многообещающе. Предварительно, чтобы установить skype4py и проверить это, можете ли вы сказать мне в основном, что этот скрипт будет делать? т.е. я запускаю команду для получения результата? – emf 11 October 2010 в 09:28
  • 2
    Поместите его в файл callto.py , и вы можете запустить его с помощью python callto.py & lt; phone-number & gt; . Если ваш скайп подключен к сети, он начнет вызов с номером телефона & gt ;. – jneves 11 October 2010 в 16:12
  • 3
    Круто. Это отвечает желаемому результату, но я оставляю этот вопрос открытым, потому что я хотел бы услышать, возможно ли это с помощью обычных возможностей skype, результаты google, казалось, указывают на это. Однако, спасибо за ответ. – emf 14 October 2010 в 01:07
  • 4
    Удачи. Мои собственные поиски заставили меня поверить, что это что-то особенное для клиента Windows, но я бы хотел узнать об этом иначе. – jneves 15 October 2010 в 12:48
  • 5
    Я не думаю, что вы можете позвонить по номеру телефона из командной строки, просто используя skype. Каждый раз, когда вы вызываете skype из командной строки, он запускает новый экземпляр skype. Вы можете использовать только имя пользователя и пароль, используя --piped-login – Adi Roiban 8 November 2010 в 01:39

Другие вопросы по тегам:

Похожие вопросы: