1

Тема: VBS: Скрипт накрутки WMmail.ru

в названии наверное слишком громко было сказано, скорей всего - это только цель, а пока так...
Общее описание скрипта:
1) Авторизация на сайте WMmail.ru
2) В случае необходимости вводится код операций
3) Проверяем текущий баланс
4) Проверяем наличие доступных писем для сёрфинга
5) Если есть письма то сёрфим их по порядку
6) По завершении переходим в автосёрфинг
На этом пока всё

Файл _shell.bat:

@ECHO OFF
TITLE WMmail.ru Autoclicker
COLOR 0F
cscript script.vbs
COLOR 1F
echo.
echo Для выхода из скрипта нажмите любую клавишу...
pause>nul

файл script.vbs:

'On Error Resume Next 'отключили ошибки
Set WshShell = CreateObject("WScript.Shell")

' настройка
login   = "******"    'логин
pass    = "******"    'пароль
pass1   = "******"    'пароль для операций
sleep   = 1        'пауза между мереходами по ссылкам
visible = 1        'видимость браузеров

msg("запуск скрипта накрутки WMmail.ru")
Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Visible = visible
objIE.Navigate "http://www.wmmail.ru/"

While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
Do Until objIE.readyState=4: WScript.Sleep 1: Loop

WScript.Sleep sleep*1000 'Выдерживаем паузу

If InStr(objIE.Document.Body.InnerHTML, login) > 0 Then
  msg("заходим по старой сессии")
  objIE.Navigate "http://wmmail.ru/index.php?cf=akk-viewstat"

  While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
  Do Until objIE.readyState=4: WScript.Sleep 1: Loop

Else
  msg("авторизация")
  Set objForm = objIE.Document.forms("login")
  With objForm
    .elements("ulogin").value = login
    .elements("pass").value = pass
    .submit()
  End With

  While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
  Do Until objIE.readyState=4: WScript.Sleep 1: Loop
  
  If InStr(objIE.Document.Body.InnerHTML, "У Вас изменился браузер или IP-адрес") > 0 Then
    WScript.Sleep sleep*1000 'Выдерживаем паузу

    msg("ввод кода операций")
    Set objForm = objIE.Document.forms("login")
    With objForm
      .elements("pass1").value = pass1
      .elements("Submit").click()
    End With

    While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
    Do Until objIE.readyState=4: WScript.Sleep 1: Loop
  End If
End If

ubalance = objIE.Document.getElementById("ubalance").innerHTML
upoints = objIE.Document.getElementById("upoints").innerHTML
msg("текущий баланс: " & ubalance & "$")
msg("кредитов: " & upoints)


WScript.Sleep sleep*1000 'Выдерживаем паузу

msg("проверяем наличие доступных писем")
objIE.Navigate "http://wmmail.ru/index.php?cf=mail-viewpmail"

While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
Do Until objIE.readyState=4: WScript.Sleep 1: Loop

If InStr(objIE.Document.Body.InnerHTML, "Закончились оплачиваемые письма") > 0 Then
  msg("писем нет")
Else
  Set objRegExp1 = CreateObject("VBScript.RegExp")
  objRegExp1.Global = True
  objRegExp1.Pattern = "cf=mail-readpmail.+mid=([0-9]+)"

  Set objMatches1 = objRegExp1.Execute(objIE.Document.Body.InnerHTML)
  msg("доступно писем: " & objMatches1.Count)
  For i=0 To objMatches1.Count-1
    Set objMatch1 = objMatches1.Item(i)
    Set objSubmatches1 = objMatch1.Submatches
    f_mid = objSubmatches1.Item(0)
    msg("просмотр письма #" & f_mid)

    WScript.Sleep sleep*1000 'Выдерживаем паузу

    objIE.Navigate "http://wmmail.ru/index.php?cf=mail-readpmail&mid=" & objSubmatches1.Item(0)

    While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
    Do Until objIE.readyState=4: WScript.Sleep 1: Loop

    Set objRegExp2 = CreateObject("VBScript.RegExp")
    objRegExp2.Global = False
    objRegExp2.Pattern = "(cf=pmail-readm.+uid=([0-9]+).+mid=" & f_mid & ".+rnd=([0-9a-z]+))"
    Set objMatches2 = objRegExp2.Execute(objIE.Document.Body.InnerHTML)
    Set objMatch2 = objMatches2.Item(0)
    Set objSubmatches2 = objMatch2.Submatches
    f_uid = objSubmatches2.Item(1)
    f_rnd = objSubmatches2.Item(2)
    objIE.Navigate "http://wmmail.ru/index.php?cf=pmail-readm&uid="& f_uid &"&mid="& f_mid &"&rnd="& f_rnd '
    WScript.Sleep 60*1000 'Выдерживаем паузу
    Set objSubmatches2 = Nothing
    Set objMatch2 = Nothing
    Set objMatches2 = Nothing
    Set objRegExp2 = Nothing
  Next
  Set objSubmatches1 = Nothing
  Set objMatch1 = Nothing
  Set objMatches1 = Nothing
  Set objRegExp1 = Nothing
End If

msg("переходим в режим автосёрфинга")
objIE.Navigate "http://wmmail.ru/index.php?cf=surfa-viewrsite"

MsgBox "<OK> для завершения", vbInformation+vbOKOnly, "WMmail.ru (" & login & ")"

objIE.Quit
Set objIE = Nothing
Set WshShell = Nothing

msg("happy end :)")

WScript.Quit 0

'************************************************************************************
Function msg(text)
  WScript.Echo Now() & " " & text
End Function

В дальнейшем планируется всё разбить на функции и правильно зациклить так, чтобы осуществлялась проверка доступности писем каждые N секунд/минут, а в перерывах переходило в режим автосёрфинга.

Если имеются какие предложения, то всегда рад...

Кодинг, как много в этом слове...

2

Re: VBS: Скрипт накрутки WMmail.ru

Что есть «WMmail.ru», и зачем его надо накручивать?

3

Re: VBS: Скрипт накрутки WMmail.ru

WMmail.ru - платит за сёрфинг по сайтам. только там восновном необходимо присутствие пользователя, а я решил всё автоматизировать

Кодинг, как много в этом слове...

4

Re: VBS: Скрипт накрутки WMmail.ru

pad0nak, спасибо, ясно.

5

Re: VBS: Скрипт накрутки WMmail.ru

Привет! Скрипт не видит письма! их у меня 106 аж, а он переходит в режим ожидания автосёрфинга!

6

Re: VBS: Скрипт накрутки WMmail.ru

Альберт, а не банальный сбор логинов и паролей?