using System.Collections.Generic;
namespace Discord.Commands
{
///
/// Represents a configuration class for .
///
public class CommandServiceConfig
{
///
/// Gets or sets the default commands should have, if one is not specified on the
/// Command attribute or builder.
///
public RunMode DefaultRunMode { get; set; } = RunMode.Sync;
///
/// Gets or sets the that separates an argument with another.
///
public char SeparatorChar { get; set; } = ' ';
///
/// Gets or sets whether commands should be case-sensitive.
///
public bool CaseSensitiveCommands { get; set; } = false;
///
/// Gets or sets the minimum log level severity that will be sent to the event.
///
public LogSeverity LogLevel { get; set; } = LogSeverity.Info;
///
/// Gets or sets whether commands should push exceptions up to the caller.
///
public bool ThrowOnError { get; set; } = true;
///
/// Collection of aliases for matching pairs of string delimiters.
/// The dictionary stores the opening delimiter as a key, and the matching closing delimiter as the value.
/// If no value is supplied will be used, which contains
/// many regional equivalents.
/// Only values that are specified in this map will be used as string delimiters, so if " is removed then
/// it won't be used.
/// If this map is set to null or empty, the default delimiter of " will be used.
///
///
///
/// QuotationMarkAliasMap = new Dictionary<char, char>()
/// {
/// {'\"', '\"' },
/// {'“', '”' },
/// {'「', '」' },
/// }
///
///
public Dictionary QuotationMarkAliasMap { get; set; } = QuotationAliasUtils.GetDefaultAliasMap;
///
/// Gets or sets a value that indicates whether extra parameters should be ignored.
///
public bool IgnoreExtraArgs { get; set; } = false;
}
}