I'd like for my "doorkeeper" script to kick/ban a user whose nick is not registered or has expired. I know that umodes like +o and +v are handled by isop(), isvoice(), etc... Is there a way to get/parse a user's umodes to determine if other modes (+r in this instance) are set? I've checked FAQ's, searched, done my homework... can't find reference to this anywhere. Ideas anybody?
You will have to relay on the raw reply from whois to contain "blabla is a registered nick" or use a "MODE blabla" and bind RAW MODE to see if it replys something about +r (or +R, depending on ircd).
That's kinda what I thought... I had tried a couple things along that line, but nothing has worked yet. I'll dig up what I tried and post the code in a bit. Thanks for the reply.
OK here goes... This is the script as it currently exists. It properly executes the whois, but seems to do nothing with the 379 numeric, which on Unreal Ircd is REPL_WHOISMODES. I can get the mode string with mIRC, so I know the reply is being made.
Yep. I know about 307. Trick is, I want something to happen when a user is not registered. Not as easy as trapping the 307. It should be simple to take the reply from 379, split it, and check for "r" in the umode string, but for some reason the bot isn't getting the 379 response.
neo42 wrote:Yep. I know about 307. Trick is, I want something to happen when a user is not registered.
then catch the "End of /WHOIS List" numeric reply
if you still haven't received 307 upon receiving EOW, the nick is not registered (needless to say, you need to maintain track of nicks you inquired about by sending WHOIS; this is commonly done using Tcl's associative arrays)
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use