;-----------------------------------------------
; ViP Bot script made by Foreek
; Visit #Foreek @ QuakeNet
; Don't edit anything below this line!
; Unless you really know what you are doing!
;-----------------------------------------------
on Master:TEXT:!vip*:#: {
if ($2 == on) {
if (!% [ $+ [ $chan ] $+ ] .vip.status) {
set % [ $+ [ $chan ] $+ ] .vip.status on
set % [ $+ [ $chan ] $+ ] .vip.mode +
notice $nick .:: $+ $chan $+ ::. Vip enabled
}
else { notice $nick .:: $+ $chan $+ ::. Vip is already on! }
}
elseif ($2 == off) {
if (% [ $+ [ $chan ] $+ ] .vip.status == on) {
unset % [ $+ [ $chan ] $+ ] .vip.status
notice $nick .:: $+ $chan $+ ::. Vip disabled
}
else { notice $nick .:: $+ $chan $+ ::. Vip is already off! }
}
elseif ($2 == status) {
notice $nick .:: $+ $chan $+ ::. Vip is $iif(% [ $+ [ $chan ] $+ ] .vip.status == on,on,off)
}
elseif ($2 == add) {
if (!$3) { notice $nick .:: $+ $chan $+ ::. Usage: !vip add #chan @/+ }
if (% [ $+ [ $chan ] $+ ] .vip.status == on) {
if (($3 != $chan) && ($left($3,1) == $chr(35))) {
% [ $+ [ $chan ] $+ ] .vip.chans = $addtok(% [ $+ [ $chan ] $+ ] .vip.chans, [ $+ [ $3 ] $+ ] ,32)
notice $nick .:: $+ $chan $+ ::. Chan $3 added successfully to ViP-chans.
}
elseif ($3 == $chan) {
notice $nick .:: $+ $chan $+ ::. You can't add this chan to ViP-chans.
}
elseif ($left($3,1) != $chr(35)) {
notice $nick .:: $+ $chan $+ ::. Invalid channel!
}
}
else { notice $nick .:: $+ $chan $+ ::. Vip is off! }
}
elseif ($2 == del) {
if (!$3) { notice $nick .:: $+ $chan $+ ::. Usage: !vip del #chan }
if (% [ $+ [ $chan ] $+ ] .vip.status == on) {
if ($3 isin % [ $+ [ $chan ] $+ ] .vip.chans) {
% [ $+ [ $chan ] $+ ] .vip.chans = $remtok(% [ $+ [ $chan ] $+ ] .vip.chans, [ $+ [ $3 ] $+ ] ,1,32)
notice $nick .:: $+ $chan $+ ::. Chan $3 Deleted successfully.
}
else { notice $nick .:: $+ $chan $+ ::. I can't find this channel! }
}
else { notice $nick .:: $+ $chan $+ ::. Vip is off! }
}
elseif ($2 == mode) {
if (!$3) { notice $nick .:: $+ $chan $+ ::. Usage: !vip mode @/+ }
if (% [ $+ [ $chan ] $+ ] .vip.status == on) {
if ($3 == $chr(64)) || ($3 == $chr(43)) {
set % [ $+ [ $chan ] $+ ] .vip.mode $3
notice $nick .:: $+ $chan $+ ::. Vip mode set to $3
}
else { notice $nick .:: $+ $chan $+ ::. Invalid mode! Available modes are @ or + }
}
else { notice $nick .:: $+ $chan $+ ::. Vip is off! }
}
elseif ($2 == help) {
timervip1 1 0 notice $nick .:: $+ $chan $+ ::. Commands are:
timervip2 1 1 notice $nick .:: $+ $chan $+ ::. !vip on/off
timervip3 1 2 notice $nick .:: $+ $chan $+ ::. !vip status
timervip4 1 3 notice $nick .:: $+ $chan $+ ::. !vip add/del/list
timervip5 1 4 notice $nick .:: $+ $chan $+ ::. !vip mode
timervip6 1 5 notice $nick .:: $+ $chan $+ ::. !vip skin
}
elseif ($2 == list) {
if (% [ $+ [ $chan ] $+ ] .vip.status == on) {
if (% [ $+ [ $chan ] $+ ] .vip.chans) {
notice $nick .:: $+ $chan $+ ::. Added channels: % [ $+ [ $chan ] $+ ] .vip.chans
}
else { notice $nick .:: $+ $chan $+ ::. I can't find any channel! }
}
else { notice $nick .:: $+ $chan $+ ::. Vip is off! }
}
elseif ($2 == skin) {
if (!$3) { notice $nick .:: $+ $chan $+ ::. Create your own skin! :nick: - Vip nick :: :host: - Vip host :: :id: - Vip ID :: :chan: - Vip coming from :: :mode: - Mode received. }
if ($3) {
set % [ $+ [ $chan ] $+ ] .vip.skin $3-
notice $nick .:: $+ $chan $+ ::. Skin created! example:
timerskin1 1 1 notice $nick .:: $+ $chan $+ ::. $replace(% [ $+ [ $chan ] $+ ] .vip.skin,:host:,$address($nick,2),:chan:,$chan,:nick:,$nick,:id:,1,:mode:,@)
}
}
elseif (!$2) {
notice $nick .:: $+ $chan $+ ::. Need help? Type !vip help
}
}
on *:JOIN:#: {
if (% [ $+ [ $chan ] $+ ] .vip.status == on) {
if (!% [ $+ [ $chan ] $+ ] .vip.id) { set % [ $+ [ $chan ] $+ ] .vip.id 0 }
inc % [ $+ [ $chan ] $+ ] .vip.id
set %vip.nick $nick
set %vip.chan $chan
set %vip.host $address($nick,2)
whois $nick
}
}
raw 319:*: {
var %i 0
var %z $3-
var %c $numtok(% [ $+ [ %vip.chan ] $+ ] .vip.chans,32)
var %u $remove($3-,$chr(64),$chr(43))
:loop
var %i
var %lookup $findtok(%u, [ $+ [ $gettok(% [ $+ [ %vip.chan ] $+ ] .vip.chans, [ $+ [ %i ] $+ ] ,32) ] $+ ] ,1,32)
if (%i > %c) { goto vip }
tokenize 32 %z
if ($left($ [ $+ [ %lookup ] $+ ] ,1) == $chr(64)) { var %vip.from $addtok(%vip.from, [ $+ [ $gettok(%u, [ $+ [ %lookup ] $+ ] , 32) ] $+ ] ,32) | goto loop }
elseif (%i <= %c) { goto loop }
:vip
if (%vip.from) {
msg %vip.chan $replace(% [ $+ [ %vip.chan ] $+ ] .vip.skin,:host:,%vip.host,:nick:,%vip.nick,:chan:,%vip.from,:id:,% [ $+ [ %vip.chan ] $+ ] .vip.id,:mode:,% [ $+ [ %vip.chan ] $+ ] .vip.mode)
mode %vip.chan + $+ $iif(% [ $+ [ %vip.chan ] $+ ] .vip.mode == @,o,v) %vip.nick
}
}