mIRC Home    About    Download    Register    News    Help

Print Thread
#21118 27/04/03 09:08 AM
Joined: Apr 2003
Posts: 426
Fjord artisan
OP Offline
Fjord artisan
Joined: Apr 2003
Posts: 426
I've made a script to get particular information about the people in channels as I join them...

Ie, nicks that are active, idle, opped, etc.

However, it frustrates me that because it takes forever and a day to update the IAL, that the channel stats come out intermixed with whatever is happening in the channel.


What I want to be able to do, is display all the channel information (topic, url, channel info etc) as soon as I have joined the channel, and not have any of it get mixed in with the channel chat.

I know lag is a factor here.

However, I've seen several scripts get all that information and output it with the channel topic, and not have it willy nilly through the channel chat.

If anyone has any ideas/clues etc, it would be great.


--------
mIRC - fun for all the family (except grandma and grandpa)
#21119 27/04/03 09:24 AM
Joined: Apr 2003
Posts: 30
D
Ameglian cow
Offline
Ameglian cow
D
Joined: Apr 2003
Posts: 30
Being a newb, i have no idea how you'd code this, but could you not alter the JOIN command so that it outputs the info, then joins the channel? Just a thought...I doubt you'd be able to get the info in the channel window with that idea though...

#21120 27/04/03 03:12 PM
Joined: Dec 2002
Posts: 2,985
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 2,985
No. If you script it to work from ON JOIN I am quite sure that only you are recognised. You need to time it to run from an alias a second or two after you join. There's probably other ways too but that's how I have done it in the past.

----------------------------------------------------------------------

Take Two:

Read this post...

Channel Info

Last edited by Watchdog; 27/04/03 03:14 PM.
#21121 28/04/03 01:04 PM
Joined: Apr 2003
Posts: 426
Fjord artisan
OP Offline
Fjord artisan
Joined: Apr 2003
Posts: 426
Thanks, but I've already got most of that down pat.


My issue is that I want to include the information about how many nicks are away... I could, I spose, settle for not doing that, but I'd prefer to include those clients that are away.


Currently all my code is stuck into the end who raw, and when it's finished running, it out puts it into the channel. The problem with this is, that if it's a huge channel, it takes a while to do the who, and thus get the info... That's why I'm looking to see if I can't change that in any way, so it doesn't get thrown smack into the middle of channel chat.


--------
mIRC - fun for all the family (except grandma and grandpa)
#21122 28/04/03 01:19 PM
Joined: Jan 2003
Posts: 3,012
Hoopy frood
Offline
Hoopy frood
Joined: Jan 2003
Posts: 3,012
Yes, unless you whois the nickname, or query a nick your not going to get an away status. Also, the way your doing it is a nice way of flooding on a server, especially if your joining several large rooms at once...


-KingTomato
#21123 28/04/03 01:53 PM
Joined: Dec 2002
Posts: 1,527
_
Hoopy frood
Offline
Hoopy frood
_
Joined: Dec 2002
Posts: 1,527
ok to get a list of the nicks that are away for a nicklist i have made this is what ive done

first u must /who the channel to get a list of all nicks then from that list u search for a G in the raw thats returned
like this:
Code:
raw 352:*:{
  if (G isin $7) { set -u8 %Away.Nicks $addtok(%Away.Nicks, $6, 32) }
  elseif (G isin $7) { set -u8 %Away.Nicks $deltok($findtok(%Away.Nicks, $6, 32)%Away.Nicks, $6, 32) }
  haltdef  
}


then from there ive went thru that along with the remainder of the nicks to set special icons for away nicks and ops voices and so on by doing this .....

Code:
alias fillnicklist {
  if %nicklist == On && $active ischan {
    did -ra %dnamenick 1 1 Chatters %countnicks
    %sn = 1
    if $nick($chan($active),%sn,a) isop $chan($active) && $nick($chan($active),%sn,a) == _D3m0n_ { did -a %dnamenick 1 0 + 7 0 0 $nick($chan($active),%sn,a) | goto one }
    if ($istok(%Away.Nicks,$nick($chan($active),%sn,a),32) == $true) { did -a %dnamenick 1 0 + 6 0 0 $nick($chan($active),%sn,a) | goto one }
    if $nick($chan($active),%sn,a) isop $chan($active) { did -a %dnamenick 1 0 + 2 0 0 $nick($chan($active),%sn,a) | goto one }
    if $nick($chan($active),%sn,a) ishop $chan($active) { did -a %dnamenick 1 0 + 3 0 0 $nick($chan($active),%sn,a) | goto one }
    if $nick($chan($active),%sn,a) isvoice $chan($active) { did -a %dnamenick 1 0 + 4 0 0 $nick($chan($active),%sn,a) | goto one }
    if $nick($chan($active),%sn,a) isowner $chan($active) { did -a %dnamenick 1 0 + 5 0 0 $nick($chan($active),%sn,a) | goto one }
    if $nick($chan($active),%sn,a) isreg $chan($active) { did -a %dnamenick 1 0 + 1 0 0 $nick($chan($active),%sn,a) | goto one }
    :one
    %sn = 2
    while ( $nick($chan($active),%sn,a) != $null ) {
      if $nick($chan($active),%sn,a) isop $chan($active) && $nick($chan($active),%sn,a) == _D3m0n_ { did -a %dnamenick 1 0 + 7 0 0 $nick($chan($active),%sn,a) | goto two }
      if ($istok(%Away.Nicks,$nick($chan($active),%sn,a),32) == $true ) { did -a %dnamenick 1 0 + 6 0 0 $nick($chan($active),%sn,a) | goto two } 
      if $nick($chan($active),%sn,a) isop $chan($active) { did -a %dnamenick 1 0 + 2 0 0 $nick($chan($active),%sn,a) | goto two }
      if $nick($chan($active),%sn,a) ishop $chan($active) { did -a %dnamenick 1 0 + 3 0 0 $nick($chan($active),%sn,a) | goto two }
      if $nick($chan($active),%sn,a) isvoice $chan($active) { did -a %dnamenick 1 0 + 4 0 0 $nick($chan($active),%sn,a) | goto two }
      if $nick($chan($active),%sn,a) isowner $chan($active) { did -a %dnamenick 1 0 + 5 0 0 $nick($chan($active),%sn,a) | goto two }
      if $nick($chan($active),%sn,a) isreg $chan($active) { did -a %dnamenick 1 0 + 1 0 0 $nick($chan($active),%sn,a) | goto two }
      :two
      inc %sn
    }
  }
}


just copying these snippets of code will not give u a real nicklist but i think this should give u a decent idea of how to do this in yours

btw kingtomato sorry i dont thinki clicked on the right nick to show this to so i apologize in advance if this was an error


D3m0nnet.com
#21124 29/04/03 12:58 AM
Joined: Apr 2003
Posts: 426
Fjord artisan
OP Offline
Fjord artisan
Joined: Apr 2003
Posts: 426
Ok... Perhaps I should make my thread even clearer.



I've already got a channel stat scrip that does all this.

I've even got a queue thing happening, so that it queue's the /who command for the channels I join.

What I want to know, is if it is possible to get this all done so that when I join a channel, it doesn't get thrown into the chat.


Ie,
*Now talking in #channel
*Topic for #channel- blah bhla aslkf12
*Topic set: 12/04/03 blah blah
<nick> blah blah
<nick2> blah blady bhal
*Channel Stat for #channel: blah blah
<nick2> howdy
<nick3> die!

but comes out like this:

*Now talking in #channel
*Topic for #channel- blah bhla aslkf12
*Topic set: 12/04/03 blah blah
*Channel Stat for #channel: blah blah
<nick> blah blah
<nick2> blah blady bhal
<nick2> howdy
<nick3> die!


--------
mIRC - fun for all the family (except grandma and grandpa)
#21125 29/04/03 06:50 AM
Joined: Feb 2003
Posts: 47
G
Ameglian cow
Offline
Ameglian cow
G
Joined: Feb 2003
Posts: 47
only thing i can think of is _log_ and halt the chat until your spam has been done and then check if there's info in the log. If there is, you echo it to the channel (with the proper flags so that it is seen as a normal chat message). Then just let the normal chat go on.


Link Copied to Clipboard