Code:
Code:
Sub Init
ReDim Channels(0)
ReloadChannels
ReDim Kickmsg(0)
Reloadkickmsg
Script "0,10(( Anti-Overtake 7v1.42 0by -=Morpheus=- ))"
Hook "Chan_Msg"
Hook "Commands"
Hook "Op"
Hook "DeOp"
Hook "Ban"
Hook "Unban"
HooK "Join"
Hook "Kick"
Hook "Raw"
AddCommand "protectsetup", Cl_SOwn, "+s", "2.protectsetup##14Zeigt das Setup von Anti-Overtake Script."
SpreadFlagMessage 0, "+m", "0,10(( Anti-Overtake 7v1.42 0loaded ))"
End Sub
Const chanFile = "protect.ini"
Dim Channels, Channel, Chan, kickCount, fishbotCount, Linex, Kickmsg, Nick, Name, Host, Check
Sub Chan_Msg(Chan, Nick, RegUser, Line)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
If LCase(Param(Line, 1)) = "!topicprotect" Then
If Param(Line, 2) = "off" Then
WriteINIString Chan, "topicprotect", "off", chanFile
ElseIf Param(Line, 2) = "on" Then
WriteINIString Chan, "topicprotect", "on", chanFile
End If
Sendline "Notice " & Nick & " : Topicprotection: " & ReadINIString( Chan, "topicprotect", "0", chanFile), 3
ElseIf LCase(Param(Line, 1)) = "!modeprotect" Then
If Param(Line, 2) = "off" Then
WriteINIString Chan, "modeprotect", "off", chanFile
ElseIf Param(Line, 2) = "on" Then
WriteINIString Chan, "modeprotect", "on", chanFile
End If
Sendline "Notice " & Nick & " : Modeprotection: " & ReadINIString( Chan, "modeprotect", "0", chanFile), 3
ElseIf LCase(Param(Line, 1)) = "!fishbotbitch" Then
If Param(Line, 2) = "off" Then
WriteINIString Chan, "fishbotbitch", "off", chanFile
ElseIf Param(Line, 2) = "on" Then
WriteINIString Chan, "fishbotbitch", "on", chanFile
End If
Sendline "Notice " & Nick & " : fishbotbitch: " & ReadINIString( Chan, "fishbotbitch", "0", chanFile), 3
ElseIf LCase(Param(Line, 1)) = "!protect" Then
If Param(Line, 2) = "off" Then
WriteINIString Chan, "Chanprotect", "off", chanFile
ElseIf Param(Line, 2) = "on" Then
WriteINIString Chan, "Chanprotect", "on", chanFile
End If
Sendline "Notice " & Nick & " : Channelprotection: " & ReadINIString( Chan, "chanprotect", "0", chanFile), 3
End If
End If
End Sub
Sub Commands(vsock, RegUser, Flags, Line)
If LCase(Param(Line, 1)) = ".protectsetup" Then
GrabUser vSock, "Protection Setup", "ProtectSetup"
SetSockTag vSock, "MainMenu"
ProtectSetup vSock, RegUser, Flags, ""
End If
End Sub
Sub ProtectSetup(vSock, RegUser, Flags, Line)
If Param(Line, 1) = "0" Then
TU vsock, "10*** Saving settings..."
ReleaseUser vSock
Exit Sub
End If
Select Case LCase(Param(GetSockTag(vSock), 1))
Case "mainmenu"
TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1__________________2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
TU vSock, "11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1_0,1 Protection Setup 1,1_2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1__________________2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
TU vSock, " "
TU vSock, "Willkommen im Setup von 0,10(( Anti-Overtake 7v1.42 0))"
TU vSock, " "
TU vSock, "0,1Protected Channels:"
Dummy = Split(Channels, " ")
For i = LBound(Dummy) To UBound(Dummy)
TU vSock, "1 - " & Dummy(i)
Next
TU vSock, " "
TU vSock, " - chan add #channel um einen Channel der Liste hinzuzufügen"
TU vSock, " - chan del #channel um einen Channel aus Liste zu löschen"
TU vSock, " "
TU vSock, "0,1KickMsg:"
TU vSock, " - " & Kickmsg & " "
TU vSock, " "
TU vSock, " - kickmsg <kickmsg> um eine KickMsg einzustellen"
TU vSock, " "
TU vSock, "0,1Commands für den Channel:"
TU vSock, " - !fishbotbitch on/off um den Channel zu recovern wenn er 3 mal hinter einander joint"
TU vSock, " - !modeprotect on/off um die Mode Protection (für i, l und K) im Channel an/auszuschalten"
TU vSock, " - !protect on/off um den Anti-Overtake Script im Channel an/auszuschalten"
TU vSock, " - !topicprotect on/off um die Topic Protection im Channel an/auszuschalten"
TU vSock, " "
TU vSock, " - 0 um zurück auf die Partyline zu kommen."
TU vSock, " Nicht vergessen: Der Bot muss von Q/L aus +m haben!"
SetSockTag vSock, "MainMenuOption"
Case "mainmenuoption"
Select Case LCase(Param(Line, 1))
Case "chan"
If Param(Line, 2) = "" Or Param(Line, 3) = "" Then
TU vSock, "5*** Syntax: chan <add | del> <#channel>"
ProtectSetup vSock, RegUser, Flags, ""
Exit Sub
End If
If LCase(Param(Line, 2)) = "add" Then
Channels = Trim3(Channels & " " & Param(Line, 3))
WriteINIString "Settings", "Channels", Channels, chanFile
TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde hinzugefügt"
SetSockTag vSock, "MainMenu"
ProtectSetup vSock, RegUser, Flags, ""
ElseIf LCase(Param(Line, 2)) = "del" Then
Channels = Trim3(Replace(LCase(Channels), LCase(Param(Line, 3)), ""))
WriteINIString "Settings", "Channels", Channels, chanFile
TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde entfernt"
SetSockTag vSock, "MainMenu"
ProtectSetup vSock, RegUser, Flags, ""
End If
Case "kickmsg"
If GetRest(Line, 2) = "" Then
TU vSock, "5*** Syntax: kickmsg <kickmsg>"
ProtectSetup vSock, RegUser, Flags, ""
Exit Sub
Else
WriteINIString "Settings", "Kickmsg", GetRest(Line, 2), chanFile
TU vSock, "3*** KickMsg 1" & GetRest(Line, 2) & " 3wurde eingestellt"
Reloadkickmsg
SetSockTag vSock, "MainMenu"
ProtectSetup vSock, RegUser, Flags, ""
End If
End Select
End Select
End Sub
Sub Op(Chan, Nick, RegUser, Flags, ONick, OUser, OFlags, RemovedOp)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If Linex = "used-massop" Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If Param(Linex, 1) = "+ooo" Or Param(Linex, 1) = "+oooo" Or Param(Linex, 1) = "+ooooo" Or Param(Linex, 1) = "+oooooo" Then
SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (massop detected)"
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :recover " & chan, 1
SendLine "PRIVMSG L :op " & Chan, 1
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :recover " & Chan, 1
SendLine "PRIVMSG Q :op " & Chan, 1
End If
Linex = "used-massop"
End If
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
End If
SendLine "MODE " & Chan & " " & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2), 1
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just opped sb. on " & Chan & " - no action "
End If
End If
End Sub
Sub DeOp(Chan, Nick, RegUser, Flags, DNick, DUser, DFlags, RemovedOp)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If DNick = MyNick Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :recover " & chan, 1
SendLine "PRIVMSG L :op " & Chan, 1
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :op " & Chan, 1
End If
End If
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then If DNick = MyNick Then
SendLine "PRIVMSG Q :recover " & Chan, 2
SendLine "PRIVMSG Q :op " & Chan, 1
End IF
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
End If
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just deopped sb. on " & Chan & " - no action "
End If
End If
End Sub
Sub Ban(Nick, RegUser, Chan, HMask)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If HMask = "*!*@*" Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :RECOVER " & Chan, 1
SendLine "PRIVMSG L :op " & Chan, 1
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :RECOVER " & Chan, 1
SendLine "PRIVMSG Q :op " & Chan, 1
End If
SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (ban *!*@*)"
End If
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " -b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
SendLine "Privmsg Q :bandel " & Chan & " " & HMask, 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " -b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
End If
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just banned sb. on " & Chan & " - no action "
End If
End If
End Sub
Sub Unban(Nick, RegUser, Chan, HMask)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If HMask = "*!*@*" Then Exit Sub
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
SendLine "Privmsg Q :ban " & Chan & " " & HMask, 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
End If
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just unbanned sb. on " & Chan & " - no action "
End If
End If
End Sub
Sub Join(Chan, Nick, RegUser, Flags)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If Nick = "fishbot" Then
If ReadINIString(Chan, "fishbotbitch", "", ChanFile) = "on" Then
fishbotCount = fishbotCount + 1
TimedCommand "fishbotCount = 0", 10
If fishbotCount = 3 Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :RECOVER " & Chan, 1
SendLine "PRIVMSG L :op " & Chan, 1
SpreadFlagMessage 0, "+m", "4*** 10fishbot 4joined in10 " & Chan & " 4---> recover ;) "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :RECOVER " & Chan, 1
SendLine "PRIVMSG Q :op " & Chan, 1
SpreadFlagMessage 0, "+m", "4*** 10fishbot 4joined in10 " & Chan & " 4---> recover ;) "
End If
TimedCommand "fishbotCount = 0", 2
End If
End If
End If
End If
End Sub
Sub Kick(Chan, Nick, RegUser, Flags, KNick, KUser, KFlags, Message)
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
kickCount = kickCount + 1
TimedCommand "kickCount = 0", 2
If kickCount > 2 Then
SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (masskick detected)"
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :recover " & chan, 1
SendLine "PRIVMSG L :op " & Chan, 1
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :recover " & Chan, 1
SendLine "PRIVMSG Q :op " & Chan, 1
End If
TimedCommand "kickCount = 0", 2
End If
If KNick = MyNick Then
SendLine "PRIVMSG Q :CHANLEV " & Chan & " " & Nick & " -aotv+b", 1
SendLine "PRIVMSG L :CHANLEV " & Chan & " " & Nick & " -aovg", 1
SendLine "PRIVMSG Q,L :RECOVER " & Chan, 1
SendLine "PRIVMSG Q,L :INVITE " & Chan, 1
Name = Nick
host = Mask(Hostmask(Chan, Nick), 3)
Channel = Chan
Check = CBOOL(1)
TimedCommand "sicherung", 2
End If
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
End If
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just kicked sb. on " & Chan & " - no action "
End If
End If
End Sub
Sub sicherung()
If Check = CBOOL(1) Then
ExecuteCommand 0, ".join " & Channel
SendLine "KICK " & Channel & " " & Name & " : " & Kickmsg & " ", 1
SendLine "MODE " & Channel & " +b " & host, 1
Check = CBOOL(0)
End If
End Sub
Sub RAW(Line)
If UCase(Param(Line, 2)) = "MODE" Then
If IsOn(MyNick, Param(Line, 3)) Then
Host = Mid(Param(Line, 1), 2)
Chan = Param(Line, 3)
Nick = ParamX(Host, "!", 1)
Linex = GetRest(Line, 4)
Call ModeChange(Chan, Nick, Host, GetRegUser(Host), Linex)
End If
ElseIf UCase(Param(Line, 2)) = "TOPIC" Then
If IsOn(MyNick, Param(Line, 3)) Then
Host = Mid(Param(Line, 1), 2)
Chan = Param(Line, 3)
Nick = ParamX(Host, "!", 1)
Linex = Mid(GetRest(Line, 4), 2)
Call Topic(Chan, Nick, Host, GetRegUser(Host), Linex)
End If
End If
End Sub
Sub ModeChange(Chan, Nick, Host, RegUser, Linex)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If ReadINIString(Chan, "modeprotect", "", ChanFile) = "on" Then
If "i" = Right(Param(Linex, 1), 1) Or "l" = Right(Param(Linex, 1), 1) Or "k" = Right(Param(Linex, 1), 1) Then
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Host, 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Host, 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Host, 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
End If
SpreadFlagMessage 0, "+m", "4*** Reversing modes: '" & Linex & "' to '" & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2) & "'"
SendLine "MODE " & Chan & " " & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2), 1
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just modechange sb. on " & Chan & " - no action "
End If
End If
End If
End If
End Sub
Sub Topic(Chan, Nick, Host, RegUser, Linex)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If ReadINIString(Chan, "topicprotect", "", ChanFile) = "on" Then
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Host, 1
SendLine "TOPIC " & Chan & " :" & ReadINIString( Chan, "topic", "0", chanFile), 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason Topicchange in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Host, 2
SendLine "PrivMSG Q :SETTOPIC " & Chan & " " & ReadINIString( Chan, "topic", "0", chanFile), 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason topicchange in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Host, 1
SendLine "TOPIC " & Chan & " :" & ReadINIString( Chan, "topic", "0", chanFile), 2
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason topicchange in10 " & Chan & " "
End If
Else
WriteINIString Chan, "topic", Linex, chanFile
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just topicchange sb. on " & Chan & " - no action "
End If
End If
End If
End Sub
Sub ReloadChannels()
Channels = ReadINIString("Settings", "Channels", "", chanFile)
End Sub
Sub Reloadkickmsg()
Kickmsg = ReadINIString("Settings", "Kickmsg", "", chanFile)
End Sub
Function GetRegUser(HMask)
Dim i, j
For i = 1 To BotUserCount
For j = 0 To BotUser(i, BU_Hostmasks, 0)
If WildMatch(LCase(BotUser(i, BU_Hostmasks, j)), LCase(HMask)) Then
GetRegUser = BotUser(i, BU_RegNick)
Exit Function
End If
Next
Next
End Function
Function IsMaster(Chan, Nick, RegUser)
If MatchFlags(GetUserFlags(RegUser), "+s") Then
IsMaster = "SuperOwner"
ElseIf MatchFlags(GetUserChanFlags(RegUser, Chan), "+n") Then
IsMaster = "Owner"
ElseIf MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
IsMaster = "Master"
ElseIf MatchFlags(GetUserFlags(RegUser), "+b") Then
IsMaster = "Bot"
ElseIf Nick = "L" Or Nick = "Q" Then
IsMaster = "ServiceBot"
ElseIf WildMatch("*.quakenet.org", Nick) Or Nick = vbNullString Then
IsMaster = "Server"
ElseIf Nick = MyNick Then
IsMaster = "Myself"
End If
End Function
Function Trim3(Text)
Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
End Function
So weil ich heute einen guten tag habe poste ich es mal rein (OK eigentlich is mir nur langweilig)