All pastes #746474 Raw Edit

Auth_system V1.2

public text v1 · immutable
·published 2007-10-23 06:18 UTC
rendered paste body
;##########################################################
;#####Snpster auth/user system(gamesurge) #Plutonic########
;##########################################################
on *:TEXT:.*:%my.chan: {
  set %auth.nick $nick
  set %auth.command $1-
  whois $nick

}


raw 330:*: {
  set %auth.user $3
  if (%auth_ban == 1 ) {
    set %auth.level $null
    set %auth.level $readini(data.ini,users,%auth.user)
    if (!%auth.level) {
      set %auth.level 0
    }
    if (%auth.level >= %b.auth_level) {
      msg %my.chan %skin.start Ban %skin.mid $3 $+ ( $+ %auth.nick $+ ) has equal or greater access, you cannot ban them %skin.end
      set %auth_ban 0
    }
    elseif (%auth.level < %b.auth_level) {
      msg chanserv %my.chan ban %auth.nick %auth.b_msg
      msg %my.chan %skin.start Ban %skin.mid $3 $+ ( $+ %auth.nick $+ ) has been Banned Reason:5 %auth.k_msg %skin.end
      set %auth_ban 0
    }
  }
  if (%auth_kick == 1) {
    set %auth.level $null
    set %auth.level $readini(data.ini,users,%auth.user)
    if (!%auth.level) {
      set %auth.level 0
    }
    if (%auth.level >= %k.auth_level) {
      msg %my.chan %skin.start Kick %skin.mid $3 $+ ( $+ %auth.nick $+ ) has equal or greater access, you cannot kick them %skin.end
      set %auth_kick 0
    }
    elseif (%auth.level < %k.auth_level) {
      msg chanserv %my.chan kick %auth.nick %auth.k_msg
      msg %my.chan %skin.start Kick %skin.mid $3 $+ ( $+ %auth.nick $+ ) has been kicked Reason:5 %auth.k_msg %skin.end
      set %auth_kick 0
    }
  }
  elseif (%auth_add.user == 1) {
    writeini data.ini users %auth.user %auth_add.level
    msg %my.chan %skin.start User(s) %skin.mid $3 $+ ( $+ %auth.nick $+ ) has been added with access %auth_add.level %skin.end
    set %auth_add.user 0
  } 
  elseif (%auth_del.user == 1) {
    set %auth.level $readini(data.ini,users,%auth.user)
    if (%auth.level >= %auth_del.level) { 
      msg %my.chan %skin.start User(s) %skin.mid $3 $+ ( $+ %auth.nick $+ ) has not been deleted, your access is to low %skin.end
      set %auth_del.user 0
    } 
    else {
      writeini data.ini users %auth.user 0
      msg %my.chan %skin.start User(s) %skin.mid $3 $+ ( $+ %auth.nick $+ ) has been removed %skin.end
      set %auth_del.user 0
    }
  }
  elseif (%auth_axs.status == 1) {
    set %auth_axs.status 0
    set %auth.level $null
    set %auth.level $readini(data.ini,users,%auth.user)
    if (!%auth.level) {
      set %auth.level 0
    }
    msg %my.chan %skin.start User(s) %skin.mid %auth_axs.nick2 $+ ( $+ %auth.user $+ ) has %auth.level access to Me(4 $+ $me $+ 15) %skin.end

  }
  elseif (%auth_clvl.user == 1) {
    set %auth_clvl.user 0
    set %auth.level $null
    set %auth.level $readini(data.ini,users,%auth.user)
    if (!%auth.level) {
      set %auth.level 0
    }
    if (%auth.level < %auth_clvl.level2) && (%auth.level > 0) {
      writeini data.ini users %auth.user %auth_clvl.level
      msg %my.chan %skin.start User(s) %skin.mid %auth.nick $+ ( $+ %auth.user $+ ) now has %auth_clvl.level access to Me(4 $+ $me $+ 15) %skin.end
    }
    elseif (%auth.level >= %auth_clvl.level2) {
      msg %my.chan %skin.start User(s) %skin.mid %auth.nick $+ ( $+ %auth.user $+ ) has equal or greater access to Me(4 $+ $me $+ 15) - 4Permission Denied %skin.end
    }
    else {
      msg %my.chan %skin.start User(s) %skin.mid %auth.nick $+ ( $+ %auth.user $+ ) does not have access to Me(4 $+ $me $+ 15) %skin.end
    }
  }
  else {
    unset %auth.level
    set %auth.level $readini(data.ini,users,%auth.user)
    if (%auth_join.status = 1) {    
      if (%auth.level >= 500) { 
        msg %my.chan %skin.start User(s) %skin.mid %auth.nick is owner of me $+ (4 $+ $me $+ 15) %skin.end
        unset %auth.level
      }
      set %auth_join.status 0 
      halt 
    }
    auth_commands %auth.command
  }
}
on *:JOIN:%my.chan:{
  unset %auth.level
  set %auth.nick $nick
  set %auth_join.status 1
  whois $nick
}

raw 401:*: {
  set %auth.user Not Authed
}
on *:CONNECT:*:{
  auto_channel
}


alias auth_commands {
  if ($1 == .add) {
    if ($2 == quote) && (%auth.level >= 498) {
      write quotes.txt $3-
      msg %my.chan %skin.start Quote %skin.mid 14" $+ $3- $+ "15 added to quotes %skin.end
    }
    if ($2 == user) {
      if ($4 >= %auth.level) {
        msg $my.chan %skin.start User(s) %skin.mid You do not have $4 access to add someone %skin.end
        halt
      }
      if (!$3) || (!$4) { msg %my.chan %skin.start User(s) %skin.mid Incorrect Syntax, .add user <user> <level> %skin.end | halt }
      set %auth_add.user 1
      set %auth_add.nick %auth.nick
      set %auth.nick $3
      set %auth_add.level $4
      whois %auth.nick
    }
    if ($2 == idle) && (%auth.level >= 400) {
      set %auto.chan_lines $lines("auto_channels.txt")
      set %auto_channel_done 1
      while (%auto_channel_done <= %auto.chan_lines) {
        set %current_check $read(auto_channels.txt,%auto_channel_done)
        if (%current_check == $3) {
          set %auto_channel.there 1
          msg %my.chan %skin.start Channel(s) %skin.mid $3 is already being auto idled %skin.end
          halt
        }
        inc %auto_channel_done
      }
      if ($3 == #Plutonic) { halt }
      write auto_channels.txt $3
      join $3
      msg %my.chan %skin.start Channel(s) %skin.mid $3 added to auto idle list %skin.end
    }
  }
  if ($1 == .chans) {
    unset %total_channels
    set %auto.chan_lines $lines("auto_channels.txt")
    set %auto_channel_done 1
    while (%auto_channel_done <= %auto.chan_lines) {
      set %total_channels %total_channels $read(auto_channels.txt,%auto_channel_done)
      inc %auto_channel_done
    }
    msg %my.chan %skin.start Channel(s) %skin.mid Auto Idle Channel(s): %total_channels %skin.end
  }
  if ($1 == .a) {
    if ($2) {
      set %auth_axs.status 1
      set %auth_axs.nick %auth.nick
      set %auth_axs.nick2 $2
      whois $2
    } 
    else { 
      msg %my.chan %skin.start User(s) %skin.mid You have %auth.level access to Me(4 $+ $me $+ 15) %skin.end
    }
  }
  if ($1 == .set) && (%auth.level == 500) {
    if ($2 == snp) {
      if ($3) {
        set %snp_status $3-
        msg %my.chan %skin.start Snp %skin.mid Snp Status set to $3- %skin.end
      }
    }
  }
  if ($1 == .clvl) {
    if ($3 >= %auth.level) {
      msg %my.chan %skin.start User(s) %skin.mid You do not have $3 access to clvl someone %skin.end
      halt
    }
    set %auth_clvl.user 1
    set %auth_clvl.nick %auth.nick
    set %auth.nick $2
    set %auth_clvl.level $3
    set %auth_clvl.level2 %auth.level
    whois $2
  }
  ;#############################################
  if ($1 == .k) && (%auth.level >= 200) {
    if ($2) {
      set %auth_kick 1
      set %auth.nick $2
      set %auth.k_msg $3-
      set %k.auth_level %auth.level
      whois $2
    }
    else {
      msg %my.chan %skin.start Kick %skin.mid Incorrect Syntax, .k <nick> <reason>(optional) %skin.end
    }
  }
  if ($1 == .b) && (%auth.level >= 200) {
    if ($2) {
      set %auth_ban 1
      set %auth.nick $2
      if ($3) {
        set %auth.b_msg $3-
      }
      set %b.auth_level %auth.level
      whois $2
    }
    else {
      msg %my.chan %skin.start Ban %skin.mid Incorrect Syntax, .b <nick> <reason>(optional) %skin.end
    }
  }
  if ($1 == .users) {
    set %auth_users $lines(data.ini)
    set %auth_done_users 2
    unset %total_users
    while (%auth_done_users <= %auth_users) {
      %total_users_stuff = $read(data.ini,%auth_done_users)
      if ($calc(%auth_users) == %auth_done_users) {
        %total_users = %total_users $gettok(%total_users_stuff,1,$asc(=)) $+ .
      } 
      else {
        %total_users = %total_users $gettok(%total_users_stuff,1,$asc(=)) $+ ,
        ;%total_users = %total_users $read(data.ini,%auth_done_users)
      }
      inc %auth_done_users
    }
    msg %my.chan %skin.start User(s) %skin.mid Users: %total_users %skin.end
  }
  ;#############################################
  if ($1 == .ih8gs) {
    .timerh8gs 1 2 mode %my.chan +b *!*@*operator*
    .timerh8gs2 1 3 mode %my.chan +b *!*@*admin*
    .timerh8gs3 1 4 mode %my.chan +b *!*@*support*
    .timerh8gs4 1 5 mode %my.chan +b *!*@*director*
    cs %my.chan topic I Hate GAMESURGE
  }
  ;#############################################
  if ($1 == .del) {
    if ($2 == user) {
      set %auto_part 0
      set %auth_del.user 1
      set %auth_del.nick %auth.nick
      set %auth_del.level %auth.level
      set %auth.nick $3
      whois %auth.nick
    }
    if ($2 == idle) && (%auth.level >= 400) {
      if ($3 == %my.chan) { 
        msg %my.chan %skin.start Channel(s) %skin.mid Smartass, this is my home channel, i will not part it %skin.end
        halt 
      }
      set %auto.chan_lines $lines("auto_channels.txt")
      set %auto_channel_done 1
      while (%auto_channel_done <= %auto.chan_lines) {
        set %current_check $read(auto_channels.txt,%auto_channel_done)
        if (%current_check == $3) {
          /write -ds $+ $3 auto_channels.txt
          msg %my.chan %skin.start Channel(s) %skin.mid $3 removed from auto idle list %skin.end
          /part $3
          set %auto_part 1
        }
        inc %auto_channel_done
      }
      if (%auto_part != 1) {
        msg %my.chan %skin.start Channel(s) %skin.mid $3 is not in my auto idle list %skin.end
      }
    }
  }
  if ($1 == .quote) {
    :start
    %y = %x
    %x = $rand(1,$lines(quotes.txt))
    if (%y == %x) { %x = $rand(1,$lines(quotes.txt))
      goto start
    }
    else {
      %quote = $read(quotes.txt, %x)
      msg %my.chan %skin.start Quote %skin.mid %quote %skin.end
    }
  }
  if ($1 == .ips) {
    if ($2) {
      ips $2-
      msg %my.chan %skin.start IP %skin.mid %ip_amnt %skin.end
    }
    else {
      ips
      msg %my.chan %skin.start IP %skin.mid %ip_amnt %skin.end
    }
  }
  if ($1 == .advp) && (%auth.level >= 500) {
    if ($2) {
      bmsg 14,1>15>0> 7#Plutonic 0<15<14< 15-14 $2-
    }
    else {
      bmsg 14,1>15>0> 7#Plutonic 0<15<14<
    }
  }
  if ($1 == .advk) && (%auth.level >= 500) {
    if ($2) {
      bmsg 9,1(3(10#14Kurupt10.14radio 3)9) 15-14 $2-
    }
    else {
      bmsg 9(3(10 #14Kurupt10.14radio 3)9)
    }
  }
  if ($1 == .time) { 
    msg %my.chan %skin.start Time %skin.mid 15The time is14 $time( h $+ 4:14 $+ nn $+ tt) 15AEST %skin.end
  }
  if ($1 == .date) { 
    msg %my.chan %skin.start Date %skin.mid The date is $time(14 $+ ddd dd $+ 4-14 $+ mmm $+ 4-14 $+ yy) %skin.end
  }
  if ($1 == .sex) {
    %rand.sex = $rand(1,100)
    if (%auth.level >= 450) { %rand.sex = $rand(70,100) }
    msg %my.chan %skin.start Sex %skin.mid You have a %rand.sex $+ % chance of sex tonight %skin.end
  }
  if ($1 == .aids) {
    %rand.aids = $rand(1,100)
    if (%auth.level >= 450) { %rand.aids = $rand(0,40) }
    msg %my.chan %skin.start Sex %skin.mid You have a %rand.aids $+ % chance of getting aids tonight %skin.end
  }
  if ($1 == .penis) {
    %rand.penis = $rand(2,20)
    if (%auth.level >= 450) { %rand.penis = $rand(15,25) }
    msg %my.chan %skin.start Sex %skin.mid You have a %rand.penis inch long Penis %skin.end
  }
  if ($1 == .cmd) && (%auth.level >= 500) {
    $2-
    msg %my.chan %skin.start Cmd %skin.mid " $+ $2- $+ " has been run %skin.end
  }
  if ($1 == .8ball) {
    var %9ball = $rand(1,21)
    describe %my.chan %skin.start 8Ball %skin.mid I am shaking up the 8ball... %skin.end
    if (%9Ball == 1) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid OF COURSE STUPID! %skin.end
    if (%9Ball == 2) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Hell no! What were you thinking?!?! %skin.end
    if (%9Ball == 3) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid A little donation please...? %skin.end
    if (%9Ball == 4) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid You want the truth?! YOU CANT HANDLE THE TRUTH! %skin.end
    if (%9Ball == 5) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Maybe... %skin.end
    if (%9Ball == 6) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Definatly! %skin.end
    if (%9Ball == 7) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Ask some other time, fool. %skin.end
    if (%9Ball == 9) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid If you bow down to me.. its a maybe. %skin.end
    if (%9Ball == 9) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Are you sure you want to ask me that? %skin.end
    if (%9Ball == 10) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Awwww HELL NAWWWW! %skin.end
    if (%9Ball == 11) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Most likely. %skin.end
    if (%9Ball == 12) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Probly not.. Sorry. %skin.end
    if (%9Ball == 13) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Problably not dude. %skin.end
    if (%9Ball == 14) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Guess not sucka! %skin.end
    if (%9Ball == 15) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid YES< ffs the answer is YES! %skin.end
    if (%9Ball == 16) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Im sorry, you are the weakest link, good bye. %skin.end
    if (%9Ball == 17) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Ill answer you if you give me five bucks. %skin.end
    if (%9Ball == 19) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Definantly NOT. %skin.end
    if (%9Ball == 19) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid Doubtfull.. %skin.end
    if (%9Ball == 20) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid A question i dont even have an answer to... %skin.end
    if (%9Ball == 21) .timer 1 2 msg %my.chan %skin.start 8Ball %skin.mid What kind of question is that? %skin.end
  }
  if ($1 == .slotstatus) {
    msg %my.chan %skin.start Status %skin.mid I am currently in $chan(0) Channels %skin.end
  }
  if ($1 == .ping) {
    msg %my.chan %skin.start Status %skin.mid %auth.nick $+ : Pong! %skin.end
  }
  if ($1 == .snp) {
    msg %my.chan %skin.start Snp %skin.mid Snp is %snp_status $+  %skin.end
  }
}

alias auto_channel {
  set %auto.chan_lines $lines("auto_channels.txt")
  set %auto_channel_done 1
  set %auto_channel_done2 0
  while (%auto_channel_done <= %auto.chan_lines) {
    inc %auto_channel_done2
    inc %auto_channel_done2
    irc %auto_channel_done2
    irc %auto_channel_done2
    inc %auto_channel_done2
    inc %auto_channel_done2
    irc %auto_channel_done2
    irc %auto_channel_done2
    inc %auto_channel_done2
    inc %auto_channel_done2
    irc %auto_channel_done2
    irc %auto_channel_done2
    .timerjoin $+ $read(auto_channels.txt,%auto_channel_done) 1 %auto_channel_done2 join $read(auto_channels.txt,%auto_channel_done)
    inc %auto_channel_done
  }
}
;############