All pastes #413112 Raw Edit

Something

public text v1 · immutable
#413112 ·published 2007-03-28 03:40 UTC
rendered paste body
;;;;;Goes in FusionBOT!
ctcp *:*:*:{
  if ($1 == PART) writeini info.ini available $nick $calc($readini(info.ini,available,$nick))
  if ($1 == KICK) {
    writeini info.ini kicks $2 $calc($readini(info.ini,kicks,$2) - 1)
    writeini info.ini available $nick $calc($readini(info.ini,available,$nick) - 1)
  }
}
on *:TEXT:*:#fusionbot-admins:{
  if ($nick !isop $chan) halt
  if ($1 == ~chanban) {
    if ($readini(info.ini,cbans,$2)) notice $nick $c1(You cannot do that because) $c2($2) $c1(is already blacklisted.)
    else { writeini info.ini cbans $2 banned | msg $chan $c2($2) $c1(has been blacklisted.) }
  }
  if ($1 == ~remchanban) {
    if ($readini(info.ini,cbans,$2)) { remini info.ini cbans $2 | msg $chan $c2($2) $c1(has been removed from channel blacklist.) }
    else notice $nick $c1(You cannot do that)
  }
  if ($1 == ~addexcept) {
    if ($readini(info.ini,cbans,$2)) notice $nick $c1(That channel is banned from our services, please type:) $c2(~remchanban $2) $c1(to unblacklist that channel.)
    else {
      if ($readini(info.ini,excepts,$2)) notice $nick $c1(That channel is already on exception.)
      else { writeini info.ini excepts $2 excepted | msg $chan $c2($2) $c1(has been added to the exception list.) }
    }
  }
  if ($1 == ~remexcept) {
    if ($readini(info.ini,excepts,$2)) { remini info.ini excepts $2 | msg $chan $c2($2) $c1(is removed from exception list.) }
    else { notice $nick $2 is not on the excepted list! }
  }
  if ($1 == ~setkicks) { writeini info.ini kicks $2 $3 | msg $chan $c2($2 $+ 's) $c1(strikes have been (down|up)graded to:) $c2($3) }
}
on *:INVITE:#:{
  if ($readini(info.ini,cbans,$chan)) halt
  else {
    var %a = 0, %x = 10000
    while (%a < $ini(info.ini,available,0)) {
      var %a = %a + 1
      var %bot = $chr(91) $+ $gettok($ini(info.ini,available,%a),1,126) $+ $chr(93) $+ $gettok($ini(info.ini,available,%a),2,126)
      var %cbot = $iif(%x > $readini(info.ini,available,%bot),%bot,%cbot)
      var %x = $iif($readini(info.ini,available,%bot) < %x,$v1,$v2)
      echo -a a = %a bot = %bot x = %x cbot = %cbot
    }
    if (%x >= 30) { notice $nick $c1(Sorry, $me is too full! Searching for another bot..) | halt }
    if (!$readini(info.ini,kicks,$chan)) writeini info.ini kicks $chan 5
    ctcp %cbot JOIN $chan $readini(info.ini,kicks,$chan)
    writeini info.ini available %cbot $calc($readini(info.ini,available,%cbot) + 1)
  }
}