How to make a VIP script: Difference between revisions
Jump to navigation
Jump to search
m typo fix |
m typo |
||
| Line 27: | Line 27: | ||
if ($istok($3-,$+(@,%c),32)) { | if ($istok($3-,$+(@,%c),32)) { | ||
; @#somevipchannel was found, so the user is opped on this channel, we tell the user that he's a vip, and set mode +o for him on another chan | ; @#somevipchannel was found, so the user is opped on this channel, we tell the user that he's a vip, and set mode +o for him on another chan (note that $2 is the users nick here) | ||
msg $ | msg $2 you are opped on %c $+ , and that makes you a VIP. | ||
mode #YOURCHAN +o $2 | mode #YOURCHAN +o $2 | ||
break | break | ||
Revision as of 09:47, 31 May 2007
How to check if a user is opped on some channel where you/you'r bot isn't. We'll be using vipchannels.txt to store the VIP channels we want to check, each channel on they're own line, ie:
#myvipchannel #somechannel #help.script
On to the script:
on !*:join:#YOURCHAN:{
; We'll set a temporary global variable to indicate, that we're checking the VIP, so we can halt the default /whois text from showing up
; Then we'll do whois on the nick, note the ! in the join event, it prevents the script from triggering, if it is you, who joined
set %vipcheck 1
whois $nick
}
raw 319:*:{
; Channels list
; In this raw we loop through the txt-file vipchannels.txt and see if the user is opped on any of these channels
; This will only be done when the %vipcheck is set
if (%vipcheck) {
var %x = 1
while ($read(vipchannels.txt,%x)) {
; put the channel name into a variable %c
var %c = $v1
; see if $+(@,%c) (equals: @ $+ #somevipchannel) is found from the users channels
if ($istok($3-,$+(@,%c),32)) {
; @#somevipchannel was found, so the user is opped on this channel, we tell the user that he's a vip, and set mode +o for him on another chan (note that $2 is the users nick here)
msg $2 you are opped on %c $+ , and that makes you a VIP.
mode #YOURCHAN +o $2
break
}
inc %x
}
; haltdef so that you cannot see the channels everytime someone joins
haltdef
}
}
raw 318:*:{
; end of /whois
; here we just unset the temporary variable %vipcheck, so we can use normal /whois again
if (%vipcheck) { unset %vipcheck | haltdef }
}
;;; Halting other /whois information from showing up
raw 301:*:{
; away
if (%vipcheck) { haltdef }
}
raw 311:*:{
; users ident, host and realname
if (%vipcheck) { haltdef }
}
raw 312:*:{
; server information
if (%vipcheck) { haltdef }
}
raw 313:*:{
; if the user is IRCop
if (%vipcheck) { haltdef }
}
raw 317:*:{
; signon and idle time
if (%vipcheck) { haltdef }
}
raw 330:*:{
; users auth
if (%vipcheck) { haltdef }
}