 |
о программе • FAQ • история версий
загрузить • регистрация • обсудить на форуме
события
это то, на что в программе можно прописывать
реакцию из
команд, описаных на странице ниже
Во всех событиях можно задавать временные рамки: дату с/по, которая может быть опущена, дни недели, время с/по. Во всех событиях, связанных с номером, присутствует "список номеров реакции", который, впрочем, может быть и пустым. Некоторые вариации присутствуют, что будет описано ниже.
Диапазон сложного действия по времени позволяет задавать ограничения, например, такого "переподвыподверта": громкий сигнал на входящий звонок с 1 по 20 число этого месяца но только в будни и с семи утра до семи вечера. Ну или попроще - ежедневные периоды, кроме выходных, например, с семи утра до семи вечера громкий звонок на все номера, а второе событие - звонок потише с семи вечера до семи утра (т.е. на оборот) но только номерам родных и друзей.
Наступление определенного времени:
в параметрах данного события указывается первое время (время "срабатывания", второе игнорируется), ну и даты с/по (может быть опущена), а также дни недели. Дополнительным параметром может быть факт "КПК подключен к зарядке", "КПК не на зарядке", или параметр будет игнорирован. Остальные параметры игнорируются. Скрипт, описанный в поле "действия" данного события будет исполнен по наступлении определенного времени. Варианты применения:
-
будильник, т.е. воспроизвести сигнал в определённое время;
- будильник, но только если КПК находится на зарядке, например. Чтобы если сняли с зарядки - событие автоматически не происходило;
- установка высокой системной громкости и громкости звонка утром (а второе событие - установка "тишины" вечером);
- исходящий звонок на номер в определённое время + вторым событием в этом же диапазоне времени отбой при снятии трубки - эдакий дистанционный будильник;
- отправка SMS утром любимой девушке в точно назначеное время "Доброе утро, Любимая!".
Входящая SMS:
Срабатывает, как только к вам на покетофон приходит SMS. В параметрах данного события указываем, для какого списка номеров оно приписано, причем, кроме списка номеров можно выставлять условие "номер есть в вашей телефонной книге" или "номера нет в вашей телефонной книге".
Специальный параметр - "текст внутри сообщения":
это подстрока (пока просто подстрока), наличие которой внутри текста является дополнительным
условием срабатывания события в целом.
Событию задаётся также диапазон времени и условие подключения ко внешнему источнику питания.
Варианты применения:
- разносортный сигнал на входящие SMS: от группы "семья и друзья" это может быть громкая мелодия, от остальных - другим событием - тихий "пипи";
- автоответчик на входящую смс, причем с условиями - только нескольким из списка, или известным в телефонной книге, и/или по времени. Группируя такие события (их может быть несколько) можно получить сложные реакции, как то - всем чужим автоответ "пишите на емейл, телефон не со мной", а своим сообщение "на тренировке/в бане, перезвоню через некоторое время";
- реакция на определённый текст в SMS сообщении, например, сделав событие, где на слово "СРОЧНО" в сообщениях от группы "семья" может стоять совершенно другой, громкий и многоразово панически повторенный сигнал в любое время суток;
- огранизация SMS-форвардинга и SMS-чата между группой: наличие, например, слова "В ЧАТ!" внутри текста сообщения, и его принадлежность группе "друзья", может быть ассоциировано с действием
SEND_SMS_FORCED "<*друзья>" {НАШ ЧАТ: <%MESSAGE_STRIPPED%>},
что позволит переразослать обратно входяшую SMS всей группе;
- автоответчик-информатор, например, с определенного номера или группы с сообщением внутри SMS "INFORM":
SEND_SMS_FORCED {ИНФОРМИРУЮ: сейчас батарея: <%BATTERY_LEVEL%>, сигнал: <%SIGNAL_LEVEL%>},
также можно будет научить программу слать каку-либо информацию, например по запросу слова "PRICE" программа любому запрашивающему может ответить такое:
SEND_SMS_FORCED {Сейчас в наличии имеются пегие ($200) и бурые коровы ($300), длинношерстные ожидаются к концу недели по $1000},
- автоответчик "Я сейчас в розетке на зарядке, а значит, не с хозяином. Телефон." при условии, например, "КПК подключен к источнику питания".
Входящий звонок, только поступил:
Срабатывает, как только поступил входящий звонок, и он еще не снят, не пропущен, не положен. То есть пока ЗВЕНИТ (даже если молчка ;) ). В параметрах данного события указываем, для какого списка номеров оно приписано, причем, кроме списка номеров можно выставлять условие "номер есть в вашей телефонной книге" или "номера нет в вашей телефонной книге". Событию задаётся также диапазон времени и условие подключения ко внешнему источнику питания. Примечание: данное событие не срабатывает если происходит входящий звонок во время второго (см. ниже), на которое необходимо прописывать отдельную реакцию.
Варианты применения:
- разносортный сигнал на входящие звонки: от группы "семья и друзья" это может быть громкая мелодия, от остальных - другим событием - тихий "пипи", также может быть расписано по времени, и вести себя по разному в зависимости от того, на зарядке КПК или нет, есть ли абонент в вашей телефонной книге или нет (см. выше описание входящей смс, аналогично);
- немедленный отбой входящему звонку с нежелательной линии. Примечание: мгновенного сигнала занято не будет, т.к. пока покетофон обработает и проанализирует входящий звонок, успевает пройти 1 длинный гудок, но раз отбивать - так отбивать, и какая разница как ;), хотя я работаю над тем, чтобы это сделать как можно быстрее, возможно (но под вопросом) это удастся.
- автоответчик на входящий звонок с отбоем. т.е. отбили звонок и отправили смс сразу, и так далее.
Входящий звонок, снят:
Срабатывает, как только сняли входящий звонок. То есть начали разговор. Событию задаются также все остальные универсальные параметры.
Варианты применения:
- выборочный отзвон обратно: если на некоторых (определенных группой) номерах мы сняли трубку, в скрипте могут быть прописаны команды "положить трубку" и "позвонить обратно", правда, где существует плата за соединение у операторов, то такая процедура всёравно защитает звонок звонящему, но на пакетах только с посекундной тарификацией мы можем делать "управляемый CALL_BACK";
Входящий звонок, положен:
Срабатывает, как только положили входящий звонок, но только если он был снят, если не был снят - то это звонок "пропущен", и это следующее событие. Событию задаются также все остальные универсальные параметры.
Входящий звонок, пропущен:
Срабатывает, когда пропустили входящий звонок. То есть звонок пришел и без снятия трубки завершился (на покетофонах это в двух случаях - либо перестали нам звонить, либо мы сами нажали клавишу "положить трубку" во время входящего звонка/сигнала. Событию задаются также все остальные универсальные параметры.
Варианты применения:
- автоответ на пропущенные звонки - т.е., будем отвечать SMSкой только тем, с кем НЕ разговаривали - отбили или не сняли трубку - например, если это звонит группа "друзья", а телефон не с нами - после завершения входящего звонка ему уйдёт сообщение "в данный момент не у телефона, свяжусь как только смогу". Совет: создавайте группу "все мобильные телефоны", и для неё прописывайте такие события, т.к. ваш КПК будет пытаться отправить SMS на любые номера, если вы захотите автоотвечать "всем", но смысл в отправке сообщений на наземные телефоны (пока) отсутствует.
Входящий звонок, поступил во время разговора (второй звонок):
Срабатывает, когда поступил входящий звонок но в этот момент активен другой разговор (мы говорим по 2й линии). Событию задаются также все остальные универсальные параметры.
Варианты применения:
- автоответ звонящему "в данный момент разговариваю по другой линии, перезвоню или перезвоните позже". Совет: создавайте группу "все мобильные телефоны", и для неё прописывайте такие события, т.к. ваш КПК будет пытаться отправить SMS на любые номера, если вы захотите автоотвечать "всем", но смысл в отправке сообщений на наземные телефоны (пока) отсутствует..
Исходящий звонок, только набран:
Срабатывает, как только наш покетофон начал делать исходящий звонок. Событию задаются также все остальные универсальные параметры.
Исходящий звонок, снят:
Срабатывает, как только сняли наш исходящий звонок, то есть мы начали разговор. Событию задаются также все остальные универсальные параметры.
Варианты применения:
- на 2003х винде, где система во время разговора разрешала вибросигнал, можно было поставить вибру, чтобы, если не держать у уха телефон, ощутить, что вызываемая сторона сняла трубку;
Исходящий звонок, положен:
Срабатывает, когда мы завершаем исходящий звонок, который состоялся (был снят). Событию задаются также все остальные универсальные параметры.
Исходящий звонок, занято:
Срабатывает, если при исходящем звонке получен сигнал "занято". Событию задаются также все остальные универсальные параметры.
Варианты применения:
- автодозвон: можно заставить КПК повторить набор номера снова, с заданием в скриптах количества попыток и временных интервалов;
- сопроводительная SMS, например, "я тебе звонил в <%TIME%>, а утебя занято и занято - позвони мне сам, как освободишься.";
Исходящий звонок, отклонён:
Срабатывает, если исходящий звонок прервали мы сами, т.е. нажали "положить трубку", а соединения так и не состоялось. Событию задаются также все остальные универсальные параметры.
Варианты применения:
- сопроводительная SMS, например, "я тебе звонил в <%TIME%>, а ты мне не ответил :)";
Изменения заряда батареи (пока не реализовано, не работает):
в процессе, в планах реализации.
Изменения сигнала сети (пока не реализовано, не работает):
в процессе, в планах реализации.
команды
кавычки ("), фигурные скобки ({,}), процент (%), знаки больше/меньше (<,>)
в синтаксисе ниже являются обязательными частями комманд, а не сокращениями.
SMS:
SEND_SMS {autoAnswerMsgText}
отправляет текст из фигурных скобок на текущий номер активного события (т.е. если у нас эта команда записана в событии "входящий звонок, пропущен" или "входящая смс" то текст автоответа будет отправлен на номер, с которого пришел звонок или смс. Поведение команды будет неопределённым, если её написать в событии, где нет "номера", т.е. например в "наступлении определенного времени".
SEND_SMS "+phone" {msgTextToSendOnPhone}
аналогично, только с заданием НОМЕРА телефона, на который будет отправлено это сообщение, т.е. например, вы можете на все звонки создать реакцию:
SEND_SMS_FORCED "+ваш второй номер "
{в <%TIME%> мне звонил <%FULLNAME_FROM%>
с номера: <%NUMBER_FROM%>}
таким образом, сделав ваш КПК, например, оставленный дома (вдруг надо) информатором вам на ваш другой номер, кто и когда звонил.
SEND_SMS "<phonesList>" {msgTextToSendForList}
аналогично, только рассылает SMS на список номеров (список - это имя из ваших "групп номеров" в программе). Например, для рассылок, или sms-чата, прочего (см. пример в событиях).
SEND_SMS_FORCED {autoAnswerMsgText}
SEND_SMS_FORCED"+phone" {msgTextToSendOnPhone}
SEND_SMS_FORCED"<phonesList>" {msgTextToSendForList}
данные команды аналогичны описаным выше, а добавка _FORCED означает, что SMS будет отправлена в любом случае, не зависимо от того, включена ли в программе блокировка по отправке дублирующихся сообщений на тот же номер в том же событии или нет и была ли уже отправка сообщения на тот же номер в том же событии. Например:
Автоответ на кадую входящую SMS ("спасибо, сообщение получил"), иначе, если использовать обычную отправку, уйдёт только одно сообщение на первую SMS тому же человеку и всё.
Автоответ во время второго входящего звонка ("разговариваю по второй линии, перезвоните позже"). Если тут использовать команды обычной отправки, человек получит сообщение, что "разговариваю по 2й линии" только один раз, и если перезвонит через некоторое время, автоответ ему уже не пошлётся. Это, правда, актуально, если у программы включена функция блокировки повторных SMS - но это делать я советую обязательно, чтобы исключить SMS-циклы (а оно и включено по умолчанию).
сигналы:
THIS_RING {"file"}
основная команда "звонка" - играет wav и wma файлы, а также на некоторых более современных прошивках КПК (последние AKU) играет mid и наверняка будет играть mp3, если сама WM будет их поддерживать в качестве звонков. Путь к файлу может быть либо абсолютным ("\Windows\Default.wma") либо только имя файла с путём по умолчанию, который есть папка sounds в полкаталоге программы. Примечание: играть файлы с карты памяти программа может, но некоторые КПК размонтируют карту на время отключения КПК, потому могут быть сбои - пробуйте, если интересно.
THIS_RING {volume1-100,"file"}
то же самое, только с принудительным заданием громкости (после звонка она восстановится в старую, пусть даже в ноль), не зависимо от текущей системной, например, для всегда важных звонков:
THIS_RING {100,"melody1.wma"}
RING {"file"}
устарела...
RING {volume1-100,"file"}
устарела...
VIBRATE {vpv2p2v}
вибрирует заданую ритм-последовательность из v (вибрация включена) и p - пауза, выключена, где цифра в конце задаёт длительность либо вибрации либо паузы.
PLAY {"file"}
воспроизведение wav-файла
PLAY {"file",loops0-100}
воспроизведение wav-файла с заданием числа повторов
PLAY {volume1-100,"file"}
воспроизведение wav-файла с принудительной установкой и восстановлением громкости для данного момента
PLAY {volume1-100,"file",loops0-100}
воспроизведение wav-файла с громкостью и заданием числа повторов
громкость:
VOLUME {0-100}
изменяет системную громкость. На современных покетофонах всего 6 (включая нулевой) уровней громкости, так что 100% это 5й уровень, и соответственно, 0% - это нулевой. Использовать эту команду можно в будильниках и вечерних событиях, например, чтобы покетофон переводился утром в полную громкость (или среднюю, что лучше ;) ) а вечером - в полную тишину.
RING_VOLUME {0-100}
то же самое, только не громкости событий системы, а громкости общего системного звонка
THIS_RING_VOLUME {0-100}
тоже самое, только с ограничением по текущему событию (звонку), т.е. для выборочного задания громкости для некоторых входящих звонков (это если мелодию не надо менять, но обычно используется команда THIS_RING)
упр.звонком и телефоном:
PHONE {ON/OFF}
отключение и включение телефонного модуля. Например, в утреннем "будильнике" можно выставить: PHONE {ON} а в вечернем - наоборот, и телефонный модуль у КПК будет на ночь тихонько отключаться - что сэкономит батарею (если надо) и сохранит покой (если, тоже, надо).
SCREEN {ON/OFF}
включает/выключает экран у КПК. Если установить например данную команду в событии "исходящий звонок, соединен", то как только мы начнём разговаривать - КПК выключит автоматически экран для экономии и предотвращения случайных нажатий на дигитайзер.
BUTTON_OFF
имитирует нажатие кнопки выключения КПК
CALL_HANG
отбивает звонок, но продолжает его обрабатывать как пропущенный (если были автоответы sms в других событиях - они сработают)
CALL_HANG_NOAA
отбивает как команда выше, но не обрабатывает дальше ни событий автоответа ни прочих по текущему событию
ANSWER
автоматически снимает трубку звонку, начиная разговор
DIAL "+number" {pauseSec,numOfTries}
звонок на номер, с паузой между наборами и количеством попыток
DIAL_BACK {pauseSec}
обратный звонок на текущий номер из события, с паузой
DIAL_BACK {pauseSec,numOfTries}
обратный звонок на текущий номер из события, с паузой и количеством попыток
DIAL_BACK_QUESTION {pauseSec}
обратный звонок с подтверждением у пользователя на текущий номер из события, с паузой
DIAL_BACK_QUESTION {pauseSec,numOfTries}
обратный звонок с подтверждением у пользователя на текущий номер из события, с паузой и количеством попыток (например, для организации автодозвона)
прочие:
CHANGE_PROFILE "profileName"
меняет профиль на другой (например, утром, или по входящей SMS). Таким образом, можно управлять целыми пачками реакций, чтобы не прописывать несколько одинаковых событий, с перекрытием диапазонов времени, можно сделат два профиля "день" и "ночь", которые будут автоматически (по событию "наступление определенного времени" внутри себя) исполнять эту команду и передавать управление другому профилю.
PAUSE {milliseconds}
для отладки - делает паузу между исполнением команд в скрипте-реакции в миллисекундах (до 1000, т.е. до одной секунды). Использовать большие, несколько подряд, пауз не рекомендуется, т.к. может привести к сбоям, но команда и есть для отладки.
RUN "programmFile" "arguments"
исполняет заданную программу с аргументами (обязательный параметр, потому задавайте там пробел в кавычках, если параметров нет), например:
RUN "\Windows\calc.exe" " "
макросы-элементы сообщений
дата/время:
<%DATE%>
подменяется в тексте сообщения на текущую дату в цифровом формате
<%DATE_LONG%>
подменяется в тексте сообщения на текущую дату в текстовом (длинном) формате
<%TIME%>
подменяется в тексте сообщения на текущее время в цифровом формате
<%TIME_LONG%>
подменяется в тексте сообщения на текущее время в текстовом (длинном) формате
информация о пользователях:
<%MESSAGE_STRIPPED%>
подменяется на текст сообщения, за исключением служебного слова (из параметра события "наличие определенной подстроки в SMS)
<%MESSAGE_FULL%>
подменяется на полный текст входящего SMS сообщения (т.е. можно переслать входящее сообщение снова дальше - причем, списку абонентов)
<%NUMBER_FROM%>
подменяется на номер, от которого было "событие"
<%NUMBER_TO%>
подменяется на номер, которому пишется сообщение (даже если рассылка идёт списку, в данном случае это будет всё равно номер абонента из списка)
<%LIST_TO%>
подменяется на все телефоны из списка, которому пишется сообщение (если таковой есть и условия события правильны)
<%FIRSTNAME_FROM%>
подменяется на имя (если абонент есть в адрессной книге) - т.е. можно SMS-автоответ абонентам из адресной книги (установив соотв. галочку в событии) слать персональный, например:
SEND_SMS_FORCED {<%FIRSTNAME_FROM%>, я сейчас не могу ответить, свяжемся позже.}
<%LASTNAME_FROM%>
подменяется на фамилию, аналогично как выше
<%FULLNAME_FROM%>
подменяется на полное имя, аналогично как выше
прочие:
<%BATTERY_LEVEL%>
подменяется на текущий уровень заряда батареи в процентах
<%SIGNAL_LEVEL%>
подменяется на текущий уровень сигнала сети в процентах
максросы можем наращивать и расширять - пишите идеи в форум.
|