#NewScriptBegin Externliste
 
Dim UserList
Dim ListEndVar
Dim TOutCID
 
Sub Chan_Join(Nick, Channel, FrameID, ConnID)
  if Channel = "#kaesbox_LINK" Then
    RegEvent "353", ConnID
    RegEvent "366", ConnID
    RegEvent "NOTICE", ConnID
    UserList=""
    ListEndVar=""
    StartTimer 8000, 0, "BotTimeOut", 1
    TOutCID = ConnID
  end if
End Sub
 
Sub Serv_RegedEvent(EventID, Sender, ConnID, Text, RawData)
  if EventID = 353 Then
    UserList = RawData
    UnRegEvent "353", ConnID
  End if
  if EventID = "NOTICE" Then
    if Split(Text, 1, ":") = "Externliste" Then
      if len(ListEndVar) > 0 Then
        Print "* Externe Userliste erhalten", GetStateFrame(ConnID)
        PhraseData ":" + Split(UserList, 2, ":") + ":" + Split(Text, 2, ":"), ConnID
        PhraseData ListEndVar, ConnID
        SetAllColor GetFrame(ConnID, Split(Text, 5))," "+Split(Text, 2, ":")+" ", RGB(255,0,0)
        ListEndVar=""
        SkipEvent
      End if
    End if
  End if
  if EventID = 366 Then
    ListEndVar = RawData
    UnRegEvent "366", ConnID
    'print "* Externe userliste anfordern...", GetStateFrame(ConnID)
    'SendData "PRIVMSG " + Split(RawData, 4, " ") + " :!user", ConnID
    SkipEvent
  End if
End Sub
 
Sub BotTimeOut(TimerID)
  PhraseData ListEndVar, TOutCID
  ListEndVar=""
End Sub
 
Sub SetAllColor(FrameID, NickString, Color)
  i=0
  do until i=GetListCount(FrameID)
    if InStr(1, NickString, " "+NoSign(GetListValue(FrameID,i,0))+" ") > 0 Then
      SetListColor FrameID, i, Color
    End if
    i=i+1
  loop
End Sub
 
Sub SetUserColor(FrameID, Nick, Color)
  i=0
  do until i=GetListCount(FrameID) or NoSign(GetListValue(FrameID,i,0))=nick
    i=i+1
  loop
  SetListColor FrameID, i, Color
End Sub

Eigene Werkzeuge