03.10.2004, 11:10 Uhr
Kann mir einer Bitte das Script umschreiben so das man die chan kommandos nicht mit adduser und so macht sondern mit !addbadnick,!addbadwort,!listbadnick,!listbadwort und um die wieder zu löschen mit !rembadnick,rembadwort. Also sollte der bot dann auch die badnick banen so das nur +m den ban wieder raus machen können(die sollten auch das nur ausführen können die befehle) sollte chon im chan gehen !!!!! und die liste und so sollten dan schon als notice oder massage kommen so das die anderen user die nicht sehen können.
Also hier erstmal danke für die hilfe und für die mühe.
Hier das Script was ich gern umgeschrieben haben möchte:
'***Adduser/Remuser/Chattr-Script by amir***
'
' » Channel-Commands:
' » ?bot adduser <nick>
' » Addet einen User im Bot [muss sich im Channel befinden]
' » ?bot remuser
' » ?bot remuser <nick>
' » Löscht einen User aus dem Bot [muss sich im Channel befinden]
' » ?bot remuser #<nick>
' » Löscht einen User aus dem Bot
' » [der Nick nach der '#' muss der Nick sein mit dem der User im Bot gespeichert ist]
' » ?bot chattr
' » ?bot chattr <nick> +/-flags
' » Gibt/nimmt <nick> Rechte [User muss sich im Channel befinden]
' » ?bot chattr #<nick> +/-flags
' » Gibt/nimmt #<nick> Rechte
' » [der Nick nach der '#' muss der Nick sein mit dem der User im Bot gespeichert ist]
' » ?bot listuser
' » Zeigt alle User die in diesem Chan Rechte haben
'
'***/Adduser/Remuser/Chattr-Script by amir***
Const PossibleFlags = "vomnft"
Sub Init()
Script "Adduser/Chattr-Script V1.0a by amir"
Hook "Chan_Msg"
End Sub
Sub Chan_msg(Chan, Nick, RegUser, Line)
If Not MatchFlags(GetUserChanFlags(RegUser, Chan), "+s") Then Exit Sub
If LCase(Param(Line,1)) = "?bot" Then
Select Case LCase(Param(Line,2))
Case "adduser", "+user"
If IsOn(Param(Line,3), Chan) Then
If GetRegUser(Chan, Param(Line,3)) = "" Then
ExecuteCommand 0, ".+user " & Param(Line, 3) & " " & Mask(Hostmask(Chan, Param(Line, 3)), 1)
Sendline "Notice " & Nick & " :" & Param(Line,3) & " erfolgreich geaddet.", 2
Else
Sendline "Notice " & Nick & " :Dieser User ist bereits im Bot geaddet. [" & GetRegUser(Chan, Param(Line,3)) & "]", 2
End If
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Channel.", 2
End If
Case "remuser", "-user"
If Param(Line,3) <> "" Then
If Left(Param(Line,3), 1) = "#" Then
If GetBotUser(Mid(Param(Line,3), 2, Len(Param(Line,3)))) Then
ExecuteCommand 0, ".-user " & Mid(Param(Line,3), 2, Len(Param(Line,3)))
Sendline "Notice " & Nick & " :" & Mid(Param(Line,3), 2, Len(Param(Line,3))) & " erfolgreich entfernt.", 2
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Bot geaddet.", 2
End If
Else
If GetRegUser(Chan, Param(Line,3)) <> "" Then
ExecuteCommand 0, ".-user " & GetRegUser(Chan, Param(Line,3))
Sendline "Notice " & Nick & " :" & Param(Line,3) & " erfolgreich entfernt.", 2
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Bot geaddet.", 2
End If
End If
Else
Sendline "Notice " & Nick & " :Gib einen User an.", 2
End If
Case "chattr", "flags"
If Param(Line,3) <> "" Then
If Left(Param(Line,3), 1) = "#" Then
If GetBotUser(Mid(Param(Line,3), 2, 1)) Then
Select Case Left(Param(Line,4),1)
Case "-"
IsNotAPossibleFlag = 0
For i = 1 To (Len(Param(Line,4)) - 1)
If InStr(1, PossibleFlags, Mid(Param(Line,4), 1 + i, 1)) = 0 Then IsNotAPossibleFlag = 1
Next
If IsNotAPossibleFlag Then
Sendline "Notice " & Nick & " :Possible flags: " & PossibleFlags, 2
Else
ExecuteCommand 0, ".chattr " & Mid(Param(Line,3), 2, 1) & " -" & Mid(Param(Line,4), 2, Len(Param(Line,4)) - 1) & " " & Chan
Sendline "Notice " & Nick & " :Flags of " & Mid(Param(Line,3), 2, 1) & " are now [" & GetUserChanFlags(Mid(Param(Line,3), 2, 1)) & "]", 2
End If
Case "+"
IsNotAPossibleFlag = 0
For i = 1 To (Len(Param(Line,4)) - 1)
If InStr(1, PossibleFlags, Mid(Param(Line,4), 1 + i, 1)) = 0 Then IsNotAPossibleFlag = 1
Next
If IsNotAPossibleFlag Then
Sendline "Notice " & Nick & " :Possible flags: " & PossibleFlags, 2
Else
ExecuteCommand 0, ".chattr " & Mid(Param(Line,3), 2, 1) & " +" & Mid(Param(Line,4), 2, Len(Param(Line,4) - 1)) & " " & Chan
Sendline "Notice " & Nick & " :Flags of " & Mid(Param(Line,3), 2, 1) & " are now [" & GetUserChanFlags(Mid(Param(Line,3), 2, 1)) & "]", 2
End If
End Select
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Bot geaddet.", 2
End If
Else
If GetRegUser(Chan, Param(Line,3)) <> "" Then
Select Case Left(Param(Line,4),1)
Case "-"
IsNotAPossibleFlag = 0
For i = 1 To (Len(Param(Line,4)) - 1)
If InStr(1, PossibleFlags, Mid(Param(Line,4), 1 + i, 1)) = 0 Then IsNotAPossibleFlag = 1
Next
If IsNotAPossibleFlag Then
Sendline "Notice " & Nick & " :Possible flags: " & PossibleFlags, 2
Else
ExecuteCommand 0, ".chattr " & GetRegUser(Chan, Param(Line,3)) & " -" & Mid(Param(Line,4), 2, Len(Param(Line,4)) - 1) & " " & Chan
Sendline "Notice " & Nick & " :Flags of " & Param(Line,3) & " are now [" & GetUserChanFlags(GetRegUser(Chan, Param(Line,3)), Chan) & "]", 2
End If
Case "+"
IsNotAPossibleFlag = 0
For i = 1 To (Len(Param(Line,4)) - 1)
If InStr(1, PossibleFlags, Mid(Param(Line,4), 1 + i, 1)) = 0 Then IsNotAPossibleFlag = 1
Next
If IsNotAPossibleFlag Then
Sendline "Notice " & Nick & " :Possible flags: " & PossibleFlags, 2
Else
ExecuteCommand 0, ".chattr " & GetRegUser(Chan, Param(Line,3)) & " +" & Mid(Param(Line,4), 2, Len(Param(Line,4)) - 1) & " " & Chan
Sendline "Notice " & Nick & " :Flags of " & Param(Line,3) & " are now [" & GetUserChanFlags(GetRegUser(Chan, Param(Line,3)), Chan) & "]", 2
End If
End Select
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Bot geaddet.", 2
End If
End If
Else
Sendline "Notice " & Nick & " :Gib einen User an!", 2
End If
Case "listuser", "userlist"
Chan_User = ""
For i = 1 To BotUserCount
If GetUserChanFlags(BotUser(i, BU_RegNick), Chan) <> "" Then
Chan_User = Chan_User & " - " & BotUser(i, BU_RegNick) & " [" & GetUserChanFlags(BotUser(i, BU_RegNick), Chan) & "]"
End If
Next
Sendline "Notice " & Nick & " :Userlist: " & Chan_User & " - ", 2
Case ""
Sendline "Notice " & Nick & " :?bot adduser/remuser/chattr/userlist", 2
End Select
End If
End Sub
Function GetRegUser(Chan, Nick)
For i = 1 To ChanUserCount(ChanNum(Chan))
If WildMatch(Mask(Hostmask(Chan, Nick), 1), ChanUser(ChanNum(Chan), i, CU_Hostmask)) Then
GetRegUser = ChanUser(ChanNum(Chan), i, CU_RegUser)
End If
Next
End Function
Function GetBotUser(Nick)
GetBotUser = False
For i = 1 To BotUserCount
If LCase(BotUser(i, BU_RegNick)) = LCase(Nick) Then GetBotUser = True
Next
End Function
--------------------------------------------------------------------------------------
Danke !!!!
MFG Butze
Also hier erstmal danke für die hilfe und für die mühe.
Hier das Script was ich gern umgeschrieben haben möchte:
'***Adduser/Remuser/Chattr-Script by amir***
'
' » Channel-Commands:
' » ?bot adduser <nick>
' » Addet einen User im Bot [muss sich im Channel befinden]
' » ?bot remuser
' » ?bot remuser <nick>
' » Löscht einen User aus dem Bot [muss sich im Channel befinden]
' » ?bot remuser #<nick>
' » Löscht einen User aus dem Bot
' » [der Nick nach der '#' muss der Nick sein mit dem der User im Bot gespeichert ist]
' » ?bot chattr
' » ?bot chattr <nick> +/-flags
' » Gibt/nimmt <nick> Rechte [User muss sich im Channel befinden]
' » ?bot chattr #<nick> +/-flags
' » Gibt/nimmt #<nick> Rechte
' » [der Nick nach der '#' muss der Nick sein mit dem der User im Bot gespeichert ist]
' » ?bot listuser
' » Zeigt alle User die in diesem Chan Rechte haben
'
'***/Adduser/Remuser/Chattr-Script by amir***
Const PossibleFlags = "vomnft"
Sub Init()
Script "Adduser/Chattr-Script V1.0a by amir"
Hook "Chan_Msg"
End Sub
Sub Chan_msg(Chan, Nick, RegUser, Line)
If Not MatchFlags(GetUserChanFlags(RegUser, Chan), "+s") Then Exit Sub
If LCase(Param(Line,1)) = "?bot" Then
Select Case LCase(Param(Line,2))
Case "adduser", "+user"
If IsOn(Param(Line,3), Chan) Then
If GetRegUser(Chan, Param(Line,3)) = "" Then
ExecuteCommand 0, ".+user " & Param(Line, 3) & " " & Mask(Hostmask(Chan, Param(Line, 3)), 1)
Sendline "Notice " & Nick & " :" & Param(Line,3) & " erfolgreich geaddet.", 2
Else
Sendline "Notice " & Nick & " :Dieser User ist bereits im Bot geaddet. [" & GetRegUser(Chan, Param(Line,3)) & "]", 2
End If
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Channel.", 2
End If
Case "remuser", "-user"
If Param(Line,3) <> "" Then
If Left(Param(Line,3), 1) = "#" Then
If GetBotUser(Mid(Param(Line,3), 2, Len(Param(Line,3)))) Then
ExecuteCommand 0, ".-user " & Mid(Param(Line,3), 2, Len(Param(Line,3)))
Sendline "Notice " & Nick & " :" & Mid(Param(Line,3), 2, Len(Param(Line,3))) & " erfolgreich entfernt.", 2
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Bot geaddet.", 2
End If
Else
If GetRegUser(Chan, Param(Line,3)) <> "" Then
ExecuteCommand 0, ".-user " & GetRegUser(Chan, Param(Line,3))
Sendline "Notice " & Nick & " :" & Param(Line,3) & " erfolgreich entfernt.", 2
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Bot geaddet.", 2
End If
End If
Else
Sendline "Notice " & Nick & " :Gib einen User an.", 2
End If
Case "chattr", "flags"
If Param(Line,3) <> "" Then
If Left(Param(Line,3), 1) = "#" Then
If GetBotUser(Mid(Param(Line,3), 2, 1)) Then
Select Case Left(Param(Line,4),1)
Case "-"
IsNotAPossibleFlag = 0
For i = 1 To (Len(Param(Line,4)) - 1)
If InStr(1, PossibleFlags, Mid(Param(Line,4), 1 + i, 1)) = 0 Then IsNotAPossibleFlag = 1
Next
If IsNotAPossibleFlag Then
Sendline "Notice " & Nick & " :Possible flags: " & PossibleFlags, 2
Else
ExecuteCommand 0, ".chattr " & Mid(Param(Line,3), 2, 1) & " -" & Mid(Param(Line,4), 2, Len(Param(Line,4)) - 1) & " " & Chan
Sendline "Notice " & Nick & " :Flags of " & Mid(Param(Line,3), 2, 1) & " are now [" & GetUserChanFlags(Mid(Param(Line,3), 2, 1)) & "]", 2
End If
Case "+"
IsNotAPossibleFlag = 0
For i = 1 To (Len(Param(Line,4)) - 1)
If InStr(1, PossibleFlags, Mid(Param(Line,4), 1 + i, 1)) = 0 Then IsNotAPossibleFlag = 1
Next
If IsNotAPossibleFlag Then
Sendline "Notice " & Nick & " :Possible flags: " & PossibleFlags, 2
Else
ExecuteCommand 0, ".chattr " & Mid(Param(Line,3), 2, 1) & " +" & Mid(Param(Line,4), 2, Len(Param(Line,4) - 1)) & " " & Chan
Sendline "Notice " & Nick & " :Flags of " & Mid(Param(Line,3), 2, 1) & " are now [" & GetUserChanFlags(Mid(Param(Line,3), 2, 1)) & "]", 2
End If
End Select
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Bot geaddet.", 2
End If
Else
If GetRegUser(Chan, Param(Line,3)) <> "" Then
Select Case Left(Param(Line,4),1)
Case "-"
IsNotAPossibleFlag = 0
For i = 1 To (Len(Param(Line,4)) - 1)
If InStr(1, PossibleFlags, Mid(Param(Line,4), 1 + i, 1)) = 0 Then IsNotAPossibleFlag = 1
Next
If IsNotAPossibleFlag Then
Sendline "Notice " & Nick & " :Possible flags: " & PossibleFlags, 2
Else
ExecuteCommand 0, ".chattr " & GetRegUser(Chan, Param(Line,3)) & " -" & Mid(Param(Line,4), 2, Len(Param(Line,4)) - 1) & " " & Chan
Sendline "Notice " & Nick & " :Flags of " & Param(Line,3) & " are now [" & GetUserChanFlags(GetRegUser(Chan, Param(Line,3)), Chan) & "]", 2
End If
Case "+"
IsNotAPossibleFlag = 0
For i = 1 To (Len(Param(Line,4)) - 1)
If InStr(1, PossibleFlags, Mid(Param(Line,4), 1 + i, 1)) = 0 Then IsNotAPossibleFlag = 1
Next
If IsNotAPossibleFlag Then
Sendline "Notice " & Nick & " :Possible flags: " & PossibleFlags, 2
Else
ExecuteCommand 0, ".chattr " & GetRegUser(Chan, Param(Line,3)) & " +" & Mid(Param(Line,4), 2, Len(Param(Line,4)) - 1) & " " & Chan
Sendline "Notice " & Nick & " :Flags of " & Param(Line,3) & " are now [" & GetUserChanFlags(GetRegUser(Chan, Param(Line,3)), Chan) & "]", 2
End If
End Select
Else
Sendline "Notice " & Nick & " :Dieser User ist nicht im Bot geaddet.", 2
End If
End If
Else
Sendline "Notice " & Nick & " :Gib einen User an!", 2
End If
Case "listuser", "userlist"
Chan_User = ""
For i = 1 To BotUserCount
If GetUserChanFlags(BotUser(i, BU_RegNick), Chan) <> "" Then
Chan_User = Chan_User & " - " & BotUser(i, BU_RegNick) & " [" & GetUserChanFlags(BotUser(i, BU_RegNick), Chan) & "]"
End If
Next
Sendline "Notice " & Nick & " :Userlist: " & Chan_User & " - ", 2
Case ""
Sendline "Notice " & Nick & " :?bot adduser/remuser/chattr/userlist", 2
End Select
End If
End Sub
Function GetRegUser(Chan, Nick)
For i = 1 To ChanUserCount(ChanNum(Chan))
If WildMatch(Mask(Hostmask(Chan, Nick), 1), ChanUser(ChanNum(Chan), i, CU_Hostmask)) Then
GetRegUser = ChanUser(ChanNum(Chan), i, CU_RegUser)
End If
Next
End Function
Function GetBotUser(Nick)
GetBotUser = False
For i = 1 To BotUserCount
If LCase(BotUser(i, BU_RegNick)) = LCase(Nick) Then GetBotUser = True
Next
End Function
--------------------------------------------------------------------------------------
Danke !!!!
MFG Butze