All pastes #2390 Raw Edit

lightwizard420

public text v1 · immutable
#2390 ·published 2004-11-26 23:08 UTC
rendered paste body
on *:TEXT:!reminder:*: {
  notice $nick To set reminders use the following format:
  notice $nick !reminder [numerical value] [unit of time] [message]
}

on *:TEXT:!reminder *:*: {
  if ($2 !isnum) {
    notice $nick  $+ $2  $+ is an invalid numerical value.
  }
  else {
    if ($4 !isalnum) {
      notice $nick reminder requires more parameters.
    }
    else {
      set -n %timer01r $4-
      if (%timer01 != on) {
        if ($nick == %9-11light) {
          set -n %timer01n lightwizard420
          if (($3 === second) || ($3 === seconds)) {
            set -n %timer01 on
            set %timer01t $2
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 === minute) || ($3 === minutes)) {
            set %timer01t $calc($2 * 60)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 === hour) || ($3 === hours)) {
            set %timer01t $calc($2 * 3600)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 === day) || ($3 === days)) {
            set %timer01t $calc($2 * 86400)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 === week) || ($3 === weeks)) {
            set %timer01t $calc($2 * 604800)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 === year) || ($3 === years)) {
            set %timer01t $calc($2 * 31556926)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          else {
            /notice $nick  $+ $3  $+ is an invalid unit of time.
          }
        }
        else {
          set -n %timer01n $nick
          if (($3 == second) || ($3 == seconds) || ($3 == sec)) {
            set -n %timer01 on
            set %timer01t $2
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 == minute) || ($3 == minutes) || ($3 == min)) {
            set %timer01t $calc($2 * 60)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 == hour) || ($3 == hours) || ($3 == hr)) {
            set %timer01t $calc($2 * 3600)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 == day) || ($3 == days)) {
            set %timer01t $calc($2 * 86400)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 == week) || ($3 == weeks)) {
            set %timer01t $calc($2 * 604800)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          elseif (($3 == year) || ($3 == years)) {
            set %timer01t $calc($2 * 31556926)
            set -n %timer01 on
            set %timer01d $calc($ctime + %timer01t)
            notice $nick You will be reminded  $+ %timer01r $+  at  $+ $asctime($calc($ctime + %timer01t), HH:nn:ss zzz)) $+  on  $+ $asctime($calc($ctime + %timer01t), yyyy-mm-dd) $+ .
            /timer01a 1 %timer01t /query %timer01n %timer01r
            /timer01b 1 %timer01t /unset %timer01
          }
          else {
            /notice $nick  $+ $3  $+ is an invalid unit of time.
          }
        }
      }
      else {
        /notice $nick Too many reminders running.
      }
    }
  }
}