:0
* ! DEST ?? .
* ! TICKLE_DELIVERED ?? .
* ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$
* ORIGINAL_TO ?? ^\/[^@]+
{
  DELIVERY_TIME=04:20
  STAMP

  :0
  * MATCH ?? ^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$
  { DELAY="@$MATCH" }

  :0 E
  * MATCH ?? ^[0-9]+h$
  * MATCH ?? ^\/[^h]+
  { DELAY="$DATE + $MATCH hours" }

  JUST_DATE="`$BIN_DATE -d \"$DATE\" +%x`"

  :0 E
  * MATCH ?? ^[0-9]+m$
  * MATCH ?? ^\/[^m]+
  { DELAY="$JUST_DATE + $MATCH months $DELIVERY_TIME" }

  :0 E
  * MATCH ?? ^[0-9]+w$
  * MATCH ?? ^\/[^w]+
  { DELAY="$JUST_DATE + $MATCH weeks $DELIVERY_TIME" }

  :0 E
  * MATCH ?? ^[0-9]+d?$
  * MATCH ?? ^\/[^d]+
  { DELAY="$JUST_DATE + $MATCH days $DELIVERY_TIME" }

  JUST_DATE
  DELIVERY_TIME

  :0 E
  {
    LOG="tickle:      invalid date string: $MATCH$NL"
    EXITCODE=69
    HOST
  }

  DELAYED_QUEUE=$BASE/.store/

  :0 fw
  |$FORMAIL -i 'X-Tickle: yes'

#  :0
#  * ! STAMP ?? .
#  { STAMP=`$BIN_DATE +'%s (%c)' -d "$DELAY"` }
#
#  :0
#  * ! STAMP ?? ^[0-9]+ \([A-Za-z ]+ [0-9 :]+\)$
#  {
#    LOG="tickle:      error creating timestamp ($STAMP), using \$now$NL"
#    STAMP="`$BIN_DATE +%s` (ERROR: original stamp '$STAMP' invalid)"
#  }
#
#  :0 E
#  { LOG="tickle:      stamping message $MSGID with $STAMP$NL" }
#
#  :0 fw
#  |$FORMAIL -i "X-Tickle: $STAMP"
#
#  :0
#  { DEST=$TICKLER_QUEUE }
}

# vim:ft=procmail