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}"); }
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}"))); }
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}"))); }
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)); }
public Task <DateTime> ResolveAsync(Message message, CommandUsageOverloadArgument argument, string content) { var resolved = DateTime.Parse(content); return(Task.FromResult(resolved)); }