how do I setup a timer that will automatically submit the info every 30 seconds?
/timer 0 30 msg <chan> <message>
Change <chan> to your channel name and change <message> to your advertisement.
Also, do I need to be on that channel for the timer to work?
You don't have to be on the channel for the timer to execute, but most channels have the +n channel mode set which means no messages can be sent to the channel from outside the channel. So yes, you would have to be on the channel for this to work correctly.
~ Edit ~
You can name the timer if you want, so that you can easily stop the timer later./timerADVERT 0 30 msg <chan> <message>
To stop the timer type /timerADVERT off