@param [String/Integer] otp the OTP to check against

Why do you assume the otp is an int while the doc clearly says otherwise?