public async Task ImgSearch(CommandContext ctx, string searchTag) { var emojis = new PaginationEmojis() //emojis to be used in the pagination { Left = DiscordEmoji.FromName(ctx.Client, ":arrow_backward:"), Right = DiscordEmoji.FromName(ctx.Client, ":arrow_forward:"), SkipLeft = null, SkipRight = null }; IamagesAPIWrapper api = new IamagesAPIWrapper(); var response = api.postSearch(searchTag); if (response.FileIDs.Length != 0) // no search was found { List <Page> pages = new List <Page>(); // paginated embeds to be sent var interactivity = ctx.Client.GetInteractivity(); int count = 0; foreach (int fileID in response.FileIDs) { count++; var imgInfo = api.getImgInfo(fileID); var embed = defaultImgEmbed(imgInfo, api); embed.WithTitle($"Image #{count}/{response.FileIDs.Length}"); var page = new Page($"Images Found! Searching for: `{response.searchTag}`\nPress :stop_button: to stop interacting", embed); pages.Add(page); } await interactivity.SendPaginatedMessageAsync(ctx.Channel, ctx.User, pages, emojis); } else { await BotServices.SendEmbedAsync(ctx, "Sorry! No Iamages were found!", "Similar descriptions were either not found or something else went wrong!", ResponseType.Warning); } }
public async Task GetImgByID(CommandContext ctx, int FileId) { IamagesAPIWrapper api = new IamagesAPIWrapper(); var iamage = api.getImgInfo(FileId); var embed = defaultImgEmbed(iamage, api); await ctx.Channel.SendMessageAsync(embed : embed).ConfigureAwait(false); }