All pastes #958814 Raw Edit

Auto Rejoin When Banned

public text v1 · immutable
#958814 ·published 2008-03-26 22:57 UTC
rendered paste body
; w00t, auto-rejoin attempt script 4 Lieutenant
; by KnickLighter
; irc.knicklighter.nl #home if you need me <3

; So we want to enable it when we can not join
; #test on Rizon
; For that we use Raw 474.

raw 474:*cannot*:{

  ;if the status of this script is on (enabled), ignore.
  if (%rejoin.status == on) { halt }

  ;check if the channel and network matches our stuff
  if ($2 == #test) && ($network == Rizon) {

    ;set a variable so that it will not repeate the operation
    ;everytime you try to join
    set %rejoin.status on

    ;then, enable the first timer and set a increasing
    ;variable to 0 and start the first timer
    set %rejoin.temp 0
    .timerRejoinChk.1 10 2 rejoin.1
    ;I use timers to make it easier. the script is bigger
    ;but at least you know what you are doing

    ;end brackets
  }
}

; Well let's start with the first alias
alias rejoin.1 {

  ;increase our variable
  inc %rejoin.temp 1

  ;if the time is up and we are ready to start the
  ;second timer, we do:
  if (%rejoin.temp == 10) {

    ;stop the timer again (just to be sure)
    .timerRejoinChk.1 off

    ;start the second timer
    .timerRejoinChk.2 0 10 rejoin.2

    ;end bracket
  }

  ;if none of the above mattered, let's try to join
  join #muzik-supremacy

  ;end bracket
}

; The second alias
alias rejoin.2 {

  ;this is actually nothing special, just join, timer will
  ;stop automaticly when you have joined the channel in the
  ;event setted below.
  join #muzik-supremacy

  ;end bracket 
}

; And as final, the on-join check.
on *:join:#muzik-supremacy:{

  ;check if I am joining, and if we used the auto-rejoin
  if ($nick == $me) && (%rejoin.status == on) {

    ;if so, turn it off!!! Stop the timers and set status to off
    .timerRejoinChk* off
    set %rejoin.status off

    ;hey, wait, I did not use this one yet!
    halt
    ;lol...

    ;end bracket
  }

  ;well we dont need anything else in here, so another end bracket
}