public async Task <Result <FeedbackMessage> > JoinRoleplayAsync ( [AutocompleteProvider("roleplay::notjoined")] Roleplay roleplay ) { var addUserResult = await _discordRoleplays.AddUserToRoleplayAsync(roleplay, _context.User.ID); if (!addUserResult.IsSuccess) { return(Result <FeedbackMessage> .FromError(addUserResult)); } return(new FeedbackMessage ( $"Joined <@{roleplay.Owner.ID}>'s roleplay \"{roleplay.Name}\"", _feedback.Theme.Secondary )); }
public async Task JoinRoleplayAsync(Roleplay roleplay) { if (!(this.Context.User is IGuildUser guildUser)) { return; } var addUserResult = await _discordRoleplays.AddUserToRoleplayAsync(roleplay, guildUser); if (!addUserResult.IsSuccess) { await _feedback.SendErrorAsync(this.Context, addUserResult.ErrorReason); return; } var roleplayOwnerUser = await this.Context.Guild.GetUserAsync((ulong)roleplay.Owner.DiscordID); await _feedback.SendConfirmationAsync(this.Context, $"Joined {roleplayOwnerUser.Mention}'s roleplay \"{roleplay.Name}\""); }
public async Task <RuntimeResult> JoinRoleplayAsync(Roleplay roleplay) { if (!(this.Context.User is IGuildUser guildUser)) { return(RuntimeCommandResult.FromError("The current user isn't a guild user.")); } var addUserResult = await _discordRoleplays.AddUserToRoleplayAsync(roleplay, guildUser); if (!addUserResult.IsSuccess) { return(addUserResult.ToRuntimeResult()); } var roleplayOwnerUser = await this.Context.Guild.GetUserAsync((ulong)roleplay.Owner.DiscordID); return(RuntimeCommandResult.FromSuccess ( $"Joined {roleplayOwnerUser.Mention}'s roleplay \"{roleplay.Name}\"" )); }