In classic, drive by buffs are common. I had an idea to create an addon that grabs the name of the player who buffed you and do a /ty. The later part is theoretical, but here is my hacked together code.
local JWB = CreateFrame("Frame")
for i=1, 40 do
local name, __, count,_,_,_,caster = UnitBuff("player", i, "HELPFUL"); -- buffs only
if (not name) then
casterName = caster==nil and "unknown" or caster=="player" and "you" or caster=="pet" and "your pet" or UnitName(caster)
break; --end the loop
What I thought would happen is when my toon is buffed, the code would loop through the buffs and pick the last one and print the caster name. Maybe I am misreading the API documentation or I should not try coding until I adjust to a new shift.
You can reference Thanks For The Buff which registers COMBAT_LOG_EVENT_UNFILTERED and checks the spell against a list of buffs
I love this community. I tried to find an existing addon with no luck and you guys say look here. That looks pretty good and may very well meet my needs. But if I am bored, I might try looking the author's techniques.
Buff Owner Classic and this snippet by Phanx (see UnitAura for updated returns) are actually good solutions if all you wanted was just to see who casted a buff on you on mouseover, instead of the automated emote