no idea if this is what you want but
PHP Code:
local delay = 10 --secs
if v_cast == nil then v_cast = false end
if v_time == nil then v_time = GetTime() end
-- takes the time of the proc and if its greater than the cast time of the spell then
if select(7, UnitBuffID("player", id)) - GetTime() > select(7, GetSpellInfo(id)) then
v_cast = true --sets a variable to true
else
v_cast = false -- sets to false
end
if v_cast == true and GetTime() - v_time > delay then
v_time = GetTime()
v_cast = false
CastSpellByName(GetSpellInfo(id))
end