The way you were calling it was messagingservice.PublishAsync('Practice',messagingservice,{Name = matchName,Key = key}) but when calling a function with :, self is always passed as the First argument (in this case, messagingservice.) Without the pcall it would look like messagingservice:PublishAsync(topic,message) or messagingservice.PublishAsync(messagingservice,topic,message)
local suc,er = pcall(messagingservice.PublishAsync,messagingservice,'Practice',{Name = matchName,Key = key})