Search the Community
Showing results for tags 'Que System'.
-
I am writing a script that reads text from a chat room, recognizes a specific thing from what is said and then runs. I have that functioning, but the problem right now is that it is only doing the one that it sees first and then forgets about any other requests that may have come through while it was running the script. What I would like for it to do is set up a que, what I assume would be done via an array push of some sort, so that it does the requests in the order received. I've tried a couple of different methods without any success so If I can get some assistance on this that would be great! I have included the code below. #include <FileSource.au3> #include <array.au3> #include <IE.au3> #include <File.au3> ;Run("C:\Program Files (x86)\Pidgin\pidgin.exe") ;Start Pidgin $healthMessage = "===Health Check Results===" $link = "WEBSITE FOR GSLU" $oIE = _IECreate($link, Default, 1) ;_IENavigate($oIE, $link, 1) WinMove("[CLASS:IEFrame]", "", 0, 0, 1050, 656) ;Array of files in log folder $FileList = _FileListtoArrayEx('C:\Users\Zoidberg\AppData\Roaming\.purple\logs\jabber\sdcim.com.chat', '*.*', 1) $File = $FileList[$FileList[0]] ;ConsoleWrite($FileList[$FileList[0]]) While True ;Opens the file, reads the last line $FileHandle = FileOpen($File) $LineRead = FileReadLine($FileHandle, -1) FileClose($FileHandle) ;Check if GSLU was found $RegExArray = StringRegExp($LineRead, ".*?((?i)GSLU).*?(\d+).*?((?i)Health)", 3) ;Start Main Loop if Ubound($RegExArray) == 3 Then ControlSend( "[CLASS:gdkWindowToplevel]", "", "gdkWindowChild4", "Processing GSLU, ETA 30 seconds." & "{ENTER}") ControlSend( "[CLASS:gdkWindowToplevel]", "", "gdkWindowChild4", "{ENTER}" & "{ENTER}" & "{ENTER}") WinActive("[CLASS:IEFrame]") ClipPut($RegExArray[1]) _IEImgClick($oIE, "SearchIconT.gif") sleep(5000) MouseClick("left", 465, 220, 1, 0);Search Click ;Sleep(100) Send(ClipGet()) Send("{ENTER}") Sleep(8000) _IELinkClickByText($oIE, "HSI", 0, 1) _IELinkClickByText($oIE, "Health Check", 1, 1) Sleep(1500) MouseClick("Left", 180, 230, 1, 0) ;Clicking Modem ;Sleep(100) MouseClickDrag("Left", 180, 230, 180, 260, 1) ;Clicking Modem MouseClick("Left", 530,280,1,0) ;Clicking Health MouseClick("Left", 530,300,1,0) ;Clicking Health Sleep(5000) MouseClick("Left", 826, 283,1,0) ;Clicking Text Format MouseClick("Left", 826, 293,1,0) ;Clicking Text Format MouseClick("Left", 500, 260,1,0) ;Clicking Text Format for copying Send("^a") Send("^c") Send("^c") ;Sleep(500) ;Refining GSLU down to needed info $Final_Text = StringRegExp(ClipGet(), "(CM[^\v]+|Current CMTS Status[^\v]+|Modem Boot File[^\v]+)", 3) ControlSend( "[CLASS:gdkWindowToplevel]", "", "gdkWindowChild4", "===Health Check Results===" & @LF & $Final_Text[0] & @LF & $Final_Text[1] & @LF & $Final_Text[2]) ControlSend( "[CLASS:gdkWindowToplevel]", "", "gdkWindowChild4", "{ENTER}") Send("{F5}") Sleep(5000) EndIf Sleep(100) WEnd
- 52 replies