Show a meaningful message if users try to login without a paid account.

This commit is contained in:
Daniel Scalzi 2019-02-05 17:26:00 -05:00
parent c74e3f0676
commit 6d1ecd73ee
No known key found for this signature in database
GPG Key ID: D18EA3FB4B142A57
2 changed files with 23 additions and 11 deletions

View File

@ -29,12 +29,17 @@ const loggerSuccess = LoggerUtil('%c[AuthManager]', 'color: #209b07; font-weight
exports.addAccount = async function(username, password){
try {
const session = await Mojang.authenticate(username, password, ConfigManager.getClientToken())
if(session.selectedProfile != null){
const ret = ConfigManager.addAuthAccount(session.selectedProfile.id, session.accessToken, username, session.selectedProfile.name)
if(ConfigManager.getClientToken() == null){
ConfigManager.setClientToken(session.clientToken)
}
ConfigManager.save()
return ret
} else {
throw new Error('NotPaidAccount')
}
} catch (err){
return Promise.reject(err)
}

View File

@ -206,11 +206,18 @@ function resolveError(err){
}
}
if(err.message != null){
if(err.message === 'NotPaidAccount'){
return {
title: 'Error During Login:<br>Game Not Purchased',
desc: 'The account you are trying to login with has not purchased a copy of Minecraft.<br>You may purchase a copy on <a href="https://minecraft.net/">Minecraft.net</a>'
}
} else {
// Unknown error with request.
return {
title: 'Error During Login:<br>Unknown Error',
desc: err.message
}
}
} else {
// Unknown Mojang error.
return {
@ -234,11 +241,11 @@ function loginCancelEnabled(val){
loginCancelButton.onclick = (e) => {
switchView(getCurrentView(), loginViewOnCancel, 500, 500, () => {
loginUsername.value = ''
loginPassword.value = ''
loginCancelEnabled(false)
if(loginViewCancelHandler != null){
loginViewCancelHandler()
loginUsername.value = ''
loginPassword.value = ''
loginViewCancelHandler = null
}
})