Code:
Const ini_invite = "ini_invite.ini"
Sub Init()
Script "Invite - Script 1.0 by #herrmie.de"
Hook "Commands"
Hook "Chan_Msg"
SpreadFlagMessage 0, "+m", "14*** Invite - Setup V1.0 by #herrmie.de loaded."
AddCommand "invite-setup", CL_SOwn, "+m", "2*** .invite-setup <channel> <key> <intervall> ##14Speichert einen Channel mit invitekey und Intervall für -k."
End Sub
Sub Commands(vSock, RegUser, Flags, Line)
If Param(Line, 1) = ".invite-setup" Then
If Param(Line, 2) = vbNullString Or Param(Line, 3) = vbNullString Or Param(Line, 4) = vbNullString Then
SpreadFlagMessage 0, "+m", "5*** Usage: .invite_setup <#channel> <key> <intervall in seconds>"
Else
WriteINIString "Settings", "Intervall", Param(Line, 4), ini_invite
WriteINIString Param(Line, 2), "ChannelPassword", Param(Line, 3), ini_invite
SpreadFlagMessage 0, "+m", "15*** Key for " & Param(Line, 2) & " is " & Param(Line, 3) & " and the interval is " & Param(Line, 4) & " seconds."
End If
End If
End Sub
Sub Chan_Msg(Chan, Nick, RegUser, Line)
Select Case LCase(Param(Line, 1))
Case "!on"
If MatchFlags(GetUserChanFlags(RegUser, Chan), "+s") Then
SendLine "MODE " & Chan & " +k " & ReadINIString(Chan, "ChannelPassword", "", ini_invite), 1
intervall = ReadINIString("Settings", "Intervall", "", ini_invite)
TimedCommand "key_off " & """" & Chan & """", intervall
Else
SendLine "NOTICE " & Nick & " :You haven't the flags to rule me.", 3
End If
Case "!off"
If MatchFlags(GetUserChanFlags(RegUser, Chan), "+s") Then
SendLine "MODE " & Chan & " -k " & ReadINIString(Chan, "ChannelPassword", "", ini_invite), 1
intervall = ReadINIString("Settings", "Intervall", "", ini_invite)
TimedCommand "key_set " & """" & Chan & """", 30
Else
SendLine "NOTICE " & Nick & " :You haven't the flags to rule me.", 3
End If
End Select
End Sub
Sub key_set(Chan)
SendLine "MODE " & Chan & " +k " & ReadINIString(Chan, "ChannelPassword", "", ini_invite), 1
intervall = ReadINIString("Settings", "Intervall", "", ini_invite)
TimedCommand "key_off " & """" & Chan & """", intervall
End Sub
Sub key_off(Chan)
SendLine "MODE " & Chan & " -k " & ReadINIString(Chan, "ChannelPassword", "", ini_invite), 1
TimedCommand "key_set " & """" & Chan & """", 30
End Sub
Das Script läuft, jedoch ist es umständlich.
Vielleicht mache ich noch ne Benutzerfreundlichere Version.
Benutzung: auf der Partyline .invite-setup schreiben, der rest sollte sich von alleine erklären.
Der Bot macht -k nach dem Intervall, dass du gesetzt hast, nach 30sec macht er wieder +k und dann erst wieder nach dem Intervall -k.