How to change the guis after repeated use

I need when the second dialogue starts so that the first dialogue is reset

Module:

function DialogModule:startDialog(DialogGui)
		CloseAllFrame()
		self.DialogGui = DialogGui
	
	if not self.DialogGui.Visible then
		local DialogTitle = self.DialogGui.Title.Title
		local DialogText = self.DialogGui.Text.Title
		local DialogButtons = self.DialogGui.Buttons

		local nextButton = DialogButtons.Next
		local closeButton = DialogButtons.Close
		local acceptButton = DialogButtons.Accept
		local declineButton = DialogButtons.Decline

		DialogTitle.Text = self.dialogData.name

		nextButton.Visible = true
		closeButton.Visible = true
		acceptButton.Visible = false
		declineButton.Visible = false

		Main.Blur.Visible = true
		Main.Attack.Visible = false
		Main.Rasa.Visible = false

		self.DialogGui.Visible = true

		local formattedMessage = self:formatMessage(self.dialogData.messages[self.currentMessageIndex])
		self:typeText(DialogText, formattedMessage)

		local function onNextButtonClick()
			self.currentMessageIndex += 1
			if self.currentMessageIndex <= #self.dialogData.messages then
				local nextFormattedMessage = self:formatMessage(self.dialogData.messages[self.currentMessageIndex])
				self:typeText(DialogText, nextFormattedMessage)
			else
				if self.isQuest then
					nextButton.Visible = false
					closeButton.Visible = false
					acceptButton.Visible = true
					declineButton.Visible = true
					self:completeQuest(DialogText)
				elseif self.hasGUI then
					nextButton.Visible = false
					closeButton.Visible = true
					acceptButton.Visible = false
					declineButton.Visible = false
					self:openCustomGUI()
				else
					self:resetDialog(DialogGui)
				end
			end
		end

		nextButton.Button.MouseButton1Click:Connect(onNextButtonClick)

		closeButton.Button.MouseButton1Click:Connect(function()
			self:resetDialog(DialogGui)
		end)

		declineButton.Button.MouseButton1Click:Connect(function()
			self:resetDialog(DialogGui)
		end)

		acceptButton.Button.MouseButton1Click:Connect(function()
			if self.isQuest then
				self.questModule:startQuest(self.dialogData.quest)
			end
			self:resetDialog(DialogGui)
		end)
	else
		DialogModule:resetDialog()
	end
end

Local Script:

local function onDialogEvent(npcName: string)
	local DialogGuiTemplate = Services.ReplicatedStorage.Debounces.Dialog
	local DialogGuiClone = DialogGuiTemplate:Clone()
	DialogGuiClone.Parent = Main
		
	local dialog = require(Modules.Dialog).new(Player, npcName)
	dialog:startDialog(DialogGuiClone)
end
for _, DialogNPC in pairs(DialogNPCs:GetChildren()) do
	if DialogNPC:IsA("Model") and DialogNPC:FindFirstChild("ProximityPrompt") then
		DialogNPC.ProximityPrompt.Triggered:Connect(function()
			onDialogEvent(DialogNPC.Name)
		end)
	end
end