mIRC Homepage
Posted By: HaleyJ A script for Nickserv identified nicks only. - 01/07/06 11:04 PM
Hello.
I have a small script that ops certain people when they enter a channel
I would like to tweak it so that it would only respond to nicks that have identified to nickserv, if you have the time could the reply be simple and also have a small explanation on how the script works. thankyou

Here is my current script.

on op:JOIN:#whatever: / mode $chan +o $nick

Thankyou
are you an IRCop on that specific server? idk how to find out if they are identified, using scripts, but, if you are an IRCop, let us know laugh.
If you also have chanserv, then try checking
/msg chanserv help aop
/msg chanserv help sop

If these options are available, they'll work better than a script
Hi
Am not a IRC-OP and we do have chanserv. Is there really no way for mIRC to check if a nick is identified with its nickserv pass? :-( Thanks for all the help though.
oh
And i dont want to use chanserv, i know its better then a script but i need to know also for other reasons. Say if you have a bot that only certain users can access, and say they are offline a user could easily change to a nick that has access with that bot for a few seconds op himself and change back and stuff like that. But if mIRC could check if he was identified it would be easier. <3
I'm not the best script, nor even close to being it, but, I doubt there is a way to find if a nick is identified, in scripting. sorry frown
Ok frown
I also dont script but i thought anything could be done with it. Is there no mode change or something in the nick when it identifies like a +r or something. IDK am just guessing.
Subject to nickserv having a status command available, the following has been tested and works (although it was tested with the kick command rather than kill)
Code:
 on *:join:#:{
  $+(.timer,$nick) 1 60 check.nick $nick
}
alias check.nick {
  .enable #nickserv.check
  set %nick $1
  .ns status $1
}
#nickserv.check off
on *:text:*:*:{
  if ($nick == nickserv) &amp;&amp; (%nick isin $1-) &amp;&amp; ($gettok($1-,-1,32) &lt; 2) {
    .kill %nick
  }
  .disable #nickserv.check
}
#nickserv.check end
 


If this does not work on your network, relay the network information and I'll connect and see what needs modifying (if possible). The script worked on 2 of the 4 networks that I'm on, needed a small modification for the 3rd, but the 4th didn't relay the required information from nickserv.
Thanks alot, Amazing stuff
Quote:
Subject to nickserv having a status command available, the following has been tested and works (although it was tested with the kick command rather than kill)
Code:
 on *:join:#:{
  $+(.timer,$nick) 1 60 check.nick $nick
}
alias check.nick {
  .enable #nickserv.check
  set %nick $1
  .ns status $1
}
#nickserv.check off
on *:text:*:*:{
  if ($nick == nickserv) &amp;&amp; (%nick isin $1-) &amp;&amp; ($gettok($1-,-1,32) &lt; 2) {
    .kill %nick
  }
  .disable #nickserv.check
}
#nickserv.check end
 


If this does not work on your network, relay the network information and I'll connect and see what needs modifying (if possible). The script worked on 2 of the 4 networks that I'm on, needed a small modification for the 3rd, but the 4th didn't relay the required information from nickserv.


i would suggest with the code using /msg nickserv status $1 because not all networks allow /ns ... the other option is to use /nickserv which almost every IRCd comes with pre setup for nickserv@services.your.net and most common Services allow u to use nickserv instead of those big networks like DALnet which require NickServ@Services.Dal.Net ...


Code:
 on *:join:#:{
  $+(.timer,$nick) 1 60 check.nick $nick
}
alias check.nick {
  .enable #nickserv.check
  set %nick $1
[color:orange].msg nickserv status $1[/color]
}
#nickserv.check off
on *:text:*:*:{
  if ($nick == nickserv) &amp;&amp; (%nick isin $1-) &amp;&amp; ($gettok($1-,-1,32) &lt; 2) {
    .kill %nick
  }
  .disable #nickserv.check
}
#nickserv.check end
© mIRC Discussion Forums