I made something which I believe has the features you want.
Open your remote scripts editor by pressing ALT + R and paste this code in there. Replace the UPPER words with your own information, such as server, nick and password.
on 1:start: server SERVER
on 1:connect: {
identify
channel join
}
alias -l identify { nick NICK | .msg nickserv identify PASSWORD }
alias channel {
if ($1 == join) {
if (!$timer(join)) { timerjoin 0 3 channel join }
else {
var %limit $ini(chans.ini,chanlist,0)
inc %c
if (%c > %limit) { unset %c | timerjoin off | halt }
var %chan $ini(chans.ini,chanlist,%c)
j %chan
}
}
elseif ($1 == add) {
if ($2 == all) {
var %chans $chan(0)
while (%chans) {
var %chan $chan(%chans)
writeini chans.ini chanlist %chan 1
dec %chans
echo -a Added %chan to the list of auto joins
}
}
elseif ($2 == this) { writeini chans.ini chanlist # 1 | echo -a Added # to the list of auto joins }
else { writeini chans.ini chanlist $2 1 | echo -a Added $2 to the list of auto joins }
}
elseif ($1 == rem) {
if ($2 == all) { remini chans.ini chanlist | echo -a removed all channels from the list. }
elseif ($2 == active) {
var %chans $chan(0)
while (%chans) {
var %chan $chans(%chans)
if ($readini(chans.ini,chanlist,%chan)) { remini chans.ini chanlist %chan | echo -a removed %chan from the list. }
else echo -a %chan wasn't on the list to begin with.
dec %chans
}
}
elseif ($2 == this) {
if ($readini(chans.ini,chanlist,#)) { remini chans.ini chanlist # | echo -a removed # from the list. }
else echo -a # wasn't on the list to begin with.
}
else {
if ($readini(chans.ini,chanlist,$2)) { remini chans.ini chanlist $2 | echo -a removed $2 from the list. }
else echo -a $2 wasn't on the list to begin with.
}
}
}
The syntax to add/remove channels are:
/channel add all > Adds all channels you're in to the list.
/channel add this > Adds the channel you wrote it in to the list
/channel add CHANNELNAME > Adds CHANNELNAME to the list.
/channel rem all > Removes all channels from the list
/channel rem active > Removes all channels you're in from the list
/channel rem this > Removes the channel you wrote it in from the list
/channel rem CHANNELNAME > Removes CHANNELNAME from the list
If you are to use this, please disable the built in features of mIRC such as the Join on Connect (Favorites)
I set the timer to join after 3 seconds, but you can change it to however many seconds you'd like. Just change the 3 in this portion of the code -
if (!$timer(join)) { timerjoin 0 3 channel join }