Chat Umschreibung Suche jemanden Der mir das Umschreibt
Also der Server Fuktioniert.
Nur der CLient Mäckert.
Für die die Zufaul sind es zu Downloaden (Ich)
Spoiler anzeigen
; include
#include <GUIConstants.au3>
#include <IE.au3>
#include <Array.au3>
#include <GuiListView.au3>
; autoit options
Opt("GUIOnEventMode", 1)
; ---------- CONSTANTS - DEFINITIONS -------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; protocol
Global Const $USER_LIST = "USERLIST"
Global Const $USER_JOIN = "USERJOIN"
Global Const $USER_QUIT = "USERQUIT"
Global Const $CHANGE_NICK = "CHNGNICK"
Global Const $PUBLIC_MESSAGE = "PUBLMESG"
Global Const $ME_MESSAGE = "MEMESSAG"
Global Const $PRIVATE_MESSAGE = "PRIVMESG"
Global Const $YOUR_NICK = "YOURNICK"
Global Const $IMPORTANT = "IMPORTNT"
Global Const $GIVE_NICK = "GIVENICK"
Global Const $NICK_OKAY = "NICKOKAY"
Global Const $NICK_ERROR = "NICKEROR"
Global Const $PLAIN_MESSAGE = "PLAINMSG"
Global Const $EOL = @LF
; print aliases
Global Const $CHTNOTICE = 2
Global Const $SYSNOTICE = 3
; config
Global Const $CONFIG = "data\config.ini"
Global Const $EMOTES_FILE = "data\emotes.txt"
; userlist
Global $NickList[1]
Global $ListItem[50][3] ; [item places][0: ctrl-id, 1: nickname, 2: ip]
; connection
Global $IP = @IPAddress1
Global $Port = 47295
; chat related
Global $Buffer
Global $Name
Global $Line = False
Global $LineSet = False
; debug
; Global $Timer = TimerInit() ; ###### DEBUG
; ---------- *.INI -------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]If FileExists($CONFIG) Then
$IP = IniRead($CONFIG, "connection", "host", @IPAddress1)
$State = IniRead($CONFIG, "gui", "maximize", "no")
$Trans = IniRead($CONFIG, "gui", "transparency", 100)
$s_where = IniRead($CONFIG, "gui", "lines", "beforeend")
If Not StringRegExp($s_where, "\A(beforeend|afterbegin)\z") Then $s_where = "beforeend"
$Name = IniRead($CONFIG, "user", "nickname", "")
Else
IniWrite($CONFIG, "connection", "host", $IP)
IniWrite($CONFIG, "gui", "maximize", "no")
$State = "no"
IniWrite($CONFIG, "gui", "transparency", 100)
$Trans = 100
IniWrite($CONFIG, "gui", "lines", "beforeend")
$s_where = "beforeend"
$Tmp = InputBox("AuChat", "Wie willst du heißen?" & @LF & @LF & "(Später mit /nick änderbar, siehe /help im Chat.)")
If Not @error And $Tmp <> "" Then
IniWrite($CONFIG, "user", "nickname", $Tmp)
$Name = $Tmp
EndIf
EndIf
; ---------- DEBUG -------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]#cs
HotKeySet("{F9}", "debug") ; ## DEBUG
Func debug()
FileWrite("Log.txt", $oIE.document.documentElement.outerHTML)
ShellExecute("Log.txt")
Sleep(250)
FileDelete("Log.txt")
EndFunc
#ce
; ---------- GUI ---------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]$GUI = GuiCreate("AuChat", 700, 500, -1, -1)
GUISetFont(10, -1, 0, "Tahoma")
GUISetBkColor(0xFFFFFF)
$oIE = _IECreateEmbedded()
GUICtrlCreateObj($oIE, 0, 0, 470, 473)
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
$Listview = GUICtrlCreateListView("Nick|IP", 470, 0, 230, 473, BitAND($GUI_SS_DEFAULT_LISTVIEW, BitNOT($LVS_SHOWSELALWAYS)), $LVS_EX_CHECKBOXES + $LVS_EX_FULLROWSELECT)
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKBOTTOM + $GUI_DOCKWIDTH)
; GUICtrlSetFont(-1, 10, 700, 0, "Verdana")
$Input = GuiCtrlCreateInput("", 0, 473, 700, 27)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)
GuiCtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetFont(-1, 13 + 0.5, -1, 0, "Arial") ; 13 pt
GUICtrlSetColor(-1, 0x333333)
GUICtrlSetBkColor(-1, 0xFFFFFF)
; events and messages
GUISetOnEvent($GUI_EVENT_CLOSE, "gui_event")
GUISetOnEvent($GUI_EVENT_RESIZED, "gui_event")
GUISetOnEvent($GUI_EVENT_RESTORE, "gui_event")
GUIRegisterMsg($WM_COMMAND, "gui_msg")
Func gui_event()
Switch @GUI_CTRLID
Case $GUI_EVENT_CLOSE
Exit 0
Case $GUI_EVENT_RESIZED, $GUI_EVENT_RESTORE
scroll()
EndSwitch
EndFunc
Func gui_msg($hWnd, $Msg, $wParam, $lParam)
Switch 1
Case BitAnd($wParam, 0x0000FFFF)
Submit()
GUICtrlSetState($Input, $GUI_FOCUS)
EndSwitch
EndFunc
_IENavigate($oIE, "file:///" & StringReplace(@ScriptDir, "\", "/") & "/data/body.html")
[/autoit] [autoit][/autoit] [autoit]If $Trans <> 100 Then WinSetTrans($GUI, "", Round(255 / 100 * $Trans))
[/autoit] [autoit][/autoit] [autoit]GuiSetState()
[/autoit] [autoit][/autoit] [autoit]If $State = "yes" Then GuiSetState(@SW_MAXIMIZE)
[/autoit] [autoit][/autoit] [autoit]; ---------- START -------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]TCPStartup()
[/autoit] [autoit][/autoit] [autoit]GUICtrlSetData($Input, "Verbinde...")
[/autoit] [autoit][/autoit] [autoit]print("Versuche zur IP °b" & $IP & "°b zu verbinden, bitte warten...", $SYSNOTICE)
[/autoit] [autoit][/autoit] [autoit]$Socket = TCPConnect($IP, $Port)
If $Socket <> -1 Then
GUICtrlSetData($Input, "")
GUICtrlSetState($Input, $GUI_ENABLE + $GUI_FOCUS)
print("°bVerbindung°b zum Chat-Server °bhergestellt°b.", $SYSNOTICE)
ElseIf @error = 1 Then
print("Die Verbindung konnte nicht aufgebaut werden weil die IP falsch ist!", $SYSNOTICE)
GUICtrlSetState($Input, $GUI_DISABLE)
GUICtrlSetData($Input, "Keine Verbindung")
Stop()
Else ; wrong port or other errors
print("Chat-Server derzeit °bnicht erreichbar°b!", $SYSNOTICE)
GUICtrlSetState($Input, $GUI_DISABLE)
GUICtrlSetData($Input, "Keine Verbindung")
Stop()
EndIf
; ----- read emotes in definition file
[/autoit] [autoit][/autoit] [autoit]If FileExists($EMOTES_FILE) Then
Global $emotes[1]
$handle = FileOpen($EMOTES_FILE, 0)
While 1
$read = FileReadLine($handle)
If @error = -1 Then ExitLoop
$read = StringStripWS($read, 3)
If StringLeft($read, 2) = "//" Or $read = "" Then ContinueLoop ; comment in file
_ArrayAdd($emotes, $read)
; MsgBox(0, "", $read) ; debug
WEnd
FileClose($handle)
Else
MsgBox(0, "AuChat", "Hinweis: Datei " & $EMOTES_FILE & " fehlt.") ; debug, muss später besser umgesetzt werden
EndIf
; ---------- WHILE -------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]While 1
; Pakete empfangen
$sRecv = TCPRecv($Socket, 2048)
If $sRecv <> "" Then
PaketBuffer($sRecv)
ElseIf @error Then
PaketReadAll($Buffer) ; alle übrigen pakete noch verarbeiten
print("°bVerbindung°b zum Chat-Server °bverloren°b!", $SYSNOTICE)
TCPCloseSocket($Socket)
Stop()
EndIf
; Pakete verarbeiten
PaketReadAll($Buffer)
; Abwesenheitslinie
If WinActive($GUI) Then
If $LineSet Then
$Line = False
$LineSet = False
EndIf
Else
If Not $LineSet Then
$Line = True
$LineSet = True
EndIf
EndIf
WEnd
; ---------- FUNCTIONS ---------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]Func print($sHTML, $Format = 1, $Code = 1)
If $Code Then $sHTML = code2html($sHTML) ; important
#cs
Formatierungen:
0: blank string
1: normal line
2: chat notice
3: system notice
4: important server notice
5: /me
#ce
Switch $Format
Case 1
$sHTML = '<p>' & $sHTML & '</p>'
Case 2
$sHTML = '<p class="chat">' & $sHTML & '</p>'
Case 3
$sHTML = '<p class="system">' & $sHTML & '</p>'
Case 4
$sHTML = '<p class="important">' & $sHTML & '</p>'
Case 5
$sHTML = '<p class="me">' & $sHTML & '</p>'
EndSwitch
If $Line Then
; ----- alte linien löschen damit immer nur eine vorhanden ist
;$div = _IEGetObjByName($oIE, "line") ; funzt nicht.. vielleicht weil lines generiert und nicht im echten quellcode sind
; $div = _IETagNameGetCollection($oIE, "div") ; ist fricklig weil ALLE div gelöscht werden würden
#cs
If IsArray($div) Then ; #### DEBUG
_ArrayDisplay($div)
Else
MsgBox(0, "", $div)
EndIf
#ce
; <<<<<<<<funzt alles nicht weil code generiert ist und nicht real existiert>>>>>>
;For $i = 0 To UBound($div)-1
; _IEAction($div[$i], "delete") ; funzt nicht
; _IEPropertySet($div[$i], "visible", 0) ; falls das erste nicht funzen sollte
;Next
; ----- neue linie adden
$sHTML = '<div class="line"></div>' & $sHTML
$Line = False
EndIf
; $sHTML &= "] " & Round(TimerDiff($Timer), 1) ; ##### DEBUG
[/autoit] [autoit][/autoit] [autoit]$oBody = _IETagNameGetCollection($oIE, "body", 0)
_IEDocInsertHTML($oBody, $sHTML, $s_where)
scroll()
; MsgBox(0, "print", $sHTML) ; ##### DEBUG
EndFunc
Func scroll()
$iDocHeight = $oIE.document.body.scrollHeight
$oIE.document.parentWindow.scrollTo(0, $iDocHeight)
EndFunc
Func htmlmask($str)
$str = StringReplace($str, "&", "&")
$str = StringReplace($str, "<", "<")
$str = StringReplace($str, ">", ">")
$str = StringReplace($str, '"', """)
Return StringReplace($str, Chr(32) & Chr(32), Chr(32) & " ")
EndFunc
; ----- INTERPRETERS
[/autoit] [autoit][/autoit] [autoit]Func code2html($ret)
; uri
$ret = StringRegExpReplace($ret, "(https?://.+?\.+.+?)([^\-/a-zA-Z0-9.?=&;_+#]{1}|\z)", '<a href="\1" target="_blank">\1</a>\2')
; emotes
Local $count = 0
If IsDeclared("emotes") Then
For $i = 1 To UBound($emotes)-1
$ret = StringReplace($ret, "°" & StringTrimRight($emotes[$i], 4), emote($emotes[$i]), 1)
If @extended > 0 Then $count += 1 ; wenn smiley gefunden
If $count > 5 Then ExitLoop
Next
For $i = 1 To UBound($emotes)-1 ; restliche zu "text" ersetzen
$ret = StringReplace($ret, "°" & StringTrimRight($emotes[$i], 4), "*" & StringTrimRight($emotes[$i], 4) & "*")
Next
EndIf
; breakers
$ret = StringReplace($ret, "°br", '<br><span class="br">........</span>')
$ret = StringReplace($ret, "°nl", "<br>")
; colors
$ret = StringRegExpReplace($ret, "°red(.*?)°red", '<span class="r">\1</span>')
$ret = StringRegExpReplace($ret, "°green(.*?)°green", '<span class="g">\1</span>')
$ret = StringRegExpReplace($ret, "°blue(.*?)°blue", '<span class="b">\1</span>')
$ret = StringRegExpReplace($ret, "°red(.*)", '<span class="r">\1</span>')
$ret = StringRegExpReplace($ret, "°green(.*)", '<span class="g">\1</span>')
$ret = StringRegExpReplace($ret, "°blue(.*)", '<span class="b">\1</span>')
; inline
$ret = StringRegExpReplace($ret, "°b(.*?)°b", "<b>\1</b>")
$ret = StringRegExpReplace($ret, "°i(.*?)°i", "<i>\1</i>")
$ret = StringRegExpReplace($ret, "°b(.*)", "<b>\1</b>")
$ret = StringRegExpReplace($ret, "°i(.*)", "<i>\1</i>")
Return $ret
EndFunc
Func emote($sFileName)
Return '<img src="file:///' & StringReplace(@ScriptDir, "\", "/") & '/data/img/emotes/' & $sFileName & '"><img class="spacer" src="file:///' & StringReplace(@ScriptDir, "\", "/") & '/data/img/spacer.gif">'
EndFunc
; ----- PACKETS
[/autoit] [autoit][/autoit] [autoit]Func PaketBuffer($Paket)
$Buffer &= $Paket ; Paket in das Buffer vom User packen
If StringLen($Buffer) > 10000 Then ; sollte zwar nicht passieren aber sicher ist sicher...
GUICtrlSetState($TabSyst, $GUI_SHOW)
print("Es ist ein °bFehler°b im Chat-Server aufgetreten.", $SYSNOTICE)
print("Ich bitte Sie, den Inhaber des Chats zu informieren.", $SYSNOTICE)
TCPCloseSocket($Socket)
Stop()
EndIf
EndFunc
Func PaketBufferTrim($s)
$Pos = StringInStr($s, $EOL) ; Position vom ersten NL ausgeben
If $Pos Then
$Paket = StringLeft($s, $Pos) ; Paket auslesen
$Buffer = StringTrimLeft($s, $Pos) ; Paket aus dem globalen Buffer rausschneiden
Return StringReplace($Paket, @CR & $EOL, "") ; paket ohne NL returnen
Else
Return 0 ; kein paket oder kein vollständiges im buffer
EndIf
EndFunc
#cs
Func PaketReadAll($s)
While 1
$Paket = PaketBufferTrim($s)
If $Paket Then
PaketRead($Paket) ; Paket verarbeiten
Else
ExitLoop ; alle übrigen pakete verarbeitet
EndIf
WEnd
EndFunc
#ce
Func PaketReadAll($str)
Do
$sPacket = PaketBufferTrim($str)
If $sPacket Then PaketRead($sPacket)
Until $sPacket = 0
EndFunc
Func PaketRead($Paket)
; $Paket = htmlmask($Paket) ; important ; wird jetzt direkt in den paket formaten gemacht
; print("Server: " & $Paket, 1, 0) ; ##### DEBUG
$Type = StringLeft($Paket, ; type auslesen ['TYPE' blabla]
$Paket = StringTrimLeft($Paket, 9) ; type aus paket rausschneiden ['TYPE 'blabla]
Switch $Type
Case $PUBLIC_MESSAGE
$Paket = htmlmask($Paket) ; important
$Paket = StringReplace($Paket, ": ", Chr(31), 1)
$Split = StringSplit($Paket, Chr(31))
If StringRegExp($Split[2], "(?i)(?:\h|\A)+(" & $Name & "[a-z]*)") Then ; And $Split[1] <> $Name Then
$Split[2] = StringRegExpReplace($Split[2], "(?i)(?:\h|\A)+(" & $Name & "[a-z]*)", "°b\0°b")
EndIf
print('<b class="nick">' & $Split[1] & ":</b> " & $Split[2])
Case $ME_MESSAGE
$Paket = htmlmask($Paket) ; important
print($Paket, 5)
Case $USER_JOIN
$Split = StringSplit($Paket, " ")
print("» " & $Split[1] & " (" & $Split[2] & ") betritt den Chat um " & Abs(@HOUR) & ":" & @MIN & " Uhr.", $CHTNOTICE)
UsrLstAdd($Split[1] & "|" & $Split[2])
Case $USER_QUIT
$Split = StringSplit($Paket, " ")
print("« " & $Split[1] & " (" & $Split[2] & ") verlässt den Chat um " & Abs(@HOUR) & ":" & @MIN & " Uhr.", $CHTNOTICE)
UsrLstDel($Split[1] & "|" & $Split[2])
Case $CHANGE_NICK
$Paket = StringReplace($Paket, " -> ", Chr(31), 1)
$Split = StringSplit($Paket, Chr(31))
print("» " & $Split[1] & " heißt jetzt " & $Split[2], $CHTNOTICE)
For $search = 1 To UBound($ListItem) - 1
If $ListItem[$search][1] = $Split[1] Then
$_IP = $ListItem[$search][2]
ExitLoop
EndIf
Next
UsrLstEdit($Split[1] & "|" & $_IP, $Split[2] & "|" & $_IP)
Case $YOUR_NICK
$Name = $Paket
WinSetTitle($GUI, "", WinGetTitle($GUI) & " - " & $Name)
IniWrite($CONFIG, "user", "nickname", $Name) ; nick in config schreiben
print("Dein Nick wurde vom Chat-Server auf " & $Paket & " gesetzt.", $SYSNOTICE) ; hmm...
Case $USER_LIST
UsrLstAddEx(StringRegExp($Paket, "([^, ].*?) +(?:\[)(.*?)(?:\])", 3))
Case $PRIVATE_MESSAGE
$Paket = htmlmask($Paket) ; important
$Paket = StringReplace($Paket, ": ", Chr(31), 1)
$Nicks_Data = StringSplit($Paket, Chr(31))
$Nicks_Data[1] = StringReplace($Nicks_Data[1], " -> ", Chr(31), 1)
$Quelle_Ziel = StringSplit($Nicks_Data[1], Chr(31))
If $Quelle_Ziel[0] < 2 Then ; wenn es nur ein ziel gibt (PRIVMSG nick: text)
ReDim $Quelle_Ziel[3]
$Quelle_Ziel[2] = "Dich"
EndIf
Switch $Quelle_Ziel[1]
Case "Du" ; Nachricht für Versender
print('<b class="priv">' & $Name & " (Privat an " & $Quelle_Ziel[2] & "):</b> " & $Nicks_Data[2])
Case Else ; Nachricht für Empfänger
print('<b class="priv">' & $Quelle_Ziel[1] & " (Privat an " & $Quelle_Ziel[2] & "):</b> " & $Nicks_Data[2])
If Not WinActive($GUI) Then WinFlash($GUI)
EndSwitch
Case $IMPORTANT
print($Paket, 4)
Case $GIVE_NICK
If $Name <> "" Then PaketSend($Socket, "/nick " & $Name)
Case $NICK_OKAY
$str = StringRegExp($Paket, "'(.*)'", 3)
$Name = $str[0]
WinSetTitle($GUI, "", WinGetTitle($GUI) & " - " & $Name)
IniWrite($CONFIG, "user", "nickname", $Name) ; nick in config schreiben
Case $NICK_ERROR
print("Fehler beim Einloggen oder übergeben des Nicks: " & $Paket & " Bitte senden sie einen neuen Nick oder loggen sich ein.", $SYSNOTICE)
Case $PLAIN_MESSAGE
print($Paket, 0, 0)
Case Else
print("Es wurde gerade eine nicht interpretierbare Nachricht vom Chat-Server empfangen. Bitte stellen sie sicher, dass sie die neuste Version des Chat-Programms verwenden und das ihre Internetverbindung fehlerfrei funktioniert.", $SYSNOTICE)
EndSwitch
EndFunc
; ----- MISC
[/autoit] [autoit][/autoit] [autoit]Func Stop()
; GUICtrlSetState($Input, $GUI_DISABLE)
; GUICtrlSetData($Input, "Keine Verbindung")
While 1
Sleep(1) ; idle
WEnd
EndFunc
; ----- SEND
[/autoit] [autoit][/autoit] [autoit]Func Submit()
$sRead = GUICtrlRead($Input)
GUICtrlSetData($Input, "")
$sRead = StringStripWS($sRead, 3)
If $sRead = "" Then Return 0
Switch 1
Case StringInStr($sRead, "/a")
$sRead = StringTrimLeft($sRead, 2)
$sRead = StringStripWS($sRead, 3)
PaketSend($Socket, $sRead)
Return 1
Case StringInStr($sRead, "/clear")
_IEAction($oIE, "refresh")
Return 1
Case StringInStr($sRead, "/trans")
$sRead = StringTrimLeft($sRead, 6)
$sRead = StringStripWS($sRead, 3)
If $sRead < 10 Then $sRead = 10
If $sRead > 100 Then $sRead = 100
WinSetTrans($GUI, "", Round(255 / 100 * $sRead))
Return 1
EndSwitch
$To = ""
For $Loop = 1 To UBound($ListItem) - 1
If $ListItem[$Loop][0] = "" Then ContinueLoop ; index ist nicht in benutzung... skip
If _GUICtrlListView_GetItemChecked($Listview, $Loop - 1) Then $To &= $ListItem[$Loop][1] & ", "
Next
If $To <> "" And StringLeft($sRead, 1) <> "/" Then $sRead = "/p " & StringTrimRight($To, 2) & ": " & $sRead
PaketSend($Socket, $sRead)
Return 1
EndFunc ;==>_Submit
Func PaketSend($i, $s)
TCPSend($i, $s & $EOL)
If @error Then print("Fehler beim Versenden einer Nachricht: " & $s, $SYSNOTICE)
; $Timer = TimerInit() ; ###### DEBUG
; print("Client: " & $s, 1, 0) ; ##### DEBUG
EndFunc
; ----- USERLIST
[/autoit] [autoit][/autoit] [autoit]Func UsrLstAdd($usr)
$search = _ArraySearch($NickList, $usr)
If @error Then
_ArrayAdd($NickList, $usr)
UsrLstRefresh()
Else
print("DEBUG: Benutzer " & $usr & " hat den Chat betreten und steht schon auf der Benutzerliste. Der selbe Benutzer wurde nicht noch einmal hinzugefügt.", $SYSNOTICE)
EndIf
;_ArrayAdd($NickList, $usr)
;UsrLstRefresh()
EndFunc
Func UsrLstAddEx($Array)
For $Loop = 0 To UBound($Array)-1 Step 2
_ArrayAdd($NickList, $Array[$Loop] & "|" & $Array[$Loop+1])
Next
UsrLstRefresh()
EndFunc
Func UsrLstEdit($usr, $newuser)
$search = _ArraySearch($NickList, $usr)
If Not @error Then
$NickList[$search] = $newuser
UsrLstRefresh()
Else
UsrLstAdd($newuser)
print("DEBUG: Unbekannter Benutzer " & $usr & " hat sich zu " & $newuser & " umbenannt. Nick wurde zur Benutzerliste hinzugefügt.", $SYSNOTICE)
EndIf
EndFunc
Func UsrLstDel($usr)
$search = _ArraySearch($NickList, $usr)
If Not @error Then
_ArrayDelete($NickList, $search)
UsrLstRefresh()
Else
print("DEBUG: Unbekannter Benutzer " & $usr & " hat sich ausgeloggt aber stand nicht auf der Benutzerliste.", $SYSNOTICE)
EndIf
EndFunc
Func UsrLstRefresh()
; alte Einträge löschen und Array leeren
For $Loop = 1 To UBound($ListItem) - 1
If $ListItem[$Loop][0] = "" Then ContinueLoop ; index war nicht in benutzung... skip
GUICtrlDelete($ListItem[$Loop][0])
$ListItem[$Loop][0] = ""
$ListItem[$Loop][1] = ""
$ListItem[$Loop][2] = ""
Next
Local $temp
For $Loop = 1 To UBound($NickList) - 1
$Split = StringSplit($NickList[$Loop], "|")
$ListItem[$Loop][1] = $Split[1]
$ListItem[$Loop][2] = $Split[2]
$ListItem[$Loop][0] = GUICtrlCreateListViewItem($NickList[$Loop], $Listview)
If $Split[2] = "Bot" Then GUICtrlSetColor(-1, 0x2A55FF)
If $Split[1] = $Name Then GUICtrlSetColor(-1, 0x408000) ; 0x66CC00)
_GUICtrlListView_SetColumnWidth($Listview, 0, $LVSCW_AUTOSIZE_USEHEADER);$LVSCW_AUTOSIZE)
_GUICtrlListView_SetColumnWidth($Listview, 1, $LVSCW_AUTOSIZE_USEHEADER)
Next
EndFunc
;
;
;
PS : Client und Chat mit Angehängt!
@Der das Schafft = Ich bin dir Sehr Dankbar!!!