Author Topic: Чтение СМС с последующим фильтром нужной цифры  (Read 1315 times)

0 Members and 1 Guest are viewing this topic.

klbng

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Уже не первый день колдую с попытками прочитать СМС и отфильтровать именно нужную цифру.

Идея такая: кликер должен принять СМС от сбербанка вида "ECMC1111 19:55 зачисление 777.77р Баланс: 1000.77р" (суммы могут быть и целыми) и работать именно с зачисленной суммой.

Что удалось наработать:
1. Сим-карта стоит в модеме huawei hilink (COM-порты закрыты), можно зайти непосредственно на страницу сообщений http://192.168.5.1/html/smsinbox.html и открыть сообщение, либо скопировать текст сразу в окне. Привязаться к окну открытого сообщения у меня не получилось. В общем, способ работы через веб-интерфейс я пока отмел.

2. Простым скриптом для PhantomJS можно вытянуть весь код страницы (около 250 строк кликером насчитал), в котором будет так же и текст сообщения.
Потом кликером можно вытащить именно нужную строчку в отдельный файл.
Code: [Select]
$str2 = "ение" // слово для поиска (кодировка сбивается, но для фильтрации норм)
 
FOR($a=1,$a<TFCOUNT ("D:\CLICKER32\phantomjs\bin\192168.txt"))
   $str = TFREAD ("D:\CLICKER32\phantomjs\bin\192168.txt", $a)
   IF(STRPOS($str, $str2) > 0)
      TFWRITE("D:\CLICKER32\phantomjs\bin\output.txt", $str)
//TOCLIP($str)
     
   END_IF
   print("cycle")
   print($str)
END_CYC
print("end")
HALT

Результат получается примерно такой:
                           
Code: [Select]
<script type="text/javascript">create_button(sms_label_new_message,'message');</script><span class="button_wrapper" id="span_message"><input id="message" class="button_dialog " type="button" value="Новое сообщение"></span>
    </tr><tr class="sms_list_tr"><td width="50" class="sms_td"><input type="checkbox" name="checkbox" value="40000"></td><td class="td_pl sms_phone_width"><table border="0" cellpadding="0" class="sms_msg" cellspacing="0"><tbody><tr><td><span id="smsReadStates40000" class="msg_icon read_state1 ">&nbsp;</span></td><td class="sms_phone_number">+79275195391;<br></td></tr></tbody></table></td><td class="td_pl sms_content_width"><pre class="sms_content clr_blue_a">Привет зачисление 500 рублей РїРѕРєР°</pre></td><td class="td_pl sms_date_width"><label>2021-05-02 14:08:15</label></td></tr>

И именно    "ение 500" - это "зачислено 500".

Проблем, собственно, пока две:
1. Как наладить фильтр именно на нужную сумму
2. Как удалить СМС после прочтения (я смотрел в сторону adb команд, но пока не нашел ответа)