Найти - Пользователи
Полная версия: Автозвонилка на pys60
Начало » Mobile Python » Автозвонилка на pys60
1
Adis
Здравствуйте, питонеры. Начал изучать язык недавно. Нужна была программа - автозвонилка, которая бы постоянно звонила автоматически. Каждый может использовать её как хочет, но у меня отдельное применение.

Мне нужно было: 1. Дозвониться до определенного номера. 2. По происшествии некоторого времени телефон должен был сброситься. 3. Через некоторое время должен повторить эту операцию.

п1. у меня получился без проблем.
п2. “duration” т.е. продолжительность звонка я не смог прикрутить.
п3. цикл while сделал

вот 2 кода:
1-й звонит, через 18 секунд сбрасывает трубку. Что плохо он автоматом сбрасывает, т.е. продолжительность звонка не указывается.
2-й звонит, сбрасывает тогда, когда нужно. Но интервал между операциями не указывается, автоматом. Но когда вызываемый абонент занят, то питон просто-напросто зависает. Приходиться перезагружать.

Помогите доделать скрипт до такого состояния как в ZM Dialer под WM - http://4pda.info/news/6652/
Хотя бы нужно без gui.

1-й код:
import telephone, e32, appuifw
n=appuifw.query(u"Enter number", "number")

while 1:
try:
telephone.dial(str(n))
e32.ao_sleep(5)
telephone.hang_up()
e32.ao_sleep(15)
except:
pass
2-й код:
import telephone, e32, appuifw
n=appuifw.query(u"Enter number", "number")
duration = appuifw.query(u"duration", "number")
def handle_hang_up(status):
try:
if status[0] == telephone.EStatusConnected:
e32.ao_sleep(float(duration), telephone.hang_up)
except:
pass
telephone.call_state(handle_hang_up)

while 1:
try:
telephone.dial(str(n))
e32.ao_sleep(15)
except:
pass
R.Ll.S.h57
попробуй это
import telephone, e32, appuifw
number=appuifw.query(u'Enter number','text')
duration=appuifw.query(u'Duration','time')/60
interval=appuifw.query(u'Interval','time')/60

def handle_call_state(state):
if state[0]==telephone.EStatusConnected:
e32.ao_sleep(duration,telephone.hang_up)
elif state[0]==telephone.EStatusIdle:
e32.ao_sleep(interval)
telephone.dial(number)

telephone.call_state(handle_call_state)
telephone.dial(number)
Adis
R.Ll.S.h57
Спасибо! Щас потестю.
Adis
Отлично! Работает. Как-нибудь надо гуи сделать и в сис'е cделать
Adis
Тут одна проблемка есть, когда вызываемый абонент занят/недоступен, то телефон не перезванивает.
dndids
R.Ll.S.h57
попробуй это
import telephone, e32, appuifw
number=appuifw.query(u'Enter number','text')
duration=appuifw.query(u'Duration','time')/60
interval=appuifw.query(u'Interval','time')/60

def handle_call_state(state):
if state[0]==telephone.EStatusConnected:
e32.ao_sleep(duration,telephone.hang_up)
elif state[0]==telephone.EStatusIdle:
e32.ao_sleep(interval)
telephone.dial(number)

telephone.call_state(handle_call_state)
telephone.dial(number)
Андрей, очень большая просьба к вам.

Пожалуйста, подкорректируйте эту программку под такую задачу:

1. Вводим номер куда звонить
2. Вводим кол-во циклов (раз) звонков на этот номер
3. Продолжительность звонка: здесь нужно, чтобы это было не постоянное время, чтобы оно менялось автоматически (что-то типа случайного числа). Но мы указываем интервал “от” и “до”. К примеру указываем от 03.00 минут до 15.00 минут, и как-то с применением случайного числа (но в заданном промежутке) выбирается продолжительность звонка.
4. Вводим интервал между звонками.


Заранее очень вам благодарен.
R.Ll.S.h57
Наверно будет лучше отправить по email.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB