Так а чо, пройдись регуляркой по этой стринге, и всё:
str = "Meow u0422u0435"
str = str:gsub("u(%d+)", function(code)
return utf8.char(tonumber(code, 16))
end)
-- Meow Te
Если дискордыч всегда выдаёт 4 знака после "u", то разумнее будет воспользоваться паттерном "u(%d%d%d%d)" для более корректного декодирования ситуаций, когда после экранируемой последовательности следует обычная цифра, не входящая в неё. Например, "Meow u042215" (где 15 - просто текст)