Jump to content

Easier Way To Grab Gates.


Psych

Recommended Posts

Wow, nice new look, good job!

 

I'm guessing people dont post alot in here then? lol

 

Okay, a question....

 

Can you do a multiple WHOIS on a few nics at a time? I'm askin this because my bot likes to get the gates when it joins and check against its blacklist. I'm doing a WHOIS on all the nics one at a time but its a bit server heavy, especially with a full room.

 

I've put a few shortcuts in, like adding the gate for people that speak, for example. I was just curious if there is a quicker way.

Link to comment
Share on other sites

  • Replies 28
  • Created
  • Last Reply

Top Posters In This Topic

Guest X-Fusion

Are you saying you want a mass whois?

alias mxwho { 
  var %mxa = 0, %mxb = 0, %mxc = $ticks
  while (%mxa < $chan(0)) {
    inc %mxa
    who $chan(%mxa)
    inc %mxb
  }
  echo -s Who'd: %b Chan(s) $calc(($ticks - %c) / 1000) sec(s)
}

That'll who all the channels your in, and it'll display their info. If you want from a who, the way to gather it would probably be a tokenize. The raw is 352 for the who.

Link to comment
Share on other sites

basically, when you join a room, you are only given the nicks that are in the room. The gates are only given when particular information is present, that is with events such as certain modes, kicks, joins, parts and messages (can't remember if messages are yes/no, been a while). If they do nothing, you wont recieve their gate. Therefore you have to who the channel when you join.

 

It's only required once. After that, you can just use $address or $ial, checking the help file for more details.

Link to comment
Share on other sites

Guest Travis

Whois info comes in on raw 307, 311, 312, 317, 318, 319 & 325.

 

311 has the gate info. You will need to whois everyone in the channel and you can easily flood out if there are too many people in the room.

 

 

on me:*:join:#:{
var %nik = $nick(#,0) | while (%nik) {
whois $nick(#,%nik)
dec %nik
}
}

raw 311:*:{
if (!$window(@who)) window @who
echo 2 @who 1= $1-
echo 3 @who rawmsg $rawmsg
}

 

This will help you test it.

Edited by Travis
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...