Sh - это оболочка для запуска команд, поэтому выполнение sh с sudo дает вам корневую оболочку. Это означает, что все команды в этой оболочке выполняются как root. Я предполагаю, что скрипт выполняет что-то еще, что требует root, но когда вы используете только sudo not sudo sh, что что-то еще выполняется как обычный пользователь, однако с sh все будет выполняться как root.
Очень просто:
$> 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 была двоеточием, а не пробелом ...)
Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:
skype --callto +14445551234
Вы можете просмотреть другие параметры, введя следующую команду в терминале
skype --help
Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:
skype --callto +14445551234
Вы можете просмотреть другие параметры, введя следующую команду в терминале
skype --help
Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:
skype --callto +14445551234
Вы можете просмотреть другие параметры, введя следующую команду в терминале
skype --help
Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:
skype --callto +14445551234
Вы можете просмотреть другие параметры, введя следующую команду в терминале
skype --help
Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:
skype --callto +14445551234
Вы можете просмотреть другие параметры, введя следующую команду в терминале
skype --help
Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:
skype --callto +14445551234
Вы можете просмотреть другие параметры, введя следующую команду в терминале
skype --help
Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:
skype --callto +14445551234
Вы можете просмотреть другие параметры, введя следующую команду в терминале
skype --help
Очень просто:
$ & 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 была двоеточие вместо пробела ...)
Да, если вы используете 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
Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:
skype --callto +14445551234
Вы можете просмотреть другие параметры, введя следующую команду в терминале
skype --help
Несколько лет назад я написал небольшой скрипт 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")
Вы можете написать сценарий bash без использования какого-либо API. Ваше использование неверно. Правильный способ:
skype --callto +14445551234
Вы можете просмотреть другие параметры, введя следующую команду в терминале
skype --help
Да, если вы используете 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
Несколько лет назад я написал небольшой скрипт 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")
Да, если вы используете 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
Несколько лет назад я написал небольшой скрипт 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")
Несколько лет назад я написал небольшой скрипт 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")
Да, если вы используете 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
Несколько лет назад я написал небольшой скрипт 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")
Да, если вы используете 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
Несколько лет назад я написал небольшой скрипт 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")
Да, если вы используете 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
Несколько лет назад я написал небольшой скрипт 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")
Да, если вы используете 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
Да, если вы используете 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
Несколько лет назад я написал небольшой скрипт 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")
Несколько лет назад я написал небольшой скрипт 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")
Да, если вы используете 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
callto.py
, и вы можете запустить его с помощью python callto.py & lt; phone-number & gt;
. Если ваш скайп подключен к сети, он начнет вызов с номером телефона & gt ;.
– jneves
11 October 2010 в 16:12