Code:
on ^*:hotlink:*:*:{
  var %fnstart = 4, %wordpos = $gettok($hotlinepos, 1, 32)
  if (%wordpos < %fnstart) halt
  if ($regex($hotline, /^\[.+?\] Successfully Received (.*) \[.+?\] from \S+ at \S+ \S+ at \S+$/)) {
    var %fnend = $calc(%fnstart + $numtok($regml(1), 32) - 1)
    if (%wordpos !isnum $+(%fnstart, -, %fnend)) halt
  }
  else {
    halt
  }
}

on *:hotlink:*:*:{
  if ($regex($hotline, /^\[.+?\] Successfully Received (.*) \[.+?\] from \S+ at \S+ \S+ at \S+$/)) {
    ; DO SOMETHING HERE - $regml(1) contains the filename
  }
}


I was a bit wary of using regex matching in a hotlink event like that, but it doesn't seem to be a problem even on a modestly powered laptop. Just the same, if it's practical you should change the window matching section of the hotlink event to the specific windows/channels you'll use it on.