Code: Alles auswählen
Line.s = IRCGetLine() ;Get a messageline
If Line <> ""
If IRCGetFrom(Line) <> ""
ClearGadgetItemList(#User_List)
Names.s = ""
While Names = ""
Names.s = IRCEnumNames(Channel.s)
Wend
Login = 1
For k=1 To CountString(Names, " ") ;List the Names
Cur.s = StringField(Names, k, " ")
If Len(Cur) > 1
AddGadgetItem(#User_List, -1, Cur)
EndIf
Next
If UCase(IRCGetTo(Line)) <> UCase(Channel.s)
AddGadgetItem(#Chat, -1, "<"+IRCGetFrom(Line)+" To "+IRCGetTo(Line)+"> "+IRCGetText(Line))
SendMessage_(GadgetID(#Chat), #EM_SCROLL, #SB_LINEDOWN, 0)
Else
AddGadgetItem(#Chat, -1, "<"+IRCGetFrom(Line)+"> "+IRCGetText(Line))
SendMessage_(GadgetID(#Chat), #EM_SCROLL, #SB_LINEDOWN, 0)
EndIf
Else
AddGadgetItem(#Chat, -1, Line)
SendMessage_(GadgetID(#Chat), #EM_SCROLL, #SB_LINEDOWN, 0)
EndIf
SetGadgetState(#Chat, CountGadgetItems(#Chat)-1)
Else
;If Login = 1 And ElapsedMilliseconds()-LastPing > 15000
; Ping.f = IRCPing(Server.s, 5000)
; SetWindowTitle(#Window_0, "Radio Dunklewelle "+Channel+" Ping: "+StrF(Ping, 2))
; LastPing = ElapsedMilliseconds()
;EndIf
EndIf
Event = WindowEvent()
Select Event
Case 0
Delay(20)
Case #PB_Event_SizeWindow
ResizeWin()
Case #PB_Event_Gadget
Select EventGadgetID()
Case 2
If EventType() = #PB_EventType_LeftDoubleClick
Msg.s = GetGadgetItemText(#String_7, GetGadgetState(#User_List), 0)
If Left(Msg, 1) = "@"
Msg = Right(Msg, Len(Msg)-1)
EndIf
SetGadgetText(#String_7, GetGadgetText(#String_7)+"/msg "+Msg+" ")
ActivateGadget(#String_7)
EndIf
Case 1
If EventType() = #PB_EventType_ReturnKey And GetGadgetText(#String_7) <> ""
If Left(GetGadgetText(#String_7), 1) = "/"
AllParams.s = Right(GetGadgetText(#String_7), Len(GetGadgetText(#String_7))-FindString(GetGadgetText(#String_7), " ", 0))
Param1.s = StringField(GetGadgetText(#String_7), 2, " ")
Param2.s = Right(AllParams.s, Len(AllParams.s)-FindString(AllParams.s, " ", 1))
Select LCase(StringField(GetGadgetText(#String_7), 1, " "))
Case "/msg"
IRCSendText(Param1, Param2)
AddGadgetItem(#Chat, -1, "<"+Nick+" To "+Param1+"> "+Param2)
Case "/join"
IRCJoin(Param1, Server)
Default
IRCSend(Right(GetGadgetText(#String_7), Len(GetGadgetText(#String_7))-1))
AddGadgetItem(#Chat, -1, "<"+Nick+"> "+AllParams.s)
EndSelect
Else
IRCSendText(Channel.s, GetGadgetText(1))
AddGadgetItem(#Chat, -1, "<"+Nick+"> "+GetGadgetText(1))
EndIf
SetGadgetText(#String_7, "")
SetGadgetState(#Chat, CountGadgetItems(#Chat)-1)
EndIf
EndSelect
EndSelect