Exemplo n.º 1
0
 public async Task SearchTags([Name("Search For"), Summary("Your search query"), Remainder] string tagName)
 {
     var currentTags  = _service.GetTags(Context.Guild.Id);
     var levenTags    = currentTags.Where(x => TagHelper.CalcLevenshteinDistance(tagName.ToLower(), x.TagName) < 5);
     var containsTags = currentTags.Where(x => x.TagName.Contains(tagName.ToLower()));
     var totalTags    = levenTags.Union(containsTags);
     await _message.SendMessageAsync(Context, $"{(totalTags.Any() ? "Tags found;\n" + $"{string.Join(", ", totalTags.Select(x => $"{x.TagName}"))}" : "No tags found")}");
 }
Exemplo n.º 2
0
        public async Task GetTag([Name("Name of tag"), Summary("The name of the tag you want to fetch"), Remainder] string tagName)
        {
            var currentTags = _service.GetTags(Context.Guild.Id);
            var targetTag   = currentTags.FirstOrDefault(x => x.TagName == tagName.ToLower());

            if (targetTag is null)
            {
                var levenTags    = currentTags.Where(x => TagHelper.CalcLevenshteinDistance(tagName.ToLower(), x.TagName) < 5);
                var containsTags = currentTags.Where(x => x.TagName.Contains(tagName.ToLower()));
                var totalTags    = levenTags.Union(containsTags);

                await _message.SendMessageAsync(Context, $"{(totalTags.Any() ? "Tag not found did you mean?\n" + $"{string.Join(", ", totalTags.Select(x => $"{x.TagName}"))}" : "No tags found")}");

                return;
            }

            await _message.SendMessageAsync(Context, targetTag.TagValue);
        }