Better Join

By Gringle on Jul 27, 2010

I noticed that by default, mIRC's join alias doesn't quite do the trick when joining multiple channels.

try it for yourself, type:
/j chan1,chan2,chan3

you'll notice that you joined #chan1 but chan2 and chan3 don't exist

with this snippet, you can join however you prefer, ie:
/j chan1,chan2,chan3
/j #chan1,#chan2,#chan3

either of those will make you join all 3 channels

however, you cannot mix the two modes together, ie:
/j #chan1,chan2,chan3,#chan4

this will cause you to only join #chan1 and #chan4

I haven't played with mixing the modes yet but if anyone has any ideas, I'm always keen to learn something new

alias j { var %j $1- | var %i 1 
  while (%i <= $gettok(%j,0,44)) { if ($chr(35) isin $1-) { join $gettok(%j,%i,44) | inc %i  }
else { join $+($chr(35),$gettok(%j,%i,44)) | inc %i  } } }

Comments

Sign in to comment.
WorldDMT   -  Jul 28, 2010

ok if it's about some server we can do this

alias j {
  tokenize 44 $remove($+($chr(35),$replace($1-,$chr(44),$+($chr(44),$chr(35)),$str($chr(35),2),$chr(35))),$chr(32))
  join $*
}
 Respond  
Gringle   -  Jul 27, 2010

cool, thanks for the input guys, I'll play with it later when I get back home. I haven't done any mirc scripting for quite some time, just thought I'd come back to my roots and see what I can come up with :)

 Respond  
Jethro   -  Jul 27, 2010

Yes, but you have to bear in mind that not all networks support multiple target channel join, and some networks can only allow a certain number of channels to be joined...

Also, you can script a loop through mIRC's favorites, where you have all the favorite channels stored, to join all the channels automatically. Something like > while (%x <= $ini(mirc.ini,chanfolder,0)) {

 Respond  
WorldDMT   -  Jul 27, 2010

I haven't played with mixing the modes yet but if anyone has any ideas, I'm always keen to learn something new

/help /join
u can set it at format /join #chan1,#chan2,#chan3,#chanN
so no need to loop just place # at the begin and replace the "," by ",#" and remove all spaces and if some chan has # u replace the ## bye #

alias j join $remove($+($chr(35),$replace($1-,$chr(44),$+($chr(44),$chr(35)),$str($chr(35),2),$chr(35))),$chr(32))

u can use /j chan1,#chan2,#chan3,chan4,chan5 ,chan6 , #chan7 so all case

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.