public async Task SetWarningDurationAsync(long warningID, TimeSpan newDuration)
            {
                var getWarning = await _warnings.GetWarningAsync(this.Context.Guild, warningID);

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

                    return;
                }

                var warning = getWarning.Entity;

                var newExpiration = warning.CreatedAt.Add(newDuration);

                var setExpiration = await _warnings.SetWarningExpiryDateAsync(warning, newExpiration);

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

                    return;
                }

                await _feedback.SendConfirmationAsync(this.Context, "Warning duration updated.");
            }
Beispiel #2
0
        public async Task <Result <FeedbackMessage> > SetWarningDurationAsync(long warningID, TimeSpan newDuration)
        {
            var getWarning = await _warnings.GetWarningAsync(_context.GuildID.Value, warningID);

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

            var warning = getWarning.Entity;

            var newExpiration = warning.CreatedAt.Add(newDuration);

            var setExpiration = await _warnings.SetWarningExpiryDateAsync(warning, newExpiration);

            return(setExpiration.IsSuccess
                ? new FeedbackMessage("Warning duration updated.", _feedback.Theme.Secondary)
                : Result <FeedbackMessage> .FromError(setExpiration));
        }
            public async Task <RuntimeResult> SetWarningDurationAsync(long warningID, TimeSpan newDuration)
            {
                var getWarning = await _warnings.GetWarningAsync(this.Context.Guild, warningID);

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

                var warning = getWarning.Entity;

                var newExpiration = warning.CreatedAt.Add(newDuration);

                var setExpiration = await _warnings.SetWarningExpiryDateAsync(warning, newExpiration);

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

                return(RuntimeCommandResult.FromSuccess("Warning duration updated."));
            }