added error message if signing up fails
This commit is contained in:
parent
766faf7b66
commit
2246624917
6 changed files with 79 additions and 40 deletions
|
@ -103,8 +103,14 @@ namespace DiscordBot.CommandHandlers
|
|||
if(accounts.Count == 1)
|
||||
{
|
||||
ApiGuildWars2Account account = accounts.First();
|
||||
await SignUp(buttonType, raidId, roleId, userIdToSignUp, account.GuildWars2AccountId, signedUpByUserId);
|
||||
await UpdateOrRespond(component, "successfully signed up", null, roleMessageExists);
|
||||
if(await SignUp(buttonType, raidId, roleId, userIdToSignUp, account.GuildWars2AccountId, signedUpByUserId))
|
||||
{
|
||||
await UpdateOrRespond(component, "successfully signed up", null, roleMessageExists);
|
||||
}
|
||||
else
|
||||
{
|
||||
await UpdateOrRespond(component, "signing up failed", null, roleMessageExists);
|
||||
}
|
||||
}
|
||||
else if(accounts.Count > 1)
|
||||
{
|
||||
|
@ -116,7 +122,7 @@ namespace DiscordBot.CommandHandlers
|
|||
}
|
||||
}
|
||||
|
||||
public async Task SignUp(string buttonType, int raidId, int roleId, ulong userIdToSignUp, int gw2AccountId, ulong signedUpByUserId)
|
||||
public async Task<bool> SignUp(string buttonType, int raidId, int roleId, ulong userIdToSignUp, int gw2AccountId, ulong signedUpByUserId)
|
||||
{
|
||||
ApiSignUp signUp = new ApiSignUp()
|
||||
{
|
||||
|
@ -130,17 +136,19 @@ namespace DiscordBot.CommandHandlers
|
|||
switch(buttonType)
|
||||
{
|
||||
case Constants.ComponentIds.SIGN_UP_BUTTON:
|
||||
await _httpService.SignUp(signUp);
|
||||
return await _httpService.SignUp(signUp);
|
||||
break;
|
||||
case Constants.ComponentIds.MAYBE_BUTTON:
|
||||
await _httpService.SignUpMaybe(signUp);
|
||||
return await _httpService.SignUpMaybe(signUp);
|
||||
break;
|
||||
case Constants.ComponentIds.BACKUP_BUTTON:
|
||||
await _httpService.SignUpBackup(signUp);
|
||||
return await _httpService.SignUpBackup(signUp);
|
||||
break;
|
||||
case Constants.ComponentIds.FLEX_BUTTON:
|
||||
await _httpService.SignUpFlex(signUp);
|
||||
return await _httpService.SignUpFlex(signUp);
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -54,8 +54,14 @@ namespace DiscordBot.CommandHandlers
|
|||
signedUpByUserId = modal.User.Id,
|
||||
roleId = modalParameters.RoleId
|
||||
};
|
||||
await _httpService.SignUp(signUpExternal);
|
||||
await modal.RespondAsync($"signed up {userName}", ephemeral: true);
|
||||
if(await _httpService.SignUp(signUpExternal))
|
||||
{
|
||||
await modal.RespondAsync($"signed up {userName}", ephemeral: true);
|
||||
}
|
||||
else
|
||||
{
|
||||
await modal.RespondAsync($"signing up failed", ephemeral: true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,12 +36,22 @@ namespace DiscordBot.CommandHandlers
|
|||
case Constants.ComponentIds.ACCOUNT_SELECT_DROP_DOWN:
|
||||
AccountSelectionMessage.Parameters accountParameters = AccountSelectionMessage.ParseId(component.Data.CustomId);
|
||||
int accountId = int.Parse(component.Data.Values.First());
|
||||
await _handlerFunctions.SignUp(accountParameters.ButtonType, accountParameters.RaidId, accountParameters.RoleId, accountParameters.UserIdToSignUp, accountId, accountParameters.SignedUpByUserId);
|
||||
await component.UpdateAsync(x =>
|
||||
if(await _handlerFunctions.SignUp(accountParameters.ButtonType, accountParameters.RaidId, accountParameters.RoleId, accountParameters.UserIdToSignUp, accountId, accountParameters.SignedUpByUserId))
|
||||
{
|
||||
x.Content = "successfully signed up";
|
||||
x.Components = null;
|
||||
});
|
||||
await component.UpdateAsync(x =>
|
||||
{
|
||||
x.Content = "successfully signed up";
|
||||
x.Components = null;
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
await component.UpdateAsync(x =>
|
||||
{
|
||||
x.Content = "signing up failed";
|
||||
x.Components = null;
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,24 +99,24 @@ namespace DiscordBot.Services
|
|||
return new List<ApiRole>();
|
||||
}
|
||||
|
||||
public async Task SignUp(ApiSignUp signUp)
|
||||
public async Task<bool> SignUp(ApiSignUp signUp)
|
||||
{
|
||||
await SendSignUp(signUp, "DiscordBot/SignUp");
|
||||
return await SendSignUp(signUp, "DiscordBot/SignUp");
|
||||
}
|
||||
|
||||
public async Task SignUpMaybe(ApiSignUp signUp)
|
||||
public async Task<bool> SignUpMaybe(ApiSignUp signUp)
|
||||
{
|
||||
await SendSignUp(signUp, "DiscordBot/SignUpMaybe");
|
||||
return await SendSignUp(signUp, "DiscordBot/SignUpMaybe");
|
||||
}
|
||||
|
||||
public async Task SignUpBackup(ApiSignUp signUp)
|
||||
public async Task<bool> SignUpBackup(ApiSignUp signUp)
|
||||
{
|
||||
await SendSignUp(signUp, "DiscordBot/SignUpBackup");
|
||||
return await SendSignUp(signUp, "DiscordBot/SignUpBackup");
|
||||
}
|
||||
|
||||
public async Task SignUpFlex(ApiSignUp signUp)
|
||||
public async Task<bool> SignUpFlex(ApiSignUp signUp)
|
||||
{
|
||||
await SendSignUp(signUp, "DiscordBot/SignUpFlex");
|
||||
return await SendSignUp(signUp, "DiscordBot/SignUpFlex");
|
||||
}
|
||||
|
||||
public async Task SignOff(ApiSignUp signUp)
|
||||
|
@ -124,7 +124,7 @@ namespace DiscordBot.Services
|
|||
await SendSignUp(signUp, "DiscordBot/SignOff");
|
||||
}
|
||||
|
||||
private async Task SendSignUp(ApiSignUp signUp, string requestUri)
|
||||
private async Task<bool> SendSignUp(ApiSignUp signUp, string requestUri)
|
||||
{
|
||||
var httpClient = _httpClientFactory.CreateClient(Constants.HTTP_CLIENT_NAME);
|
||||
|
||||
|
@ -134,6 +134,14 @@ namespace DiscordBot.Services
|
|||
Application.Json);
|
||||
|
||||
var httpResponseMessage = await httpClient.PostAsync(requestUri, raidItemJson);
|
||||
if (httpResponseMessage.IsSuccessStatusCode)
|
||||
{
|
||||
using var contentStream =
|
||||
await httpResponseMessage.Content.ReadAsStreamAsync();
|
||||
|
||||
return await JsonSerializer.DeserializeAsync<bool>(contentStream, _serializerOptions);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public async Task<Tuple<bool, string>> CreateAccount(ApiRaid.Role.User user)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue