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
               ));
    }
Esempio n. 2
0
        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}\""
                   ));
        }