how to fix timer activating twice

Godot Version

4.2

Question

when I click the light button, it will change the texture to a lit up version of my environment, I made a cooldown so when you toggle it off it would take 3 seconds before you can toggle it again, however, if you click it while the timer is running, when the cooldown finishes and you try to toggle the light on, it would redo the cooldown timer, after that one finishes it functions as normal, but you can activate the glitch again by doing the same thing. here is the code

type or paste code here

@onready var cool = $cooldown
@onready var off_scroll : Node2D = $Office
@onready var timer = $light_penlty
@onready var ltimer = $lilightDIS
@onready var jump = $jumpscare
@onready var jumpsound = $jumpscare/AudioStreamPlayer
@onready var DIStime = $Label2

func _on_check_button_toggled(toggled_on):
	if cool.is_stopped():
		timer.start()
		ltimer.start()
		print("pressed")
		$Office.texture = load("res://Sprites/Office/offic.png")
		if toggled_on == false:
			timer.stop()
			ltimer.stop()
			print("off")
			$Office.texture = load("res://Sprites/Office/loffic.png")
			cool.start()




func _on_light_penlty_timeout():
	jumpsound.play()
	jump.visible = true
	jump.play("default")
	await get_tree().create_timer(.7).timeout
	get_tree().change_scene_to_file("res://Scenes/HUD/control.tscn") # this will detect when the timer is done, and will jumpscare you (right now it will take you to the menu)