API UnitCastingInfo

Returns information about the spell currently being cast by the specified unit.
 name, text, texture, startTimeMS, endTimeMS, isTradeSkill, castID, notInterruptible, spellId = UnitCastingInfo(unit)
==Arguments==
:;unit: : UnitId
==Returns==
:;name: - The name of the spell, or nil if no spell is being cast.
:;text: - The name to be displayed.
:;texture: - The texture path associated with the spell icon.
:;startTimeMS: - Specifies when casting began in milliseconds (corresponds to GetTime()*1000).
:;endTimeMS: - Specifies when casting will end in milliseconds (corresponds to GetTime()*1000).
:;isTradeSkill: - Specifies if the cast is a tradeskill
:;castID: : GUID - The unique identifier for this spell cast, for example Cast-3-3890-1159-21205-8936-00014B7E7F.
:;notInterruptible: - if true, indicates that this cast cannot be interrupted with abilities like Kick or Pummel. In default UI those spells have shield frame around their icons on enemy cast bars. Always returns nil in Classic .
:;spellId: - The spell's unique identifier. (Added in 7.2.5)
==Details==
* For channeled spells, displayName is "Channeling". So far displayName is observed to be the same as name in any other contexts.
* This function may not return anything when the target is channeling spell post it warm-up period, you should use in that case. It takes the same arguments and returns similar values specific to channeling spells.
* In Classic, the alternative () is similar to UnitCastingInfo("player")
==Example==
The following snippet prints the amount of time remaining before the player's current spell finishes casting.
local spell, _, _, _, endTime = UnitCastingInfo("player")
if spell then 
 local finish = endTimeMS/1000 - GetTime()
 print(spell .. " will be finished casting in " .. finish .. " seconds.")
end
==Patch changes==
====Retail====
====Classic====
==References==