; Simple Socket Script Creator v0.2 ; Created by Chessnut ; Feel free to change this script and the scripts it produces ; however you want, but please leave this copyright as it is. ; Right click anywhere and click "Simple socket script creator" to start. ; Remember to read the Readme file. ; Enjoy. ; --- Chessnut ----> menu status,query,nicklist,channel { Simple Socket Creator:/dialog -md sock_disp sock_disp } ; LOOOOOOONG DIALOG! dialog -l sock_disp { title "Simple Socket Creator" size -1 -1 284 205 option dbu icon sckicon.ICO, 0 tab "HTML Viewer", 5, 5 3 275 176 button "View page", 2, 45 160 31 15, tab 5 edit , 3, 37 27 69 11, result tab 5 autohs edit "80", 4, 37 39 19 12, result tab 5 limit 4 box "Connection", 8, 10 18 102 68, tab 5 text "Port:", 9, 12 40 16 8, tab 5 text "Address:", 10, 12 29 25 8, tab 5 box "Display", 11, 10 86 102 28, tab 5 check "Strip HTML", 12, 13 93 37 10, tab 5 box "Line details", 26, 10 115 102 42, tab 5 edit "", 27, 13 123 88 11, tab 5 read autohs list 1, 115 20 161 129, tab 5 size vsbar text "Length:", 29, 13 145 31 8, tab 5 check "Show head/headers", 41, 13 102 65 10, hide tab 5 text "User Agent:", 39, 12 51 24 14, hide tab 5 edit "", 40, 37 52 68 12, hide tab 5 autohs button "Use line", 78, 48 144 28 10, tab 5 edit "", 101, 134 152 76 11, tab 5 autohs button "Next >", 102, 246 152 23 11, tab 5 text "Search Lines:", 103, 115 151 18 14, tab 5 text "Line Number:", 104, 13 135 78 8, tab 5 text "Lines found:", 106, 114 167 31 8, tab 5 edit "", 107, 148 166 25 10, tab 5 read autohs edit "", 108, 210 167 36 10, tab 5 autohs text "Go to line:", 109, 182 167 26 8, tab 5 button "Go to", 110, 249 167 21 9, tab 5 button "Search", 105, 214 152 28 11, tab 5 radio "GET", 28, 60 40 20 10, hide tab 5 radio "POST", 89, 82 40 25 10, hide tab 5 edit "", 88, 37 65 68 18, hide tab 5 multi return autohs autovs text "Extra sockwrite:", 87, 12 67 24 14, hide tab 5 button "View in Browser", 84, 81 159 26 17, tab 5 multi check "Ignore blank lines", 95, 51 93 54 10, tab 5 button "Copy line", 126, 79 144 28 10, tab 5 tab "Socket Writer", 6 edit "No line selected", 13, 127 27 144 10, tab 6 read autohs box "Before editing", 14, 118 19 159 23, tab 6 box "After editing", 15, 118 43 159 23, tab 6 edit "No line selected", 16, 127 51 144 10, tab 6 read autohs box "Action", 22, 118 67 159 100, tab 6 text "Items to remove (Separated by a comma)", 23, 123 97 103 8, tab 6 check "Strip html after", 25, 125 149 48 10, tab 6 edit "", 30, 122 125 128 10, tab 6 autohs edit "", 31, 122 105 128 10, tab 6 autohs button "Update", 32, 181 148 37 12, tab 6 text "and", 36, 190 86 11 8, tab 6 text "Data wanted is between", 34, 123 77 103 8, tab 6 edit "", 33, 122 85 60 10, tab 6 autohs edit "", 35, 207 85 60 10, tab 6 autohs text "Items to replace (Separated by a comma)", 17, 122 117 103 8, tab 6 box "Finding correct line", 62, 11 19 104 89, tab 6 text "What phrase/string will ALWAYS be on this line? (MUST fill in)", 63, 16 27 90 13, tab 6 edit "", 64, 16 40 84 10, tab 6 autohs text "Above phrase/string is", 65, 16 62 55 9, hide disable tab 6 button "Next >", 70, 87 160 28 15, tab 6 check "Strip html before", 85, 125 138 51 10, tab 6 box "Custom Action", 86, 11 108 104 50, hide tab 6 edit "", 92, 15 124 96 10, hide tab 6 autohs text "Note: Use @LINE@ to refer to the rest of the line, EG. $bytes(@LINE@,b).", 112, 15 137 98 17, hide tab 6 text "Alias/es:", 24, 16 116 25 8, hide tab 6 button "ASCII List", 93, 222 148 38 12, tab 6 edit "", 44, 73 61 10 10, hide disable tab 6 limit 1 text "lines the line I want.", 66, 85 62 12 8, hide disable tab 6 combo 90, 16 72 37 22, hide disable tab 6 drop text "the line I want.", 118, 55 73 44 8, hide disable tab 6 check "There is no unique data on the line", 123, 17 50 95 11, hide tab 6 button "Check", 124, 46 84 37 12, tab 6 text "", 125, 15 98 96 7, tab 6 tab "Script Creation", 37 edit "", 42, 37 39 50 10, tab 37 autohs text "Remote trigger:", 43, 14 37 22 14, tab 37 box "Output - Message", 45, 10 84 85 71, tab 37 radio "Message channel", 46, 15 55 50 7, group tab 37 edit "", 48, 14 101 76 28, tab 37 multi return autohs autovs text "Output message:", 49, 15 93 46 8, tab 37 text "NOTE: Use @RESULT@ to refer to the data found. New line means new message.", 50, 14 131 75 21, tab 37 radio "Notice nick", 47, 15 63 50 7, tab 37 box "Socket", 58, 98 19 70 45, tab 37 text "Socket name:", 59, 102 28 34 8, tab 37 edit "", 60, 101 38 50 10, tab 37 autohs box "Data", 72, 98 69 70 86, tab 37 edit "", 73, 101 89 50 10, tab 37 autohs text "Variable to store data as:", 74, 102 79 62 8, tab 37 button "Test/View Script", 82, 91 160 43 15, tab 37 box "Issues in creation", 96, 171 20 102 144, tab 37 list 97, 175 28 94 83, tab 37 size edit "", 98, 174 113 96 10, tab 37 read autohs button "Find error", 99, 205 125 37 12, tab 37 text "Note: Errors that MUST be fixed to create the script are marked with an asterix (*).", 100, 177 140 89 21, tab 37 radio "Echo status window", 91, 15 71 59 7, tab 37 button "Create Script", 61, 45 160 41 15, tab 37 check "Multi-socket", 94, 102 51 57 7, tab 37 button "Advanced trigger options", 113, 27 58 50 18, hide tab 37 multi text "NOTE: Leave blank to create a local variable which will be unset after use. Recommended when creating a 'Multi-socket' script.", 114, 102 102 57 48, tab 37 radio "Simple", 119, 17 26 27 10, group tab 37 box "Input - Trigger", 116, 10 19 85 63, tab 37 radio "Advanced", 120, 48 26 36 10, tab 37 edit "", 115, 37 39 50 10, hide tab 37 read autohs tab "Testing", 38 button "Trigger socket", 51, 37 28 45 12, tab 38 edit "", 52, 46 44 100 10, tab 38 read autohs text "Line before editing:", 53, 13 42 31 14, tab 38 text "Line after editing:", 54, 13 58 31 14, tab 38 edit "", 55, 46 61 99 10, tab 38 read autohs text "Result:", 57, 14 76 25 7, tab 38 box "Process", 67, 161 20 111 84, tab 38 list 68, 168 29 97 69, tab 38 size vsbar button "View Script", 71, 43 160 31 15, tab 38 list 56, 13 83 140 40, tab 38 size vsbar box "Process line info", 75, 112 151 161 24, tab 38 edit "", 76, 118 160 148 10, tab 38 read autohs edit "", 77, 13 123 140 10, tab 38 read autohs box "Script working?", 79, 189 111 48 34, tab 38 icon 80, 204 121 15 15, scktick.png, 0, hide tab 38 icon 81, 204 121 15 15, sckcross.png, 0, hide tab 38 box "Trigger/Result", 19, 9 20 148 119, tab 38 button "Force close socket", 83, 86 28 51 12, hide tab 38 button "Load Script", 111, 77 160 32 15, tab 38 default text "Current script name:", 127, 10 142 51 8, tab 38 text "", 128, 62 142 124 8, tab 38 button "Cancel", 7, 12 160 28 15, ok cancel link "Help", 18, 255 5 13 8 check "Toggle Advanced Mode", 21, 7 187 70 10 icon 20, 243 5 7 7, sckhelp.gif, 0 text "Created by Chessnut, Version: 0.2", 69, 102 184 55 15 button "Feedback/ Suggestions", 117, 222 182 37 18, multi text "v0.2", 121, 266 190 14 8 button "Check for updates", 122, 182 182 36 18, multi } alias -l regexfriendly { return $regsubex($1-,/([\Q?*+.|{}\/[]()\E])/g,\\1) } alias -l retchanges { return $replace(%sckdispchanges,@zero£,0) } ; NO HTML ALIAS alias nohtml { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x } ; INITILISATION COMMANDS on *:DIALOG:sock_disp:INIT:0: { did -a sock_disp 3 %sockdispsite $iif(%sockdispport,did -ra sock_disp 4 %sockdispport) did -c sock_disp 46,28,41,119 did -arc sock_disp 90 Before did -a sock_disp 90 After did -ar sock_disp 128 $nopath(%sockdispdir) } ; MAIN DIAG CLOSE on *:DIALOG:sock_disp:CLOSE:0: { unset %sckdisp* } ; OPEN SOCKET (VIEW PAGE) on *:dialog:sock_disp:sclick:2:{ if ($did(3)) { if ($did(sock_disp,4) == $null) || ($did(sock_disp,4) !isnum) did -ar sock_disp 4 80 did -r sock_disp 27 set %sockdispsite $did(3) set %sockdisphost $remove($left($remove($did(3),http://),$pos($remove($did(3),http://),/,1)),/) set %sockdisppage $remove($did(sock_disp,3),http://,%sockdisphost) set %sockdispport $did(sock_disp,4) if (!%sockdisphost) { set %sockdisphost %sockdisppage set %sockdisppage / } did -r sock_disp 1 if ($did(12).state == 1) { did -bc sock_disp 85 } else { did -eu sock_disp 85 } sockclose dsock.1 sockopen dsock.1 %sockdisphost %sockdispport } } on *:SOCKOPEN:dsock.*: { sockwrite -nt $sockname $iif($did(sock_disp,28).state == 1,GET,POST) %sockdisppage HTTP/1.1 sockwrite -nt $sockname Host: %sockdisphost $iif($did(sock_disp,40),sockwrite -nt $sockname User-Agent: $did(sock_disp,40)) var %j = 1 var %k = $did(sock_disp,88).lines while (%j < %k) { if ($did(sock_disp,88) != $null) sockwrite -nt $sockname $did(sock_disp,88, [ $+ [ %j ] ] ) inc %j } sockwrite -nt $sockname $crlf set %sckdispheads $did(sock_disp,41).state } on *:SOCKREAD:dsock.*: { if ($sockerr) { if ($right($sockname,1) == 1) { did -ar sock_disp 1 !!@@ ERROR (Code: $sckerr $+ ) OPENING SOCKET @@!! } elseif ($right($sockname,1) == 2) { did -ar sock_disp_check 6 ERROR CONNECTING TO SOCKET. } elseif ($right($sockname,1) == 3) { did -ar sock_disp_lineref 6 ERROR CONNECTING TO SOCKET. } halt } else { var %sockreader sockread %sockreader if ($right($sockname,1) == 1) { if (%sckdispheads == 0) { if (** iswm %sockreader) set %sckdispheads 1 } if (%sckdispheads == 1) { if ($did(sock_disp,12).state == 1) { if ($len(%sockreader) > 850) did -a sock_disp 1 !!@@ LINE TOO LONG @@!! else { if ($did(sock_disp,95).state == 1) { if ($nohtml($remove(%sockreader,$chr(9),$chr(32)) != $null) did -a sock_disp 1 $nohtml(%sockreader) } else did -a sock_disp 1 $nohtml(%sockreader) } } else { if ($len(%sockreader) > 850) did -a sock_disp 1 !!@@ LINE TOO LONG @@!! else { if ($did(sock_disp,95).state == 1) { if ($remove(%sockreader,$chr(9),$chr(32)) != $null) { did -a sock_disp 1 %sockreader } } else did -a sock_disp 1 %sockreader } } } } elseif ($right($sockname,1) == 2) { if ($len($remove(%sockreader,$chr(9),$chr(32))) == 0) halt if ($+(*,$did(sock_disp,64),*) iswm $iif($did(sock_disp,90).seltext == After,%sockreader,%sockreader- [ $+ [ $did(sock_disp,44) ] ])) { did -ar sock_disp_check 1 %sockreader [ $+ [ $iif($did(sock_disp,90).seltext == After,$+(-,$did(sock_disp,44))) ] ] did -ar sock_disp_check 6 %sockreader [ $+ [ $iif($did(sock_disp,90).seltext == Before,$+(-,$did(sock_disp,44))) ] ] if ($+(*,$did(sock_disp_check,7),*) iswm $did(sock_disp_check,6)) { did -ar sock_disp_check 8 IS on the line that you have specified to contain the unique data/string did -v sock_disp_check 11 } else { did -ar sock_disp_check 8 IS NOT on the line that you have specified to contain the unique data/string did -v sock_disp_check 17 } unset %sockreader* sockclose $sockname } if ($len($remove(%sockreader,$chr(9))) > 0) { var %x = $calc($did(sock_disp,44) - 1) while (%x > -1) { if ($len(%sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]) <= 850) set %sockreader [ $+ [ $+(-,$calc(%x + 1)) ] ] %sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ] dec %x } } } elseif ($right($sockname,1) == 3) { if ($+(*,$did(sock_disp,64),*) iswm %sockreader) { did -ar sock_disp_lineref 6 %sockreader if (%sockreader == $did(sock_disp,13)) { did -v sock_disp_lineref 11 did -ar sock_disp_lineref 9 The line that was found using the data you specified IS the same as the line you want. } else { did -v sock_disp_lineref 10 did -ar sock_disp_lineref 9 The line that was found using the data you specified IS NOT the same as the line you want. } sockclose $sockname } } } } on *:SOCKCLOSE:dsock.2: { did -ar sock_disp_check 8 IS NOT on the line that you have specified to contain the unique data/string } on *:SOCKCLOSE:dsock.3: { did -ar sock_disp_lineref 6 NOT FOUND did -v sock_disp_lineref 10 did -ar sock_disp_lineref 9 The string you specified is not contained anywhere on any line. } ; DOUBLE CLICK ON PAGE LIST on *:dialog:sock_disp:dclick:1:{ if ($did(1).seltext && $did(1).seltext != !!@@ LINE TOO LONG @@!!) { did -ar sock_disp 13,16 $did(1).seltext did -fu sock_disp 6 } } ; "USE LINE" BUTTON CLICK on *:dialog:sock_disp:sclick:78:{ if ($did(1).seltext && $did(1).seltext != !!@@ LINE TOO LONG @@!!) { did -ar sock_disp 13,16 $did(1).seltext did -fu sock_disp 6 } } ; "COPY LINE" BUTTON CLICK on *:dialog:sock_disp:sclick:126:{ clipboard $did(1).seltext } ; CHAR CODE LIST on *:dialog:sock_disp:sclick:93:{ window -laCdo -t15,30 @Chr -1 -1 240 400 aline @Chr $+(Character,$chr(9),Chr Code) var %i = 32 while (%i <= 255) { aline @Chr $+($chr(%i),$chr(9),$chr(36),chr,$chr(40),%i,$chr(41)) inc %i } } ; SINGLE CLICK ON PAGE LIST on *:dialog:sock_disp:sclick:1:{ did -ar sock_disp 27 $did(1).seltext did -ar sock_disp 29 Length: $len($did(1).seltext) did -ar sock_disp 104 Line Number: $did(1).sel } ; SEARCH PAGE LIST on *:dialog:sock_disp:sclick:105:{ unset %sockdispres unset %sckdispfnd.* var %i $did(1).lines var %c 0 set %sockdispres 1 while (%c <= %i) { if ($+(*,$did(101),*) iswm $did(1,%c)) { set %sckdispfnd. [ $+ [ %sockdispres ] ] %c inc %sockdispres } inc %c } if (%sckdispfnd.1) did -c sock_disp 1 %sckdispfnd.1 did -ar sock_disp 107 $calc(%sockdispres - 1) set %sckdispnextimes 1 did -ar sock_disp 27 $did(1).seltext did -ar sock_disp 29 Length: $len($did(1).seltext) did -ar sock_disp 104 Line Number: $did(1).sel } ; SEARCH PAGE LIST --> NEXT on *:dialog:sock_disp:sclick:102:{ if (%sckdispnextimes == $calc(%sockdispres - 1)) set %sckdispnextimes 0 inc %sckdispnextimes did -c sock_disp 1 %sckdispfnd. [ $+ [ $calc(%sckdispnextimes) ] ] did -ar sock_disp 27 $did(1).seltext did -ar sock_disp 29 Length: $len($did(1).seltext) did -ar sock_disp 104 Line Number: $did(1).sel } ; SEARCH PAGE LIST --> GOTO on *:dialog:sock_disp:sclick:110:{ did -c sock_disp 1 $did(108) did -ar sock_disp 27 $did(1).seltext did -ar sock_disp 29 Length: $len($did(1).seltext) did -ar sock_disp 104 Line Number: $did(1).sel } alias -l updatechanges { did -ar sock_disp 16 $did(13) set %sckdispchanges $iif($did(sock_disp,33) != $null || $did(sock_disp,35) != $null,$chr(36) $+ regml(1),$chr(37) $+ sockreade [ $+ [ $iif($did(sock_disp,123).state == 1 && $did(sock_disp,90).seltext == After && $did(sock_disp,21).state == 1,$+(r,-,$did(sock_disp,44)),r)) ] ]) if ($did(85).state == 1) { did -ar sock_disp 16 $nohtml($did(16)) | set %sckdispchanges $chr(36) $+ nohtml( $+ %sckdispchanges $+ ) } noop $regex($did(16),/ $+ $iif($did(33),$regexfriendly($did(33)),^) $+ (.*?) $+ $iif($did(35),$regexfriendly($did(35)),$) $+ /Si) if ($regml(1)) { did -ar sock_disp 16 $regml(1) } tokenize 44 $did(31) if ($did(31) != $null) { set %sckdispchanges $chr(36) $+ remove( $+ %sckdispchanges $+ $iif($1,$chr(44) $+ $1) $+ $iif($2,$chr(44) $+ $2) $+ $iif($3,$chr(44) $+ $3) $+ $iif($4,$chr(44) $+ $4) $+ $iif($5,$chr(44) $+ $5) $+ $iif($6,$chr(44) $+ $6) $+ $iif($7,$chr(44) $+ $7) $+ $iif($8,$chr(44) $+ $8) $+ $iif($9,$chr(44) $+ $9) $+ $iif($10,$chr(44) $+ $10) $+ $iif($11,$chr(44) $+ $11) $+ $iif($12,$chr(44) $+ $12) $+ ) } var %sckstredit = $chr(175) $+ $replace($did(31),$chr(40),OBKT,$chr(41),CBKT,$chr(44),$chr(175)) $+ $chr(175) var %sckstredit = $regsubex(%sckstredit,/\$chrOBKT([0-9]+)CBKT/gSi,$chr(\t)) tokenize 175 %sckstredit if ($did(31) != $null) { did -ar sock_disp 16 $remove($did(16),$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) } tokenize 44 $did(30) if ($did(30) != $null) { set %sckdispchanges $chr(36) $+ replace( $+ %sckdispchanges $+ $iif($1,$chr(44) $+ $1) $+ $iif($2,$chr(44) $+ $2) $+ $iif($3,$chr(44) $+ $3) $+ $iif($4,$chr(44) $+ $4) $+ $iif($5,$chr(44) $+ $5) $+ $iif($6,$chr(44) $+ $6) $+ $iif($7,$chr(44) $+ $7) $+ $iif($8,$chr(44) $+ $8) $+ $iif($9,$chr(44) $+ $9) $+ $iif($10,$chr(44) $+ $10) $+ $iif($11,$chr(44) $+ $11) $+ $iif($12,$chr(44) $+ $12) $+ ) } var %sckstredit = $chr(175) $+ $replace($did(30),$chr(40),OBKT,$chr(41),CBKT,$chr(44),$chr(175)) $+ $chr(175) var %sckstredit = $regsubex(%sckstredit,/\$chrOBKT([0-9]+)CBKT/gSi,$chr(\t)) tokenize 175 %sckstredit if ($did(30) != $null) { did -ar sock_disp 16 $replace($did(16),$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) } if ($did(25).state == 1) { did -ar sock_disp 16 $nohtml($did(16)) | set %sckdispchanges $chr(36) $+ nohtml( $+ %sckdispchanges $+ ) } if ($did(92) != $null) { did -ar sock_disp 16 $eval($replace($did(92),@LINE@,$did(16)),2) | set %sckdispchanges $replace($did(92),@LINE@,%sckdispchanges) } } ; UPDATE CHANGES on *:dialog:sock_disp:sclick:32:{ $updatechanges } ; TOGGLE ADVANCED MODE on *:dialog:sock_disp:sclick:21:{ did $iif($did(21).state == 0,-h,-v) sock_disp 39-41,24,92,112,28,83,86-89,123,65-66,44,118,90 } ; SCRIPT CREATE on *:dialog:sock_disp:sclick:61:{ $updatechanges dialog -mad sock_disp_create sock_disp_create } ; ------------------- Create script --------------- dialog sock_disp_create { title "Create Script" size -1 -1 130 63 option dbu icon scksave.ico,0 edit "", 1, 6 17 96 10, limit 30 right text "What would you like to call this file?", 2, 14 8 87 8 button "OK", 3, 21 48 37 12, default radio ".mrc", 5, 104 15 23 7 radio ".txt", 6, 104 22 22 7 text "Note: If the filename already exists, it will be overwritten.", 4, 7 30 111 15 button "Cancel", 7, 64 48 37 12, cancel } ; INITILISATION COMMANDS on *:DIALOG:sock_disp_create:INIT:0: { did -c sock_disp_create 5 did -ar sock_disp_create 1 $did(sock_disp,60) } on *:dialog:sock_disp_create:sclick:3:{ if ($did(1) && $did(1) != notes && $did(1) != readme && $did(1) != versions) { did -f sock_disp 61 set %sockdispdir $replace($did(sock_disp_create,1),$chr(32),$chr(95)) set %sockdispdir $regsubex(%sockdispdir,/([\!\"\£\$\%\^\&\*\(\)\=\}\{\]\[\#\~\@\'\:\;\?\,\\\|\\\\<\>\¬\`\/])/g,$null) set %sockdispdir $+(",$scriptdir,%sockdispdir,$chr(46),$iif($did(5).state == 1,mrc,txt),") did -ar sock_disp 128 $nopath(%sockdispdir) unset %sckerror did -r sock_disp 97,98 if ($did(sock_disp,13) == $null) { did -a sock_disp 97 * You have not opened a socket to choose a line from | set %sckerror yes } if ($did(sock_disp,13) == $null || $did(sock_disp,13) == No line selected) { did -a sock_disp 97 * You have not selected a line within the socket! | set %sckerror yes } if ($did(sock_disp,64) == $null) { did -a sock_disp 97 * Must specify value ALWAYS on a line | set %sckerror yes } if ($did(sock_disp,42) == $null && $did(sock_disp,119).state == 1) || ($did(sock_disp,115) == $null && $did(sock_disp,119).state == 0) { did -a sock_disp 97 No trigger defined. Used !trigger | $simplerad | did -arv sock_disp 42 !trigger | did -c sock_disp 119 | did -u sock_disp 120 } if ($did(sock_disp,48) == $null) { did -a sock_disp 97 No output message: Used Result: @RESULT@ | did -a sock_disp 48 Result: @RESULT@ } if ($did(sock_disp,60) == $null) { did -a sock_disp 60 socket $+ $rand(100,100000) | did -a sock_disp 97 No socket defined: Used socket: $did(sock_disp,60) } if ($did(sock_disp,73) == $null) { did -a sock_disp 97 No variable defined. Value will be unset after. } if ($left($did(sock_disp,73),1) != $chr(37) && $did(sock_disp,73) != $null) { did -ar sock_disp 73 $chr(37) $+ $did(sock_disp,73) | did -a sock_disp 97 Corrected invalid variable - added $chr(37) $+ . } if (%sckerror != yes) { write -c %sockdispdir $chr(59) $iif($did(sock_disp,42).visible == $true,$did(sock_disp,42),$did(sock_disp,60)) script created using Chessnut's Simple Socket Script Creator write %sockdispdir $crlf write %sockdispdir $iif($did(sock_disp,42).visible == $false,$did(sock_disp,115),on *:text: $+ $did(sock_disp,42) $+ *:#: $chr(123)) if ($did(sock_disp,94).state == 1) write %sockdispdir var $chr(37) $+ sckid = $+($chr(36),right,$chr(40),$chr(36),ticks,$chr(44),5,$chr(41)) if ($did(sock_disp,94).state == 0) write %sockdispdir if ( $+ $chr(36) $+ sock( $+ $did(sock_disp,60) $+ )) .sockclose $did(sock_disp,60) if ($did(sock_disp,120).state == 1) { var %i = 1 while (%sckdisptrigway. [ $+ [ %i ] ]) { write %sockdispdir $iif($did(sock_disp,94).state == 0,%sckdisptrigway. [ $+ [ %i ] ],$replace(%sckdisptrigway. [ $+ [ %i ] ],$+($chr(37),way),$+($chr(37),way) $+ . $chr(91) $chr(36) $+ + $chr(91) $chr(37) $+ sckid $chr(93) $chr(93)))) inc %i } } if ($did(sock_disp,119).state = 1 && $did(sock_disp,46).state = 1) write %sockdispdir set $chr(37) $+ chan $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(37) $+ sckid $chr(93) $chr(93)) $chr(36) $+ chan if ($did(sock_disp,119).state = 1 && $did(sock_disp,47).state = 1) write %sockdispdir set $chr(37) $+ nick $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(37) $+ sckid $chr(93) $chr(93)) $chr(36) $+ nick write %sockdispdir sockopen $did(sock_disp,60) $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(37) $+ sckid $chr(93) $chr(93)) %sockdisphost %sockdispport write %sockdispdir $chr(125) write %sockdispdir on *:SOCKOPEN: $+ $did(sock_disp,60) $+ $iif($did(sock_disp,94).state == 1,.*) $+ : $chr(123) write %sockdispdir sockwrite -nt $chr(36) $+ sockname $iif($did(sock_disp,28).state == 1,GET,POST) %sockdisppage HTTP/1.1 write %sockdispdir sockwrite -nt $chr(36) $+ sockname Host: %sockdisphost $iif($did(sock_disp,40),write %sockdispdir sockwrite -nt $chr(36) $+ sockname User-Agent: $did(sock_disp,40)) var %j = 1 var %k = $did(sock_disp,88).lines while (%j <= %k) { if ($did(sock_disp,88) != $null) write %sockdispdir sockwrite -nt $chr(36) $+ sockname $did(sock_disp,88, [ $+ [ %j ] ] ) inc %j } write %sockdispdir sockwrite -nt $chr(36) $+ sockname $chr(36) $+ crlf write %sockdispdir $chr(125) write %sockdispdir on *:SOCKREAD: $+ $did(sock_disp,60) $+ $iif($did(sock_disp,94).state == 1,.*) $+ : $chr(123) write %sockdispdir if ( $+ $chr(36) $+ sockerr) $chr(123) if ($did(sock_disp,119).state == 1) { if ($did(sock_disp,46).state == 1) { write %sockdispdir msg $chr(37) $+ chan $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ right( $+ $chr(36) $+ sockname,5) $chr(93) $chr(93)) Socket Error: $chr(36) $+ sockname $chr(36) $+ + . Error code: $chr(36) $+ sockerr Please inform $chr(36) $+ me of this error message. } if ($did(sock_disp,47).state == 1) { write %sockdispdir notice $chr(37) $+ nick $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ right( $+ $chr(36) $+ sockname,5) $chr(93) $chr(93)) Socket Error: $chr(36) $+ sockname $chr(36) $+ + . Error code: $chr(36) $+ sockerr Please inform $chr(36) $+ me of this error message. } if ($did(sock_disp,91).state == 1) { write %sockdispdir echo -s Socket Error: $chr(36) $+ sockname $chr(36) $+ + . Error code: $chr(36) $+ sockerr $+ . } } else { write %sockdispdir $chr(37) $+ way $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ right( $+ $chr(36) $+ sockname,5) $chr(93) $chr(93)) Socket Error: $chr(36) $+ sockname $chr(36) $+ + . Error code: $chr(36) $+ sockerr Please inform $chr(36) $+ me of this error message. } write %sockdispdir halt write %sockdispdir $chr(125) write %sockdispdir else $chr(123) write %sockdispdir var $chr(37) $+ sockreader write %sockdispdir sockread $chr(37) $+ sockreader write %sockdispdir if (* $+ $did(sock_disp,64) $+ * iswm $iif($did(sock_disp,90).seltext == Before && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,$chr(37) $+ sockreader- [ $+ [ $did(sock_disp,44) ] ],$chr(37) $+ sockreader)) $+ $chr(41) $chr(123) $iif($did(sock_disp,33) != $null || $did(sock_disp,35) != $null,write %sockdispdir noop $chr(36) $+ regex( $+ $iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,$chr(37) $+ sockreader- [ $+ [ $did(sock_disp,44) ] ],$chr(37) $+ sockreader) $+ $chr(44) $+ / $+ $iif($did(sock_disp,33),$regexfriendly($did(sock_disp,33)),^) $+ (.*?) $+ $iif($did(sock_disp,35),$regexfriendly($did(sock_disp,35)),$) $+ /Si)) $iif($did(sock_disp,33) != $null || $did(sock_disp,35) != $null,set %sckdispchanges $replace(%sckdispchanges,$iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,% $+ sockreader- [ $+ [ $did(sock_disp,44) ] ],% $+ sockreader),$ $+ regml(1))) $iif($did(sock_disp,33) != $null || $did(sock_disp,35) != $null,write %sockdispdir $iif($did(sock_disp,73) == $null,var $+($chr(37),tempvar),set $did(sock_disp,73)) $replace(%sckdispchanges,@zero£,0),write %sockdispdir $iif($did(sock_disp,73) == $null,var $+($chr(37),tempvar), set $did(sock_disp,73)) $replace(%sckdispchanges,@zero£,0)) did -ar sock_disp 48 $regsubex($did(sock_disp,48),/(.*?[^ ])@RESULT@/Sig,\1 $chr(36) $+ + @RESULT@) did -ar sock_disp 48 $regsubex($did(sock_disp,48),/@RESULT@([^ ].*?)/Sig,@RESULT@ $chr(36) $+ + \1) if ($did(sock_disp,119).state == 1) { var %i = 1 var %c = $did(sock_disp,48).lines while (%i <= %c) { if ($did(sock_disp,46).state == 1) { write %sockdispdir msg $chr(37) $+ chan $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ right( $+ $chr(36) $+ sockname,5) $chr(93) $chr(93)) $replace($did(sock_disp,48, [ $+ [ %i ] ] ),@RESULT@,$iif($did(sock_disp,73) == $null,$+($chr(37),tempvar), $did(sock_disp,73))) } if ($did(sock_disp,47).state == 1) { write %sockdispdir notice $chr(37) $+ nick $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ right( $+ $chr(36) $+ sockname,5) $chr(93) $chr(93)) $replace($did(sock_disp,48, [ $+ [ %i ] ] ),@RESULT@,$iif($did(sock_disp,73) == $null,$+($chr(37),tempvar), $did(sock_disp,73))) } if ($did(sock_disp,91).state == 1) { write %sockdispdir echo -s $replace($did(sock_disp,48, [ $+ [ %i ] ] ),@RESULT@,$iif($did(sock_disp,73) == $null,$+($chr(37),tempvar), $did(sock_disp,73))) } inc %i } } else { var %i = 1 var %c = $did(sock_disp,48).lines while (%i <= %c) { write %sockdispdir $chr(37) $+ way $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ right( $+ $chr(36) $+ sockname,5) $chr(93) $chr(93)) $replace($did(sock_disp,48, [ $+ [ %i ] ] ),@RESULT@,$iif($did(sock_disp,73) == $null,$+($chr(37),tempvar), $did(sock_disp,73))) inc %i } } if ($did(sock_disp,94).state == 1) write %sockdispdir unset $chr(37) $+ * $+ $iif($did(sock_disp,94).state == 1,. $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ right( $+ $chr(36) $+ sockname,5) $chr(93) $chr(93)) if ($did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1) write %sockdispdir unset $chr(37) $+ sockreader* if ($did(sock_disp,119).state = 1 && $did(sock_disp,46).state = 1) write %sockdispdir unset $chr(37) $+ chan if ($did(sock_disp,119).state = 1 && $did(sock_disp,47).state = 1) write %sockdispdir unset $chr(37) $+ nick write %sockdispdir sockclose $chr(36) $+ sockname write %sockdispdir $chr(125) if ($did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1) { write %sockdispdir if ($len($remove(%sockreader,$chr(9),$chr(32))) > 0) $chr(123) write %sockdispdir var $chr(37) $+ x = $calc($did(sock_disp,44) - 1) write %sockdispdir while (%x > -1) $chr(123) write %sockdispdir if ($len(%sockreader $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ iif(%x != 0,$+(-,%x)) $chr(93) $chr(93) $+ ) <= 850) set $chr(37) $+ sockreader $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ +(-,$calc(%x + 1)) $chr(93) $chr(93) $chr(37) $+ sockreader $chr(91) $chr(36) $+ + $chr(91) $chr(36) $+ iif(%x != 0,$+(-,%x)) $chr(93) $chr(93) write %sockdispdir dec $chr(37) $+ x write %sockdispdir $chr(125) write %sockdispdir $chr(125) } write %sockdispdir $chr(125) write %sockdispdir $chr(125) did -a sock_disp 97 Full script successfully saved to $+($scriptdir,%sockdispdir) did -a sock_disp 97 SCRIPT CREATED SUCCESSFULLY. dialog -x sock_disp_create sock_disp_create } else { did -a sock_disp 97 SCRIPT NOT CREATED. dialog -x sock_disp_create sock_disp_create } } } ; ----------------- Back to main dialog ----------------------- ; SELECT CREATION LINE on *:dialog:sock_disp:sclick:97:{ did -ar sock_disp 98 $did(97).seltext } ; FIND ERROR on *:dialog:sock_disp:sclick:99:{ if ($did(98) == $null) halt if (*opened a socket to choose* iswm $did(98)) || (*not selected a line* iswm $did(98)) { did -f sock_disp 5 | did -f sock_disp 2 } if (*value ALWAYS on a line* iswm $did(98)) { did -f sock_disp 6 | did -f sock_disp G } if (*No trigger* iswm $did(98)) { did -f sock_disp 42 } if (*No output* iswm $did(98)) { did -f sock_disp 48 } if (*No socket* iswm $did(98)) { did -f sock_disp 60 } if (*No variable* iswm $did(98)) { did -f sock_disp 73 } if (*invalid variable* iswm $did(98)) { did -f sock_disp 73 } } ; SCRIPT TEST on *:dialog:sock_disp:sclick:51:{ if (%sockdisphost && %sockdispport && $did(13) != No line selected) { did -h sock_disp 80 did -h sock_disp 81 did -r sock_disp 76,55,52 did -r sock_disp 68 Script initialised if ($sock(testsock)) .sockclose testsock set %reponce 1 unset %testvalue sockopen testsock %sockdisphost %sockdispport } } on *:SOCKOPEN:testsock: { did -a sock_disp 68 Socket opened successfully sockwrite -nt $sockname $iif($did(sock_disp,28).state == 1,GET,POST) %sockdisppage HTTP/1.1 sockwrite -nt $sockname Host: %sockdisphost $iif($did(sock_disp,40),sockwrite -nt $sockname User-Agent: $did(sock_disp,40)) var %j = 1 var %k = $did(sock_disp,88).lines while (%j <= %k) { sockwrite -nt $sockname $did(sock_disp,88, [ $+ [ %j ] ] ) inc %j } sockwrite -nt $sockname $crlf did -a sock_disp 68 Written data to socket: Host: %sockdisphost $+ , Page: %sockdisppage } on *:SOCKREAD:testsock: { if ($sockerr) { did -a sock_disp 68 SOCKET ERROR: $sockerr $iif(%testvalue != $null,did -v sock_disp 80,did -v sock_disp 81) halt } else { if (%reponce == 1) { did -a sock_disp 68 Socket read without errors. set %reponce 0 } var %sockreader sockread %sockreader if ($len($remove(%sockreader,$chr(9),$chr(32))) = 0) halt if ($+(*,$did(sock_disp,64),*) iswm $iif($did(sock_disp,90).seltext == Before && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,%sockreader- [ $+ [ $did(sock_disp,44) ] ],%sockreader)) { did -a sock_disp 68 Line found: $iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,%sockreader- [ $+ [ $did(sock_disp,44) ] ],%sockreader) did -ra sock_disp 52,55 $iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,%sockreader- [ $+ [ $did(sock_disp,44) ] ],%sockreader) set %sckdispchanges $iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,$chr(37) $+ sockreader- [ $+ [ $did(sock_disp,44) ] ],$chr(37) $+ sockreader) if ($did(sock_disp,85).state == 1) { did -ar sock_disp 55 $nohtml($did(sock_disp,55)) | set %sckdispchanges $chr(36) $+ nohtml( $+ %sckdispchanges $+ ) } noop $regex($did(sock_disp,55),/ $+ $iif($did(sock_disp,33),$regexfriendly($did(sock_disp,33)),^) $+ (.*?) $+ $iif($did(sock_disp,35),$regexfriendly($did(sock_disp,35)),$) $+ /Si) if ($regml(1)) set $iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,% $+ sockreader- [ $+ [ $did(sock_disp,44) ] ],% $+ sockreader) $regml(1) tokenize 44 $replace($did(sock_disp,31),0,@zero£) if ($did(sock_disp,31) != $null) { did -ar sock_disp 55 $remove($did(sock_disp,16),$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) | set %sckdispchanges $chr(36) $+ remove( $+ %sckdispchanges $+ $iif($1 != $null,$chr(44) $+ $1) $+ $iif($2,$chr(44) $+ $2) $+ $iif($3,$chr(44) $+ $3) $+ $iif($4,$chr(44) $+ $4) $+ $iif($5,$chr(44) $+ $5) $+ $iif($6,$chr(44) $+ $6) $+ $iif($7,$chr(44) $+ $7) $+ $iif($8,$chr(44) $+ $8) $+ $iif($9,$chr(44) $+ $9) $+ $iif($10,$chr(44) $+ $10) $+ $iif($11,$chr(44) $+ $11) $+ $iif($12,$chr(44) $+ $12) $+ ) } tokenize 44 $replace($did(sock_disp,30),0,@zero£) if ($did(sock_disp,30) != $null) { did -ar sock_disp 55 $replace($did(sock_disp,16),$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) | set %sckdispchanges $chr(36) $+ replace( $+ %sckdispchanges $+ $iif($1,$chr(44) $+ $1) $+ $iif($2,$chr(44) $+ $2) $+ $iif($3,$chr(44) $+ $3) $+ $iif($4,$chr(44) $+ $4) $+ $iif($5,$chr(44) $+ $5) $+ $iif($6,$chr(44) $+ $6) $+ $iif($7,$chr(44) $+ $7) $+ $iif($8,$chr(44) $+ $8) $+ $iif($9,$chr(44) $+ $9) $+ $iif($10,$chr(44) $+ $10) $+ $iif($11,$chr(44) $+ $11) $+ $iif($12,$chr(44) $+ $12) $+ ) } if ($did(sock_disp,25).state == 1) { did -ar sock_disp 55 $nohtml($did(sock_disp,16)) | set %sckdispchanges $chr(36) $+ nohtml( $+ %sckdispchanges $+ ) } if ($did(sock_disp,92) != $null) { did -ar sock_disp 55 $eval($replace($did(sock_disp,92),@LINE@,$did(sock_disp,55)),2) | set %sckdispchanges $replace($did(sock_disp,92),@LINE@,%sckdispchanges) } set %testvalue $eval($retchanges,2) did -ra sock_disp 55 %testvalue did -a sock_disp 68 $iif(%testvalue != $null,Data found: %testvalue,DATA NOT FOUND) $iif(%testvalue != $null && $did(sock_disp,52) != HTTP/1.1 200 OK,did -v sock_disp 80,did -v sock_disp 81) var %i = 1 var %c = $did(sock_disp,48).lines while (%i <= %c) { did -a sock_disp 56 $iif($did(sock_disp,91).state == 1,$chr(124) ECHO $chr(124) $+ >,< $+ $me $+ >) $replace($did(sock_disp,48, [ $+ [ %i ] ] ),@RESULT@,%testvalue) inc %i } unset %reponce unset %testvalue unset %sockreader* sockclose testsock } if ($did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1) { if ($len($remove(%sockreader,$chr(9),$chr(32))) > 0) { var %x = $calc($did(sock_disp,44) - 1) while (%x > -1) { if ($len(%sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]) <= 850) set %sockreader [ $+ [ $+(-,$calc(%x + 1)) ] ] %sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ] dec %x } } } } } on *:SOCKCLOSE:testsock: { did -a sock_disp 68 Socket closed successfully $iif(%testvalue != $null && $did(sock_disp,52) != HTTP/1.1 200 OK,did -v sock_disp 80,did -v sock_disp 81) } ; TEST LINE SELECT on *:dialog:sock_disp:sclick:68:{ did -ar sock_disp 76 $did(68).seltext } ; FAKE CHAT WINDOW SELECT on *:dialog:sock_disp:sclick:56:{ did -ar sock_disp 77 $did(56).seltext } ; NEXT CLICK on *:dialog:sock_disp:sclick:70:{ did -fu sock_disp 37 } ; CHECK FROM OTHER LINE on *:dialog:sock_disp:sclick:123:{ did $iif($did(123).state == 0,-b,-e) sock_disp 65,44,66,118,90 } ; CHECK LINES CLICK on *:dialog:sock_disp:sclick:124:{ if ($did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1) { did -r sock_disp 125 if ($did(44)) dialog -mad sock_disp_check sock_disp_check else did -ar sock_disp 125 The number of lines cannot be zero. } else { dialog -mad sock_disp_lineref sock_disp_lineref } } ;;;;;;;;;;;;;;;;;;;; CHECK LINES DIALOG ;;;;;;;;;;;;;;; dialog sock_disp_check { title "Multiple line reference checker" size -1 -1 155 167 option dbu icon sckicon.ICO, 0 edit "", 1, 7 36 141 10, read autohs text "The line you wish to get is:", 2, 8 28 86 8 text "If the following information is correct, you have the right line selected!", 3, 18 4 126 14, center box "Specified lines", 4, 5 20 145 53 text "The line that should contain the unique data/string is:", 5, 8 49 133 8 edit "", 6, 7 58 141 10, read autohs edit "", 7, 7 93 141 10, read autohs text "IS on the line that you have specified to contain the unique data/string", 8, 9 105 132 14 text "The unique string you specified:", 9, 9 85 116 8 box "Valid?", 10, 5 77 145 68 icon 17, 68 121 15 15, sckcross.png, 0, hide icon 11, 68 121 15 15, scktick.png, 0, hide button "OK", 12, 57 149 37 12, default ok cancel } on *:DIALOG:sock_disp_check:INIT:0: { did -ar sock_disp_check 7 $did(sock_disp,64) sockopen dsock.2 %sockdisphost %sockdispport } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; CHECK LINES DIALOG - SIMPLE ;;;;;;;;;;;;;;; dialog sock_disp_lineref { title "Line Reference Checker" size -1 -1 153 168 option dbu icon sckicon.ICO, 0 text "If the following information is correct, you have used the right data to identify the line.", 1, 23 5 110 16, center edit "", 2, 8 39 137 10, read autohs text "The data you have selected to identify the line is:", 3, 9 31 124 7 box "Line identification", 4, 4 22 145 66 text "The first line that contains this, and the line that you wish to get data from, is:", 5, 9 53 125 15 edit "", 6, 8 69 137 10, read autohs button "OK", 7, 59 146 37 12, result default ok cancel icon 11, 69 119 15 15, scktick.png, 0, hide box "Result", 8, 4 91 145 50 text "", 9, 10 100 129 16 icon 10, 69 119 15 15, sckcross.png, 0, hide } on *:DIALOG:sock_disp_lineref:INIT:0: { did -ar sock_disp_lineref 2 $did(sock_disp,64) sockopen dsock.3 %sockdisphost %sockdispport } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; VIEW SCRIPT CLICK on *:dialog:sock_disp:sclick:71:{ run notepad.exe %sockdispdir } ; TO TEST CLICK on *:dialog:sock_disp:sclick:82:{ did -fu sock_disp 38 } ; VIEW IN BROWSER on *:dialog:sock_disp:sclick:84:{ if ($left($did(3),7) != http:// && $did(3) != $null) did -ar sock_disp 3 http:// $+ $did(3) $iif($did(3),run $did(3)) } ; SOCKCLOSE CLICK on *:dialog:sock_disp:sclick:83:{ if ($sock(testsock)) { .sockclose testsock | did -a sock_disp 68 Socket forced closed by user. } } ; LOAD SCRIPT on *:dialog:sock_disp:sclick:111:{ if ($exists(%sockdispdir) == $true) { if ($?!"This will load your script into remotes. Any script with the same name will be overwritten. Continue?" == $true) { load -rs %sockdispdir did -a sock_disp 68 Script $qt($nopath(%sockdispdir)) loaded. } else did -a sock_disp 68 Script loading cancelled. did -f sock_disp 111 } else { did -a sock_disp 68 No such file: $qt(%sockdispdir) } } ; HELP CLICK on *:dialog:sock_disp:sclick:18:{ if ($+($scriptdir,SockCreator_readme.txt)) { run $scriptdir $+ SockCreator_readme.txt } else echo -a Help file not found. } ; FEEDBACK CLICK on *:dialog:sock_disp:sclick:117:{ run mailto:chessnutrs@gmail.com } ; TRIGGER RADIO CHANGE -> ADV on *:dialog:sock_disp:sclick:120:{ did -h sock_disp 91,47,46,42 did -v sock_disp 113,115 } alias -l simplerad { did -v sock_disp 91,47,46,42 did -h sock_disp 113,115 } ; TRIGGER RADIO CHANGE -> SIMPLE on *:dialog:sock_disp:sclick:119:{ $simplerad } ; ADV TRIGGER OPTIONS on *:dialog:sock_disp:sclick:113:{ dialog -mad sock_disp_trig sock_disp_trig } ; -------------- Update Checker ---------------------- dialog sock_disp_upd { title "Autoupdater" size -1 -1 162 229 option dbu icon sckupd.ICO, 0 edit "Connecting to update page... (http://h1.ripway.com/Chessnut/sckupdates.txt)", 1, 8 4 145 17, read multi center text "Newest Version:", 2, 88 31 40 8 edit "", 3, 54 30 20 10, disable text "Current Version:", 4, 13 31 41 8 edit "", 5, 128 30 20 10, disable text "Up-to-date?", 6, 12 47 30 8 icon 7, 44 43 15 15, scktick.png, 0, hide box "Version check", 8, 9 23 146 56 box "Latest version", 9, 9 82 146 79 button "Cancel", 10, 63 211 38 15, cancel text "New features:", 12, 14 91 41 8 edit "", 14, 14 102 136 55, read multi hsbar vsbar text "Connecting to update page...", 16, 64 44 88 15 icon 17, 45 43 14 14, sckcross.png, 0, hide box "Topics", 18, 8 163 146 45, disable button "Latest version SwiftIRC topic", 19, 28 171 43 17, disable multi button "Latest version Hawkee topic", 20, 94 171 43 17, disable multi text "", 21, 61 91 36 8, hide text "", 22, 103 91 36 8, hide text "Click one of the above topics for the latest update download link.", 11, 16 191 133 13, disable edit "", 13, 68 64 83 10, read autohs text "Expected release date for next version:", 15, 11 62 56 13 } ; CHECK FOR UPDATES on *:dialog:sock_disp:sclick:122:{ if ($sock(sckdispupd)) sockclose sckdispupd dialog -mad sock_disp_upd sock_disp_upd did -ar sock_disp_upd 3 $remove($did(sock_disp,121),v) sockopen sckdispupd h1.ripway.com 80 } ; http://h1.ripway.com/Chessnut/sckupdates.txt on *:SOCKOPEN:sckdispupd: { sockwrite -nt $sockname GET /Chessnut/sckupdates.txt HTTP/1.1 sockwrite -nt $sockname Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 sockwrite -nt $sockname Accept-Language: en-gb,en;q=0.5 sockwrite -nt $sockname Host: h1.ripway.com sockwrite -nt $sockname Keep-Alive: 300 sockwrite -nt $sockname Proxy-Connection: keep-alive sockwrite -nt $sockname If-None-Match: "fa7ba6628f3cc71:3ff" sockwrite -nt $sockname Pragma: no-cache sockwrite -nt $sockname Cache-Control: no-cache sockwrite -nt $sockname $crlf } on *:SOCKREAD:sckdispupd: { if ($sockerr) { did -ar sock_disp_upd 1 Error connecting to update page: $sockerr $crlf Page: http://h1.ripway.com/Chessnut/sckupdates.txt did -ar sock_disp_upd 16 Error connecting to update page. halt } else { var %sockreader sockread %sockreader if ($regex(%sockreader,/Latest Version: (.*?) !END!/)) { did -ar sock_disp_upd 1 Connection Established. did -ar sock_disp_upd 5 $regml(1) } if ($regex(%sockreader,/Latest Version Topic URLs: (.*?) !END!/)) { tokenize 124 $regml(1) did -ar sock_disp_upd 21 $1 did -ar sock_disp_upd 22 $2 } if ($regex(%sockreader,/Updates in the new version: (.*?) !END!/)) { did -ar sock_disp_upd 14 $replace($regml(1),$+($chr(124),$chr(32)),$crlf) } if ($regex(%sockreader,/Next Version: (.*?) !END!/)) { if ($did(sock_disp_upd,5) <= $did(sock_disp_upd,3)) { did -ar sock_disp_upd 13 $regml(1) } } if ($regex(%sockreader,/:END OF FILE:/)) { sockclose sckdispupd if ($did(sock_disp_upd,5) <= $did(sock_disp_upd,3)) { did -v sock_disp_upd 7 did -ar sock_disp_upd 16 Your Simple Socket Script Creator is up to date! did -ev sock_disp_upd 11,18-20 } else { did -ev sock_disp_upd 11,17-20 did -ar sock_disp_upd 13 It's out now! did -ar sock_disp_upd 16 Version $did(sock_disp_upd,5) has been released. You are strongly advised to update. } } if ( iswm %sockreader) { sockclose sckdispupd did -ar sock_disp_upd 1 Error connecting to update page. $crlf Page: http://h1.ripway.com/Chessnut/sckupdates.txt did -ar sock_disp_upd 16 Error connecting to update page: Url not found? } } } ; SwiftIRC CLICK on *:dialog:sock_disp_upd:sclick:19:{ run $did(21) } ; Hawkee CLICK on *:dialog:sock_disp_upd:sclick:20:{ run $did(22) } ; ---------------------- Trigger Dialog ------------------------ dialog sock_disp_trig { title "Trigger Creation" size -1 -1 162 213 option dbu icon sckicon.ico,0 tab "Advanced Trigger Creation", 1, 7 2 146 195 box "Finished Trigger", 2, 15 152 133 27, tab 1 button "Cancel", 3, 107 181 37 12, tab 1 cancel button "Use Trigger", 4, 14 181 37 12, tab 1 ok cancel default edit "", 5, 19 161 124 12, tab 1 read autohs box "Starting characters", 7, 15 18 132 36, tab 1 text "Enter possible starting characters. E.G. '!@-' will trigger on !TEXT, @TEXT and -TEXT", 9, 21 38 122 13, tab 1 radio "Message channel", 12, 80 110 50 7, tab 1 radio "Notice nick", 18, 80 119 50 7, group tab 1 radio "Echo status", 11, 80 128 50 7, tab 1 box "Define starting character action", 13, 15 92 133 59, tab 1 list 17, 22 101 50 43, tab 1 size button "See example", 6, 108 200 36 10, tab 1 edit "", 8, 23 26 117 12, autohs text "Enter possible text triggers separated with a comma. E.G. 'google,search,find'", 14, 21 75 122 13 box "Text trigger", 15, 15 55 132 36 edit "", 16, 22 63 117 12, autohs } ; INITILISATION COMMANDS on *:DIALOG:sock_disp_trig:INIT:0: { did -c sock_disp_trig 12 if ($did(sock_disp,115) != $null) { noop $regex($did(sock_disp,115),/\[(.*?)\]\((.*?)\)/g) did -ar sock_disp_trig 8 $remove($regml(1),\) did -ar sock_disp_trig 16 $replace($remove($regml(2),\),$chr(124),$chr(44)) var %i = 0 while (%i != $len($did(8))) { inc %i did -a sock_disp_trig 17 $mid($did(8),%i,1) if (!%sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ]) set %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ] ,12,18,11 } if ($did(16) != $null && $did(8) != $null) did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41),/Si:#:, ,$chr(123)) } } ; PRIM TRIGGER EDIT on *:dialog:sock_disp_trig:edit:8:{ did -r sock_disp_trig 17,5 if ($did(16) != $null && $did(8) != $null) did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41),/Si:#:, ,$chr(123)) var %i = 0 while (%i != $len($did(8))) { inc %i did -a sock_disp_trig 17 $mid($did(8),%i,1) if (!%sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ]) set %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ] ,12,18,11 } } ; SEC TRIGGER EDIT on *:dialog:sock_disp_trig:edit:16:{ did -r sock_disp_trig 5 if ($did(16) != $null && $did(8) != $null) did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41),/Si:#:, ,$chr(123)) } ; RADIO CHANGES on *:dialog:sock_disp_trig:sclick:12:{ set %sckdisptrigt. [ $+ [ $did(17).seltext ] ] ,12,18,11 } on *:dialog:sock_disp_trig:sclick:18:{ set %sckdisptrigt. [ $+ [ $did(17).seltext ] ] ,18,12,11 } on *:dialog:sock_disp_trig:sclick:11:{ set %sckdisptrigt. [ $+ [ $did(17).seltext ] ] ,11,18,12 } ; LISTBOX CHANGE on *:dialog:sock_disp_trig:sclick:17:{ tokenize 44 %sckdisptrigt. [ $+ [ $did(17).seltext ] ] did -c sock_disp_trig $1 did -u sock_disp_trig $2 $+ $chr(44) $+ $3 } ; USE TRIGGER on *:dialog:sock_disp_trig:sclick:4:{ if ($did(16) != $null && $did(8) != $null) did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41),/Si:#:, ,$chr(123)) unset %sckdisptrigway.* var %i = 1 while (%i <= $len($did(8))) { if ($gettok(%sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ],1,44) == 12) set %sckdisptrigway. [ $+ [ %i ] ] msg $+($chr(36),chan) if ($gettok(%sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ],1,44) == 18) set %sckdisptrigway. [ $+ [ %i ] ] notice $+($chr(36),nick) if ($gettok(%sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ],1,44) == 11) set %sckdisptrigway. [ $+ [ %i ] ] echo -s set %sckdisptrigway. [ $+ [ %i ] ] if $+($chr(40),$chr(36),left,$chr(40),$chr(36),1,$chr(44),1,$chr(41),$chr(32),==,$chr(32),$mid($did(8),%i,1),$chr(41)) set $+($chr(37),way) %sckdisptrigway. [ $+ [ %i ] ] inc %i } did -ar sock_disp 115 $did(5) } ; SEE EXAMPLE on *:dialog:sock_disp_trig:sclick:6:{ did -ar sock_disp_trig 8 !@- did -ar sock_disp_trig 16 google,search,find did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41)/Si:#:, ,$chr(123)) set %sckdisptrigt.! ,18,11,12 set %sckdisptrigt.@ ,12,18,11 set %sckdisptrigt.- ,11,18,11 did -r sock_disp_trig 17 var %i = 0 while (%i != $len($did(8))) { inc %i did -a sock_disp_trig 17 $mid($did(8),%i,1) if (!%sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ]) set %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ] ,12,18,11 } } ; CLOSE TRIGGER CREATION on *:dialog:sock_disp_trig:close:0:{ var %i = 0 while (%i != $len($did(8))) { inc %i did -a sock_disp_trig 17 $mid($did(8),%i,1) set %sckdisptrigsafe. [ $+ [ $mid($did(8),%i,1) ] ] %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ] } unset %sckdisptrigt.* var %i = 0 while (%i != $len($did(8))) { inc %i did -a sock_disp_trig 17 $mid($did(8),%i,1) set %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ] %sckdisptrigsafe. [ $+ [ $mid($did(8),%i,1) ] ] } unset %sckdisptrigsafe.* }