namespace RegexBot;
///
/// Contains information on success or failure outcomes for certain operations.
///
public interface IOperationResult {
///
/// Indicates whether the operation was successful.
///
///
/// Be aware this value may return while
/// returns .
///
bool Success { get; }
///
/// The exception thrown, if any, when attempting to perform the operation.
///
Exception? Error { get; }
///
/// Indicates if the operation failed due to being unable to find the user.
///
bool ErrorNotFound { get; }
///
/// Indicates if the operation failed due to a permissions issue.
///
bool ErrorForbidden { get; }
///
/// Indicates if user DM notification for this event was successful.
/// Always returns in cases where no notification was requested.
///
bool NotificationSuccess { get; }
///
/// Returns a message representative of this result that may be posted as-is within a Discord channel.
///
string ToResultString();
}