I want to detect if a button has been pressed, but what I don't want is for it to keep returning the "pressed" state more than once within a second or two.
Welcome to the forum
Ie you want standard button press code that is used in most examples. Detect not that the button is pressed but when the button becomes pressed (edge detection). With debouncing this should happen only once for each button press.
The Arduino state change detection is a good tutorial, but it uses an active high switch. The more popular way to wire a switch is to wire it to ground and an input with the internal pullup enabled (active low). Here is my state change detection for active low switches.