I had to read your post many times before I could figure out part of what you wanted. Your post read as if you were looking for someone literally saying the word OVER. So if below is not what you want, you need to explain better. This code looks in all channels for someone saying a message containing
dj live in SOMETHING minutes
... where SOMETHING is a number.
* This uses a 'regular expression' so you must be careful if you need to modify the match-text to change the message which triggers it. The ' *' are so that it works if the message has several consecutive spaces, and the * does not mean the same thing in regular expressions that it means in wildcards.
* You did not say how it should 'tell' you. Should it only display the 10 minutes reminder in channel window, or also play a sound? It currently shows a message reminder in the channel, and then it makes a beep 10 times. If you do not want the sound, you can remove the line containing the word BEEP. If you want it to instead play-to-yourself-only a .WAV sound file that's in your WAV sounds folder, you can change it to something like:
/splay alert.wav
... and it will play alert.wav if that filename exists in your .wav folder. (And of course if sounds are enabled)
* If the message says the DJ is coming sooner than 10 minutes, it will do the alert now
* You can change the 10 in %reminder if you want the advance notice to be a different number of minutes
* It uses the same timer name for the same channel, so that "live in 25" and then 5 minutes later "live in 20" do not create 2 alerts at the same time. The alert is created using the last time this text is seen
* the 1st line of the ON TEXT is an "if" statement to check if the nick has +voice or higher status. You can remove that if you do not want it.
* You can change :#: to list 1 channel, or be a list of comma-separated channelnames to avoid this triggering in every channel. For example:
:#music:
or
:#music,#badmusic:
ON $*:TEXT:/dj *live *in *(\d+) *minutes/iS:#:{
if (!$nick($chan,$nick,a,r)) return
var %reminder 10
var %alert $max(0,$calc($regml(1) - %reminder))
var %alert.time $asctime($calc($ctime + 60*%alert),HH:nn)
var %DJ.time $asctime($calc($ctime + 60*$regml(1)),HH:nn)
echo -g $target setting alert for %alert minute(s) in the future at %alert.time for DJ here at %DJ.time
.timerDJalert $+ $network $+ $target -o 1 $max(0,$calc(60*%alert)) DJ_Alert $unsafe( $target %alert %DJ.time )
}
alias DJ_Alert {
echo -g $1 DJ Alert for $2 minutes in the future at $3 $+ !
beep 10 500
}