you can also make it so the bot responds to a notice.. that can be done if the bot is not in the channel as notices can be sent to any room provided they are on the same server and both online. eg..
on *:text:!join*:*:{ /join $2 } msg # $me has join $2
on *:text:!leave*:*:{ /part $2 } msg # $me has left $2
that is the on text where you have to be in the same room as the bot..
this is the notice version
on *:NOTICE:!join *:*: { /join $2 } msg # $me has join $2
on *:NOTICE:!leave *:*: { /part $2 } msg # $me has left $2
then you would type /notice botsname !join #channel