Пример #1
0
    public async Task <Result <FeedbackMessage> > LeaveRoleplayAsync
    (
        [AutocompleteProvider("roleplay::joined")]
        Roleplay roleplay
    )
    {
        var removeUserResult = await _discordRoleplays.RemoveUserFromRoleplayAsync(roleplay, _context.User.ID);

        if (!removeUserResult.IsSuccess)
        {
            return(Result <FeedbackMessage> .FromError(removeUserResult));
        }

        return(new FeedbackMessage
               (
                   $"Left <@{roleplay.Owner.DiscordID}>'s roleplay \"{roleplay.Name}\"",
                   _feedback.Theme.Secondary
               ));
    }
Пример #2
0
        public async Task LeaveRoleplayAsync(Roleplay roleplay)
        {
            if (!(this.Context.User is IGuildUser guildUser))
            {
                return;
            }

            var removeUserResult = await _discordRoleplays.RemoveUserFromRoleplayAsync(roleplay, guildUser);

            if (!removeUserResult.IsSuccess)
            {
                await _feedback.SendErrorAsync(this.Context, removeUserResult.ErrorReason);

                return;
            }

            var roleplayOwnerUser = await this.Context.Guild.GetUserAsync((ulong)roleplay.Owner.DiscordID);

            await _feedback.SendConfirmationAsync(this.Context, $"Left {roleplayOwnerUser.Mention}'s roleplay \"{roleplay.Name}\"");
        }
        public async Task <RuntimeResult> LeaveRoleplayAsync(Roleplay roleplay)
        {
            if (!(this.Context.User is IGuildUser guildUser))
            {
                return(RuntimeCommandResult.FromError("The current user isn't a guild user."));
            }

            var removeUserResult = await _discordRoleplays.RemoveUserFromRoleplayAsync(roleplay, guildUser);

            if (!removeUserResult.IsSuccess)
            {
                return(removeUserResult.ToRuntimeResult());
            }

            var roleplayOwnerUser = await this.Context.Guild.GetUserAsync((ulong)roleplay.Owner.DiscordID);

            return(RuntimeCommandResult.FromSuccess
                   (
                       $"Left {roleplayOwnerUser.Mention}'s roleplay \"{roleplay.Name}\""
                   ));
        }