Example #1
0
 public Task<bool> ResolveAsync(Message message, CommandUsageOverloadArgument argument, string content)
 {
     var boolean = content.ToLower();
     if (Truths.Contains(boolean)) return Task.FromResult(true);
     if (Falses.Contains(boolean)) return Task.FromResult(false);
     throw new Exception("Gimme a valid boolean!");
 }
 public Task <string> ResolveAsync(Message message, CommandUsageOverloadArgument argument, string content)
 {
     if (string.IsNullOrEmpty(content))
     {
         throw new Exception("Gimme a string!");
     }
     return(Task.FromResult(content));
 }
 public Task <CommandInfo> ResolveAsync(Message message, CommandUsageOverloadArgument argument, string content)
 {
     if (Client.Commands.TryGetValue(content, out var resolved))
     {
         return(Task.FromResult(resolved));
     }
     throw new ArgumentException($"I could not resolve a command from {content}");
 }
Example #4
0
 public Task <DateTime> ResolveAsync(CoreMessage message, CommandUsageOverloadArgument argument, string content)
 {
     if (DateTime.TryParse(content, out var resolved))
     {
         return(Task.FromResult(resolved));
     }
     return(Task.FromException <DateTime>(new ArgumentException($"I could not resolve a date from {content}")));
 }
Example #5
0
 public Task <CultureInfo> ResolveAsync(CoreMessage message, CommandUsageOverloadArgument argument,
                                        string content)
 {
     if (Client.Cultures.TryGetValue(content, out var resolved))
     {
         return(Task.FromResult(resolved));
     }
     return(Task.FromException <CultureInfo>(
                new ArgumentException($"I could not resolve a language from {content}")));
 }
Example #6
0
        public Task <bool> ResolveAsync(Message message, CommandUsageOverloadArgument argument,
                                        [NotNull] string content)
        {
            var boolean = content.ToLower();

            return(Truths.Contains(boolean)
                                ? Task.FromResult(true)
                                : Falses.Contains(boolean)
                                        ? Task.FromResult(false)
                                        : Task.FromException <bool>(new ArgumentException("Gimme a valid boolean!")));
        }
        public Task <int> ResolveAsync(Message message, CommandUsageOverloadArgument argument, string content)
        {
            if (!int.TryParse(content, out var resolved))
            {
                return(Task.FromException <int>(new ArgumentException($"I could not resolve a number from {content}")));
            }

            if (resolved < argument.Minimum)
            {
                return(Task.FromException <int>(new ArgumentException(
                                                    $"{resolved.ToString()} is too small, you must give a number bigger or equals than {argument.Minimum.ToString()}.")));
            }

            if (resolved > argument.Maximum)
            {
                return(Task.FromException <int>(new ArgumentException(
                                                    $"{resolved.ToString()} is too big, you must give a number smaller or equals than {argument.Maximum.ToString()}.")));
            }

            return(Task.FromResult(resolved));
        }
        public Task <string> ResolveAsync(CoreMessage message, CommandUsageOverloadArgument argument, string content)
        {
            if (string.IsNullOrEmpty(content))
            {
                return(Task.FromException <string>(new ArgumentException("Gimme a string!")));
            }

            if (content.Length < argument.Minimum)
            {
                return(Task.FromException <string>(new ArgumentException(
                                                       $"{content} is too short, you must give at least {argument.Minimum.ToString()} characters.")));
            }

            if (content.Length > argument.Maximum)
            {
                return(Task.FromException <string>(new ArgumentException(
                                                       $"{content} is too long, you must give less than {argument.Maximum.ToString()} characters.")));
            }

            return(Task.FromResult(content));
        }
Example #9
0
        public Task <DateTime> ResolveAsync(Message message, CommandUsageOverloadArgument argument, string content)
        {
            var resolved = DateTime.Parse(content);

            return(Task.FromResult(resolved));
        }