AnGelBot-Portal²

Normale Version: invite in einem channel automatisch...
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
hi Jungs,

ich kenne mich mit dem Angelbot nicht wirklich gut aus, aber das wird noch Wink

Ist es Möglich per Script irgendwie den Key aus dem Channel wo der Bot ist, alle paar sek/min/std automatisch für eine Minute herauszunehmen?
Vielen danke schon mal im Vorraus.

PS: evtl sogar so dass man mit !an !aus, key an und ausmacht
Code:
Sub Init()
  Script "Key-Script 1.0 by #herrmie.de"
  Hook "Chan_Msg"
  SpreadFlagMessage 0, "+m", "14*** Key-Script V1.0 by #herrmie.de loaded."
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  Select Case LCase(Param(Line, 1))
    Case "!key"
      If Param(Line, 2) = "on" Then
        If Param(Line, 3) <> "" Then
          If MatchFlags(GetUserChanFlags(RegUser, Chan), "+s") Then
            SendLine "MODE " & Chan & " +k " & Param(Line, 3), 1
          Else
            SendLine "NOTICE " & Nick & " :You haven't the flags to rule me.", 3
          End If
        Else
          SendLine "NOTICE " & Nick & " :Use: !key on <channelpassword> to set a ChannelPassword", 3
        End If
      End If
      If Param(Line, 2) = "off" Then
        If Param(Line, 3) <> "" Then
          If MatchFlags(GetUserChanFlags(RegUser, Chan), "+s") Then
            SendLine "MODE " & Chan & " -k " & Param(Line, 3), 1
          Else
            SendLine "NOTICE " & Nick & " :You haven't the flags to rule me.", 3
          End If
        Else
          SendLine "NOTICE " & Nick & " :Use: !key off <channelpassword> to set off the ChannelPassword", 3
        End If
      End If
  End Select
End Sub
Benutzung: !key on password <-- Passwort wird gesetzt
!key off password <--- Passwort wird resetet.
ja cool danke Smile

und ist das noch möglich das einzubauen wegen alle paar sek/min/std automatisch aus und an?

PS: hmmm, habe gerade gemerkt dass mein Bot invite automatisch wieder reinmacht nachdem ich !key off PW mache. Kann man das abstellen?
Und kann statt !key off Pw nicht nur kurz !off machen und pw und so in einer ini festlegen?
beschreibe mal bitte ganz genau, wie du das script haben möchtest.
Ich habe mal was geschrieben:
Wenn der channel -k gesetzt wird, dann wird der Chan nach 30 sec wieder +k gesetzt.
Nachteil: Wenn du ein Passwort setzt, dann sieht man es im Channel und wenn er +k mach, dann sehen es die anderen nat. auch. Also macht das Script nicht, viel Sinn.

Code:
Const ini_invite = "ini_invite.ini"

Sub Init()
  Script "Key-Script 1.0 by #herrmie.de"
  Hook "Chan_Msg"
  SpreadFlagMessage 0, "+m", "14*** Key-Script V1.0 by #herrmie.de loaded."
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  Select Case LCase(Param(Line, 1))
    Case "!setpw"
      If Param(Line, 2) <> "" Then
        If MatchFlags(GetUserChanFlags(RegUser, Chan), "+s") Then    
          WriteINIString Chan, "ChannelPassword", Param(Line, 2), "ini_invite"
          SendLine "NOTICE " & Nick & " :Password was set to " & Param(Line, 2), 3
        Else
          SendLine "NOTICE " & Nick & " :You haven't the flags to rule me.", 3
        End If
      Else
        SendLine "PRIVMSG " & Chan & " :Use: !setpw <channelpassword>", 3
      End If
    Case "!on"
      If ReadINIString(Chan, "ChannelPassword", "", "ini_invite") <> "" Then
        If MatchFlags(GetUserChanFlags(RegUser, Chan), "+s") Then
          SendLine "MODE " & Chan & " +k " & ReadINIString(Chan, "ChannelPassword", "", "ini_invite"), 1
        Else
          SendLine "NOTICE " & Nick & " :You haven't the flags to rule me.", 3
        End If
      Else
        SendLine "NOTICE " & Nick & " :You have to set a ChannelPassword first!", 3
        SendLine "NOTICE " & Nick & " :Use: !setpw <channelpassword>", 3
      End If
    Case "!off"
      If ReadINIString(Chan, "ChannelPassword", "", "ini_invite") <> "" Then
        If MatchFlags(GetUserChanFlags(RegUser, Chan), "+s") Then
          SendLine "MODE " & Chan & " -k " & ReadINIString(Chan, "ChannelPassword", "", "ini_invite"), 1
          TimedCommand "key_set " & """" & Chan & """", 30
        Else
          SendLine "NOTICE " & Nick & " :You haven't the flags to rule me.", 3
        End If
      Else
        SendLine "NOTICE " & Nick & " :You have to set a ChannelPassword first!", 3
        SendLine "NOTICE " & Nick & " :Use: !setpw <channelpassword>", 3
      End If
  End Select
End Sub

Sub key_set(Chan)
  SendLine "MODE " & Chan & " +k " & ReadINIString(Chan, "ChannelPassword", "", "ini_invite"), 1
End Sub
dankööööö Smile
das ist schon mal cool!!

also ich meinte das so:

im Partyline setzt man eine zeit (z.B. alle 60min), dass der key aus einem Channel automatisch rausgenommen wird, und er dann nach 30 Sek wieder automatisch wieder reingeht.

PS: ach ja und dann halt noch eine funktion wie !off, dass key auch rausgeht aber nicht wieder angeht nach 30 sek sondern nur mit !on und dann auch der timer wieder läuft, alle 60 min
hi
ich hätte auch intresse an dem script
schonmal ein thx
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. Wink 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. Wink
perfektttttt, man du bist der beste, gleich ma testen
das letzte Script funzt bei mir leider irgendwie nicht :(
kann das sein, dass noch ein kleiner fehler ist im Script?
Nach dem Intervall macht er den Key nicht raus.
Bei mir geht das script.

Du lädst das script. Dann gibst du auf der Partyline folgendes ein:
.invite-setup <#channel> <key> <intervall in seconds>
dann gehste in den chan, den du angegeben hast und gibst !on ein, dann ist das script aktiv.
Seiten: 1 2
Referenz-URLs