Since 6.0 you can get the temporary enchant ids from GetWeaponEnchantInfo():
Lua Code:
local hasMainHandEnchant, mainHandExpiration, mainHandCharges, mainHandEnchantID, hasOffHandEnchant, offHandExpiration, offHandCharges, offHandEnchantId = GetWeaponEnchantInfo()
The issue now, is that you don't know the duration of the enchants.
But you can filter the fishing lure enchants or fall back to 3600 like this:
Lua Code:
local tempEnchantID = {
[256] = 600, -- (+75)
[263] = 600, -- (+25)
[264] = 600, -- (+50)
[265] = 600, -- (+75)
[266] = 600, -- (+100)
[3868] = 3600, -- (+100)
[4225] = 900, -- (+150)
[4264] = 600, -- (+15)
[4919] = 600, -- (+150)
[5386] = 600, -- (+200)
}
local hasMainHandEnchant, mainHandExpiration, mainHandCharges, mainHandEnchantID, hasOffHandEnchant, offHandExpiration, offHandCharges, offHandEnchantId = GetWeaponEnchantInfo()
local duration = tempEnchantID[mainHandEnchantID] or 3600
frame.cooldown:SetCooldown(GetTime() + ((mainHandExpiration / 1000) - duration), duration)