How to play one-off animations?

I want to play an animation once, and then once it’s done playing, allow the player to play the animation again. The problem is if the player keeps spamming the input button linked with that animation, it will either freeze that animation within it’s animation state (and it won’t transition properly), or it will cause the character to re-do the animation as quickly as the player can spam the button.

My first thought was to simply see if the animation is still playing, and then set a boolean variable to true or false depending on if the animation is still playing or not. But I can’t find any (or there arn’t any) UE4 API functions that will get the currently playing animation node/state.

So, my main question is, is there any way in c++ to see if the animation in question is currently playing or not? If not, what is the best way to play an animation and keep the player from being able to spam the play button until it is over?