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.