Что нового

Что бы скрипт игнорировал сигнал на который он уже до этого срабатывал?

darow

Новичок
Сообщения
50
Репутация
1
Всем здравствуйте.
Вот скрипт ведет отработку сигналов, причем у него есть условия по которым он отрабатывает сигнал: фамилия, коэффициент, счет матча.
Как сделать, что бы он не реагировал повторно на сигнал точно такой же который он сделал, но с другим коэффициентом?
(надеюсь меня кто-то понял)
Скрипт прилагаю:
Код:
Opt("TrayIconDebug", 1)
#include <IE.au3>
Global $filename = "C:\Users\Арсений\Desktop\betcityru\signals.txt"
Global $config_filename = @UserProfileDir & "\beter_conf.txt"

Local $time1, $time2
$time1 = FileGetTime($filename, 0, 1)
While 1
    $time2 = FileGetTime($filename, 0, 1)
    If $time1 <> $time2 Then
        $time1 = $time2
        _action1()
    EndIf
    Sleep(1000)
WEnd

Func _action1()

Global $sLogin = "g 5627140"
Global $sPassword = "340572"

_IELoadWaitTimeout(10000)
Do
$oIE = _IECreate("http://betsbc.com/")
If @error Then ExitLoop

$oFrame1 = _IEFrameGetCollection($oIE, 0)
If @error Then ExitLoop

For $c = 1 To 5
$oForm = _IETagNameGetCollection($oFrame1, "form", 0)
If @error = 0 Then ExitLoop
Sleep(1000)
Next

$oLogin = _IEGetObjByName($oForm, "login")
_IEFormElementSetValue($oLogin, $sLogin)
If @error Then ExitLoop

$oPassword = _IEGetObjByName($oForm, "pwd")
_IEFormElementSetValue($oPassword, $sPassword)
If @error Then ExitLoop

_IEFormSubmit($oForm, 0)
;If @error Then ExitLoop
Until 1

Sleep(5000)

$hFile = FileOpen($filename, 0)
If $hFile = -1 Then
    MsgBox(4096, "Ошибка", "Невозможно открыть данный файл")
    Exit
EndIf
_IENavigate($oIE, "http://betsbc.com/live/line.php")

$sLine = FileReadLine($hFile, -1)
If @error = -1 Then
    MsgBox(4096, "Ошибка", "Не вышло прочитать данные")
    Exit
EndIf
Sleep(2000)

FileClose($hFile)

$sMyString=StringRegExpReplace($sLine, ".*?В матче среди: (.*?) .*", "\1", 0)
$oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
    $sLinkText = _IEPropertyGet($oLink, "innerText")
    If StringInStr($sLinkText, $sMyString) Then
        _IEAction($oLink, "click")
        ExitLoop
    EndIf
Next

Sleep(2000)

$K = StringRegExpReplace($sLine, ".*циент\s(\d).*", "$1")
$Stand = StringRegExpReplace($sLine, ".*чет.+?(\d.*)", "$1")

Local $iContinue = True
Local $aConf = StringSplit(FileRead($config_filename), "|", 2)
If UBound($aConf) = 3 Then
If $aConf[0] = $sMyString And $aConf[1] = $Stand Then $iContinue = False
EndIf
FileWrite($config_filename, $sMyString&"|"&$Stand&"|"&$k)
If Not $iContinue Then
WinClose("[CLASS:IEFrame]")
Return SetError(1); выход из функции с кодом 1 и ожидание следующего сигнала
EndIf

If $K = 2 And $Stand = "0:0" Then
    $Btn = 314
ElseIf $K = 1 And $Stand = "0:0" Then
    $Btn = 313
ElseIf $K = 2 And ($Stand = "1:0" OR $Stand = "0:1") Then
    $Btn = 357
ElseIf $K = 1 And ($Stand = "1:0" OR $Stand = "0:1") Then
    $Btn = 356
ElseIf $K = 2 And $Stand = "1:1" Then
    $Btn = 2
ElseIf $K = 1 And $Stand = "1:1" Then
    $Btn = 1
Else
    $Btn = "Undefined"
EndIf
;If $Btn = 313 Then $Btn = 314
;If $Btn = 314 Then $Btn = 313

ConsoleWrite('->' & $Btn & @CRLF)

$oLinks = _IETagNameGetCollection($oIE, "a")
If IsObj($oLinks) Then
    For $oLink In $oLinks
;~     ConsoleWrite('2->' &  2& @CRLF)
        If StringRegExp($oLink.href,'http://betsbc\.com/left\.php\?livebet=\d+\.'&$Btn) Or StringInStr($oLink.getAttribute('onclick'), 'return al();') Then
			$AttachLink = $oLink.href
            ConsoleWrite("href: "&$oLink.href&@CRLF)
            _IEAction($oLink, "click")
			Sleep(5000)
			$oIE2 = _IEAttach($AttachLink, "URL")
$Bet="200" ; Ставка
For $k = 1 To 5
$oForm = _IEFormGetCollection ($oIE2, 0)
$oQuery = _IEFormElementGetCollection ($oForm, 0)
_IEFormElementSetValue ($oQuery, $Bet)
$oSubm = _IEGetObjByName($oQuery, "lb")
_IEAction($oSubm, "click")
Sleep(500)
For $c = 1 To 10
If Not IsObj($oSubm) Then ExitLoop
$attr = $oSubm.getAttribute("disabled")
ConsoleWrite("disabled attribute value: " & $attr & @CRLF)
If (@error = 0) And ($attr = "false" Or Not $attr) Then ExitLoop
Sleep(1000)
Next
$sBodySource = _IEBodyReadHTML($oIE2)
If Not StringInStr($sBodySource, "Изменения в линии") Then ExitLoop
If StringInStr($sBodySource, "Ваша ставка принята") Then ExitLoop
Sleep(1000)
Next
Sleep(5000)
            WinClose("[CLASS:IEFrame]")
            ExitLoop
        EndIf
    Next
EndIf
EndFunc

тут мы решили промежуточный файл beter_conf.txt сделать, где бот ведет учет ставкам которые уже сделал, что бы их не повторять...
но что-то у нас тут не срабатывает...
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Должно работать.
[/autoit]
Код:
#include <IE.au3>
;Global $filename = "C:\Users\Арсений\Desktop\betcityru\signals.txt"
Global $filename = @ScriptDir & "\signals.txt"; это я сделал для себя, ты это убери
Global $config_filename = @UserProfileDir & "\beter_conf.txt"

Local $time1, $time2
$time1 = FileGetTime($filename, 0, 1)
While 1
    $time2 = FileGetTime($filename, 0, 1)
    If $time1 <> $time2 Then
        $time1 = $time2
        _action1()
    EndIf
    Sleep(1000)
WEnd

Func _action1()

Global $sLogin = "g 5627140"
Global $sPassword = "340572"

_IELoadWaitTimeout(10000)
Do
$oIE = _IECreate("http://betsbc.com/")
If @error Then ExitLoop

$oFrame1 = _IEFrameGetCollection($oIE, 0)
If @error Then ExitLoop

For $c = 1 To 5
$oForm = _IETagNameGetCollection($oFrame1, "form", 0)
If @error = 0 Then ExitLoop
Sleep(1000)
Next

$oLogin = _IEGetObjByName($oForm, "login")
_IEFormElementSetValue($oLogin, $sLogin)
If @error Then ExitLoop

$oPassword = _IEGetObjByName($oForm, "pwd")
_IEFormElementSetValue($oPassword, $sPassword)
If @error Then ExitLoop

_IEFormSubmit($oForm, 0)
;If @error Then ExitLoop
Until 1

Sleep(5000)

$hFile = FileOpen($filename, 0)
If $hFile = -1 Then
    MsgBox(4096, "Ошибка", "Невозможно открыть данный файл")
    Exit
EndIf
_IENavigate($oIE, "http://betsbc.com/live/line.php")

$sLine = FileReadLine($hFile, -1)
If @error = -1 Then
    MsgBox(4096, "Ошибка", "Не вышло прочитать данные")
    Exit
EndIf
Sleep(2000)

FileClose($hFile)

$sMyString=StringRegExpReplace($sLine, ".*?В матче среди: (.*?) .*", "\1", 0)
$oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
    $sLinkText = _IEPropertyGet($oLink, "innerText")
    If StringInStr($sLinkText, $sMyString) Then
        _IEAction($oLink, "click")
        ExitLoop
    EndIf
Next

Sleep(2000)

$K = StringRegExpReplace($sLine, ".*циент\s(\d).*", "$1")
$Stand = StringRegExpReplace($sLine, ".*чет.+?(\d.*)", "$1")

Local $iContinue = True
Local $aConf = StringSplit(FileRead($config_filename), "|", 2)
If UBound($aConf) = 3 Then
If $aConf[0] = $sMyString And $aConf[1] = $Stand Then $iContinue = False
EndIf
Local $hFileConf = FileOpen($config_filename, 2)
FileWrite($hFileConf, $sMyString&"|"&$Stand&"|"&$k)
FileClose($hFileConf)
If Not $iContinue Then
WinClose("[CLASS:IEFrame]")
Return SetError(1); выход из функции с кодом 1 и ожидание следующего сигнала
EndIf

If $K = 2 And $Stand = "0:0" Then
    $Btn = 314
ElseIf $K = 1 And $Stand = "0:0" Then
    $Btn = 313
ElseIf $K = 2 And ($Stand = "1:0" OR $Stand = "0:1") Then
    $Btn = 357
ElseIf $K = 1 And ($Stand = "1:0" OR $Stand = "0:1") Then
    $Btn = 356
ElseIf $K = 2 And $Stand = "1:1" Then
    $Btn = 2
ElseIf $K = 1 And $Stand = "1:1" Then
    $Btn = 1
Else
    $Btn = "Undefined"
EndIf
;If $Btn = 313 Then $Btn = 314
;If $Btn = 314 Then $Btn = 313

ConsoleWrite('->' & $Btn & @CRLF)

$oLinks = _IETagNameGetCollection($oIE, "a")
If IsObj($oLinks) Then
    For $oLink In $oLinks
;~     ConsoleWrite('2->' &  2& @CRLF)
        If StringRegExp($oLink.href,'http://betsbc\.com/left\.php\?livebet=\d+\.'&$Btn) Or StringInStr($oLink.getAttribute('onclick'), 'return al();') Then
			$AttachLink = $oLink.href
            ConsoleWrite("href: "&$oLink.href&@CRLF)
            _IEAction($oLink, "click")
			Sleep(5000)
			$oIE2 = _IEAttach($AttachLink, "URL")
$Bet="1" ; Ставка
For $k = 1 To 5
$oForm = _IEFormGetCollection ($oIE2, 0)
$oQuery = _IEFormElementGetCollection ($oForm, 0)
_IEFormElementSetValue ($oQuery, $Bet)
$oSubm = _IEGetObjByName($oQuery, "lb")
_IEAction($oSubm, "click")
Sleep(500)
For $c = 1 To 10
If Not IsObj($oSubm) Then ExitLoop
$attr = $oSubm.getAttribute("disabled")
ConsoleWrite("disabled attribute value: " & $attr & @CRLF)
If (@error = 0) And ($attr = "false" Or Not $attr) Then ExitLoop
Sleep(1000)
Next
$sBodySource = _IEBodyReadHTML($oIE2)
If Not StringInStr($sBodySource, "Изменения в линии") Then ExitLoop
If StringInStr($sBodySource, "Ваша ставка принята") Then ExitLoop
Sleep(1000)
Next
Sleep(5000)
            WinClose("[CLASS:IEFrame]")
            ExitLoop
        EndIf
    Next
EndIf
EndFunc
 
Автор
D

darow

Новичок
Сообщения
50
Репутация
1
Как всегда, alex33, спасибо, верный ответ! Мой вопрос решен!
 
Верх