Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 13.43 KB | None | 0 0
  1. #include <IE.au3>
  2. #include <String.au3>
  3. #include <Array.au3>
  4. #include <Date.au3>
  5. #include <File.au3>
  6. #include <Inet.au3>
  7. #include <DDEML.au3>
  8. #include <DDEMLClient.au3>
  9. #include <GUIConstantsEx.au3>
  10. #include <WindowsConstants.au3>
  11. #include <StaticConstants.au3>
  12. #include <ButtonConstants.au3>
  13. #include <EditConstants.au3>
  14.  
  15.  
  16. $sett_file1 = FileOpen(@ScriptDir & '\settings.txt', 0)
  17.  
  18. $str_login = FileReadLine($sett_file1, 3)
  19.  
  20. $str_login_m = _StringBetween($str_login, '[login_akk=]', '[/login_akk]')
  21.  
  22. $str_login_ok = $str_login_m[0]
  23.  
  24.  
  25.  
  26. $str_pass = FileReadLine($sett_file1, 4)
  27.  
  28. $str_pass_m2 = _StringBetween($str_pass, '[pass_akk=]', '[/pass_akk]')
  29.  
  30. $str_pass_ok = $str_pass_m2[0]
  31.  
  32. FileClose($sett_file1)
  33.  
  34.  
  35. $osn_gui = GUICreate("WACT", 200, 180, -1, -1)
  36.  
  37. GUICtrlCreateLabel("Логин: ", 10, 10)
  38.  
  39. $log = GUICtrlCreateInput($str_login_ok, 80, 6, 110, 22, $WS_EX_CLIENTEDGE)
  40.  
  41. GUICtrlCreateLabel("Пароль: ", 10, 40)
  42.  
  43. $pass = GUICtrlCreateInput($str_pass_ok, 80, 36, 110, 22, $WS_EX_CLIENTEDGE) ;$WS_EX_DLGMODALFRAME
  44.  
  45. $iRadio_1 = GUICtrlCreateRadio("Все подряд", 20, 70, 100, 20)
  46. $iRadio_2 = GUICtrlCreateRadio("По списку", 100, 70, 100, 20)
  47.  
  48. GUICtrlSetState($iRadio_2, $GUI_CHECKED)
  49.  
  50. $Button_1 = GUICtrlCreateButton("Войти", 25, 135, 72, 30, $BS_FLAT)
  51.  
  52. $Button_no_pass = GUICtrlCreateButton("Я не хочу вводить пароль!", 25, 98, 150, 24, $BS_MULTILINE)
  53.  
  54. $Button_settings = GUICtrlCreateButton("Настройки", 101, 135, 72, 30, $BS_FLAT)
  55.  
  56. GUISetState(@SW_SHOW)
  57.  
  58. While 1
  59.    Switch GUIGetMsg()
  60.       Case $GUI_EVENT_CLOSE
  61.          Exit
  62.       Case $Button_no_pass
  63.          MsgBox(64,'','Если Вы по каким-либо причинам не хотите вводить пароль в программу, откройте браузер internet explorer, войдите в нём в свой аккаунт и сверните браузер.')
  64.       Case $Button_1
  65.          If GUICtrlRead ( $iRadio_1  ) = $GUI_CHECKED then
  66.             $type = 1
  67.          ElseIf GUICtrlRead ( $iRadio_2  ) = $GUI_CHECKED then
  68.             $type = 2
  69.          EndIf
  70.          $ipass = '' & GUICtrlRead($pass)
  71.          $ilog = '' & GUICtrlRead($log)
  72.  
  73.          $all_file_text_s = FileRead (@ScriptDir & "\settings.txt")
  74.  
  75.          $str_in_log = FileReadLine(@ScriptDir & "\settings.txt", 3)
  76.  
  77.          $str_in_log2 = FileReadLine(@ScriptDir & "\settings.txt", 4)
  78.  
  79.          $all_file_text_s_new = StringReplace($all_file_text_s, $str_in_log, "[login_akk=]" & $ilog & "[/login_akk]")
  80.  
  81.          $all_file_text_s_new2 = StringReplace($all_file_text_s_new, $str_in_log2, "[pass_akk=]" & $ipass & "[/pass_akk]")
  82.  
  83.          $Filee2 = FileOpen(@ScriptDir & "\settings.txt", 2)
  84.  
  85.          FileWrite($Filee2, $all_file_text_s_new2)
  86.  
  87.          FileClose($Filee2)
  88.          
  89.          GUISetState(@SW_ENABLE, $osn_gui)
  90.          ;GUIDelete($osn_gui)
  91.  
  92.          ExitLoop
  93.       Case $Button_settings
  94.  
  95.          $sett_file2 = FileOpen(@ScriptDir & '\settings.txt', 0)
  96.          $str_check_task = FileReadLine($sett_file2, 1)
  97.          $str_check_task_m = _StringBetween($str_check_task, '[check_task=]', '[/check_task]')
  98.          $str_check_task_ok = $str_check_task_m[0]
  99.  
  100.          $str_text_task = FileReadLine($sett_file2, 5)
  101.          $str_text_task_m = _StringBetween($str_text_task, '[text_task=]', '[/text_task]')
  102.          $str_text_task_ok = $str_text_task_m[0]
  103.  
  104.          $str_sleep_rekl = FileReadLine($sett_file2, 6)
  105.          $str_sleep_rekl_m = _StringBetween($str_sleep_rekl, '[sleep_rekl=]', '[/sleep_rekl]')
  106.          $str_sleep_rekl_ok = $str_sleep_rekl_m[0]
  107.  
  108.          FileClose($sett_file2)
  109.  
  110.  
  111.  
  112.          $settings_gui = GUICreate("WACT | Настройки", 260, 210, -1, -1)
  113.  
  114.          GUICtrlCreateLabel("Первый ID для поиска заданий:", 10, 10)
  115.  
  116.          $id_vs = GUICtrlCreateInput($str_check_task_ok, 10, 31, 110, 22, $ES_NUMBER, $WS_EX_CLIENTEDGE)
  117.  
  118.          GUICtrlCreateLabel("Текст, отправляемый в подтверждение:", 10, 60)
  119.  
  120.          $text_vs = GUICtrlCreateInput($str_text_task_ok, 10, 81, 110, 22, $WS_EX_CLIENTEDGE)
  121.  
  122.          GUICtrlCreateLabel("Минимальная неактивность", 10, 110)
  123.          GUICtrlCreateLabel("рекламодателя (дней):", 10, 125)
  124.  
  125.          $s_rekl_vs = GUICtrlCreateInput($str_sleep_rekl_ok, 10, 146, 120, 22, $ES_NUMBER, $WS_EX_CLIENTEDGE)
  126.  
  127.          $Button_ok_set = GUICtrlCreateButton("Ок", 110, 175, 50, 25, $BS_PUSHLIKE)
  128.  
  129.          GUISetState(@SW_SHOW)
  130.  
  131.  
  132.          While 1
  133.             Switch GUIGetMsg()
  134.             Case $GUI_EVENT_CLOSE
  135.                ExitLoop
  136.             Case $Button_ok_set
  137.                $id_taskk = '' & GUICtrlRead($id_vs)
  138.  
  139.                $text_task = '' & GUICtrlRead($text_vs)
  140.  
  141.                $rekl_sleep = '' & GUICtrlRead($s_rekl_vs)
  142.  
  143.                $all_file_set_task = FileRead (@ScriptDir & "\settings.txt")
  144.  
  145.                $str_check_task = FileReadLine(@ScriptDir & "\settings.txt", 1)
  146.                $str_text_task = FileReadLine(@ScriptDir & "\settings.txt", 5)
  147.                $str_sleep_rekl = FileReadLine(@ScriptDir & "\settings.txt", 6)
  148.  
  149.                $all_file_set_task_new = StringReplace($all_file_set_task, $str_check_task, "[check_task=]" & $id_taskk & "[/check_task]")
  150.                $all_file_set_task_new2 = StringReplace($all_file_set_task_new, $str_text_task, "[text_task=]" & $text_task & "[/text_task]")
  151.                $all_file_set_task_new3 = StringReplace($all_file_set_task_new2, $str_sleep_rekl, "[sleep_rekl=]" & $rekl_sleep & "[/sleep_rekl]")
  152.  
  153.                $Filee3 = FileOpen(@ScriptDir & "\settings.txt", 2)
  154.                FileWrite($Filee3, $all_file_set_task_new3)
  155.                FileClose($Filee3)
  156.  
  157.                MsgBox(0,'','Сохранено')
  158.  
  159.                ExitLoop
  160.             EndSwitch
  161.          WEnd
  162.  
  163.          GUISetState(@SW_ENABLE, $settings_gui)
  164.          GUIDelete($settings_gui)
  165.  
  166.  
  167.    EndSwitch
  168. WEnd
  169.  
  170.  
  171. $sett_file = FileOpen(@ScriptDir & '\settings.txt', 0)
  172.  
  173. $sett_file_f = FileReadLine($sett_file, 5)
  174.  
  175. $sett_file_m = _StringBetween($sett_file_f, '[text_task=]', '[/text_task]')
  176.  
  177. $text_task_ok = $sett_file_m[0]
  178.  
  179.  
  180.  
  181. $sett_file_f2 = FileReadLine($sett_file, 6)
  182.  
  183. $sett_file_m2 = _StringBetween($sett_file_f2, '[sleep_rekl=]', '[/sleep_rekl]')
  184.  
  185. $r_day = $sett_file_m2[0]
  186.  
  187. FileClose($sett_file)
  188.  
  189.  
  190. Func _FileDeleteLine($sFile, $iLine)
  191.    $hFile = FileOpen($sFile, 0)
  192.    If $hFile = -1 Then Return SetError(1, 0, 0)
  193.  
  194.    $sFileContent = ""
  195.    $aFileContent = StringSplit(StringStripCR(FileRead($hFile)), @LF)
  196.  
  197.    FileClose($hFile)
  198.  
  199.    For $i = 1 To $aFileContent[0]
  200.         If $i <> $iLine Then $sFileContent &= $aFileContent[$i] & @CRLF
  201.    Next
  202.  
  203.    $hFile = FileOpen($sFile, 2)
  204.    If $hFile = -1 Then Return SetError(2, 0, 0)
  205.  
  206.    FileWrite($hFile, StringTrimRight($sFileContent, 2))
  207.    Return FileClose($hFile)
  208. EndFunc
  209.  
  210. ;---------------------------------------------------------------------------------------------------------------------------------------------
  211.  
  212. ;_FileDeleteLine(@ScriptDir & '\now_id.txt', 4)
  213.  
  214. If $type = 1 Then
  215.  
  216.    $id_task_file = FileOpen(@ScriptDir & '\settings.txt', 0)
  217.  
  218.    $id_task_f = FileReadLine($id_task_file, 1)
  219.  
  220.    $id_task_m = _StringBetween($id_task_f, '[check_task=]', '[/check_task]')
  221.  
  222.    $id_task = $id_task_m[0]
  223.  
  224.    $oIE = _IECreate("http://wmmail.ru/",0,1,0)
  225.  
  226.    FileClose($id_task_file)
  227.  
  228.    While 1
  229.       _IENavigate ($oIE, "http://wmmail.ru//index.php?cf=uzd-readtask&zdid=" & $id_task)
  230.  
  231.       _IELoadWait($oIE)
  232.  
  233.       ;Sleep(50)
  234.  
  235.       $sText = _IEBodyReadText ($oIE)
  236.       While 1
  237.          $sText = _IEBodyReadText ($oIE)
  238.          If StringInStr($sText, 'московскому') And StringInStr($sText, 'тех') And StringInStr($sText, 'работы') And StringInStr($sText, '4:20') Then
  239.             sleep(5000)
  240.             _IENavigate ($oIE, "http://wmmail.ru/")
  241.             _IELoadWait($oIE)
  242.          Else
  243.             ExitLoop
  244.          EndIf
  245.       WEnd
  246.  
  247.       If StringInStr($sText, "Оплачиваемое задание") or StringInStr($sText, "Выбранное Вами задание не активно") Then
  248.  
  249.          If StringInStr($sText, "Оплачиваемое задание") Then
  250.  
  251.             If Not StringInStr($sText, "Указание контрольного слова") And StringInStr($sText, "Вы уже выполнили это задание") Then
  252.  
  253.                $task_list_file = FileOpen(@ScriptDir & '\task_list.txt', 1)
  254.  
  255.                FileWrite($task_list_file, "~" & $id_task & "~" & @CRLF)
  256.  
  257.                FileClose($task_list_file)
  258.  
  259.                $Inputs = _IETagNameGetCollection($oIE, 'input',0)
  260.                $id_rekl = $Inputs.value
  261.  
  262.                $sHTML = _INetGetSource("http://wmmail.ru//index.php?cf=wall-viewuser&uid=" & $id_rekl) ; получает html код стр без её загрузки.
  263.  
  264.                $table_data = _StringBetween($sHtml, 'Дата последней активности:', '</font>')
  265.  
  266.                $data = _StringBetween($table_data[0], '>', ' ')
  267.  
  268.                $data_active = $data[0] ; дата последней активности
  269.  
  270.                $data_now = _NowDate ()
  271.  
  272.                $act_year1 = StringSplit($data_active, '.')
  273.                $day_akk_act = 365*Int($act_year1[3])+30*int($act_year1[2])+int($act_year1[1])
  274.  
  275.                $now_year1 = StringSplit($data_now, '.')
  276.                $day_now = 365*Int($now_year1[3])+30*Int($now_year1[2])+Int($now_year1[1])
  277.  
  278.                $r = $day_now - $day_akk_act
  279.  
  280.                if $r >= $r_day Then
  281.  
  282.                   $Inputs = _IETagNameGetCollection($oIE, 'input')
  283.                   For $Input In $Inputs
  284.                      If StringInStr($Input.value, "Начать выполнение задания") Then
  285.                         _IEAction($Input, 'click')
  286.                         ExitLoop
  287.                      EndIf
  288.                   Next
  289.                   _IELoadWait($oIE)
  290.  
  291.                   sleep(500)
  292.                   _DDEMLClient_Execute("IExplore", "WWW_Exit", "WWW_Exit")
  293.                   sleep(500)
  294.  
  295.                   sleep(100)
  296.                   $Inputs2 = _IETagNameGetCollection($oIE, 'input')
  297.                   For $Input2 In $Inputs2
  298.                      If StringInStr($Input2.value, "Подтвердить выполнение задания") Then
  299.                         _IEAction($Input2, 'click')
  300.                         ExitLoop
  301.                      EndIf
  302.                   Next
  303.                   _IELoadWait($oIE)
  304.  
  305.                   $oForm5 = _IEGetObjById ($oIE, "zdtext")
  306.                   _IEFormElementSetValue ($oForm5, "" & $text_task_ok)
  307.  
  308.  
  309.                   $Inputs3 = _IETagNameGetCollection($oIE, 'input')
  310.                   For $Input3 In $Inputs3
  311.                      If StringInStr($Input3.value, "Отправить") Then
  312.                         _IEAction($Input3, 'click')
  313.                         ExitLoop
  314.                      EndIf
  315.                   Next
  316.  
  317.                   _IELoadWait($oIE)
  318.  
  319.                EndIf
  320.  
  321.             EndIf
  322.  
  323.          EndIf
  324.  
  325.       EndIf
  326.  
  327.       $id_task += 1
  328.  
  329.       $all_file_text = FileRead (@ScriptDir & "\settings.txt")
  330.  
  331.       $str_in_id = FileReadLine(@ScriptDir & "\settings.txt", 1)
  332.  
  333.       $all_file_text_new = StringReplace($all_file_text, $str_in_id, "[check_task=]" & $id_task & "[/check_task]")
  334.  
  335.       $File2 = FileOpen(@ScriptDir & "\settings.txt", 2)
  336.  
  337.       FileWrite($File2, $all_file_text_new)
  338.  
  339.       FileClose($File2)
  340.  
  341.    WEnd
  342. ElseIf $type = 2 Then
  343.  
  344.    $oIE = _IECreate("http://wmmail.ru/",0,1,0)
  345.  
  346.    $num_task_file = FileOpen(@ScriptDir & '\settings.txt', 0)
  347.    $num_task_f = FileReadLine($num_task_file, 1)
  348.    $num_task_m = _StringBetween($num_task_f, '[check_list=]', '[/check_list]')
  349.    $num_task = $num_task_m[0]
  350.    FileClose($nun_task_file)
  351.  
  352.    $while_line = 1
  353.    $str_file = _FileCountLines(@ScriptDir & '\task_list.txt')
  354.    While $while_line <= $str_file
  355.  
  356.       $id_task = FileReadLine(@ScriptDir & '\task_list.txt', $while_line)
  357.  
  358.       _IENavigate ($oIE, "http://wmmail.ru//index.php?cf=uzd-readtask&zdid=" & $id_task)
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.       $sText = _IEBodyReadText ($oIE)
  370.  
  371.       If StringInStr($sText, "Оплачиваемое задание") Then
  372.  
  373.          If Not StringInStr($sText, "Выбранное Вами задание не активно") Then
  374.  
  375.             If Not StringInStr($sText, "Указание контрольного слова") And StringInStr($sText, "Вы уже выполнили это задание") Then
  376.  
  377.                $Inputs = _IETagNameGetCollection($oIE, 'input',0)
  378.                $id_rekl = $Inputs.value
  379.  
  380.                $sHTML = _INetGetSource("http://wmmail.ru//index.php?cf=wall-viewuser&uid=" & $id_rekl) ; получает html код стр без её загрузки.
  381.  
  382.                $table_data = _StringBetween($sHtml, 'Дата последней активности:', '</font>')
  383.  
  384.                $data = _StringBetween($table_data[0], '>', ' ')
  385.  
  386.                $data_active = $data[0] ; дата последней активности
  387.  
  388.                $data_now = _NowDate ()
  389.  
  390.                $act_year1 = StringSplit($data_active, '.')
  391.                $day_akk_act = 365*Int($act_year1[3])+30*int($act_year1[2])+int($act_year1[1])
  392.  
  393.                $now_year1 = StringSplit($data_now, '.')
  394.                $day_now = 365*Int($now_year1[3])+30*Int($now_year1[2])+Int($now_year1[1])
  395.  
  396.                $r = $day_now - $day_akk_act
  397.  
  398.                if $r >= $r_day Then
  399.  
  400.                   $Inputs = _IETagNameGetCollection($oIE, 'input')
  401.                   For $Input In $Inputs
  402.                      If StringInStr($Input.value, "Начать выполнение задания") Then
  403.                         _IEAction($Input, 'click')
  404.                         ExitLoop
  405.                      EndIf
  406.                   Next
  407.                   _IELoadWait($oIE)
  408.  
  409.                   sleep(500)
  410.                   _DDEMLClient_Execute("IExplore", "WWW_Exit", "WWW_Exit")
  411.                   sleep(500)
  412.  
  413.                   sleep(100)
  414.                   $Inputs2 = _IETagNameGetCollection($oIE, 'input')
  415.                   For $Input2 In $Inputs2
  416.                      If StringInStr($Input2.value, "Подтвердить выполнение задания") Then
  417.                         _IEAction($Input2, 'click')
  418.                         ExitLoop
  419.                      EndIf
  420.                   Next
  421.                   _IELoadWait($oIE)
  422.  
  423.                   $oForm5 = _IEGetObjById ($oIE, "zdtext")
  424.                   _IEFormElementSetValue ($oForm5, "" & $text_task_ok)
  425.  
  426.  
  427.                   $Inputs3 = _IETagNameGetCollection($oIE, 'input')
  428.                   For $Input3 In $Inputs3
  429.                      If StringInStr($Input3.value, "Отправить") Then
  430.                         _IEAction($Input3, 'click')
  431.                         ExitLoop
  432.                      EndIf
  433.                   Next
  434.  
  435.                   _IELoadWait($oIE)
  436.  
  437.                EndIf
  438.  
  439.             EndIf
  440.          EndIf
  441.       Else
  442.          _FileDeleteLine(@ScriptDir & '\task_list.txt', $while_line)
  443.          $while_line -= 1
  444.          $str_file -= 1
  445.       EndIf
  446.       $while_line += 1
  447.  
  448.    WEnd
  449. EndIf
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement