public async void Test(MessageEventArgs e) { var client = new NHentaiClient(); var result = await client.GetSearchPageListAsync(e.Message.Text, 1); // find hon string s = ""; List <List <InlineKeyboardButton> > butts = new List <List <InlineKeyboardButton> >() { new List <InlineKeyboardButton>() }; for (int i = 0; i < 5 && i < result.Result.Count; i++) { s += $"<{i}> {result.Result[i].Title.Japanese}\n"; InlineKeyboardButton selectbutt = new InlineKeyboardButton(); InlineKeyboardButton previewbutt = new InlineKeyboardButton(); selectbutt.Text = $"<{i}>"; selectbutt.CallbackData = i.ToString(); previewbutt.Text = "PREVIEW"; previewbutt.Url = $"https://nhentai.net/g/{result.Result[i].Id}"; butts.Add(new List <InlineKeyboardButton>() { selectbutt, previewbutt }); } InlineKeyboardMarkup ikb = new InlineKeyboardMarkup(butts); // Reply Keyboard await Core.botClient.SendTextMessageAsync( e.Message.Chat, "找到:\n" + s, replyMarkup : ikb); }
public async Task TestBookRecommendResult() { // https://nhentai.net/api/gallery/161194/related var result = await NHentaiClient.GetBookRecommendAsync(161194); // At least one recommend Assert.AreEqual(true, result.Result.Any()); }
public async Task TestSearchResult() { // https://nhentai.net/api/galleries/search?query=school var result = await NHentaiClient.GetSearchPageListAsync("school", 1); Assert.AreEqual(ResultNumber, result.PerPage); Assert.AreEqual(ResultNumber, result.Result.Count); }
public async Task TestSearchHomePageResult() { // https://nhentai.net/api/galleries/all?page=1 var result = await NHentaiClient.GetHomePageListAsync(1); Assert.AreEqual(ResultNumber, result.PerPage); Assert.AreEqual(ResultNumber, result.Result.Count); }
public async Task TestTagResult() { // https://nhentai.net/api/galleries/tagged?tag_id=1&page=1&sort=popular var tag = new Tag { Id = 1 }; var result = await NHentaiClient.GetTagPageListAsync(tag, SortBy.Popular, 1); Assert.AreEqual(ResultNumber, result.PerPage); Assert.AreEqual(true, result.Result.Any()); }
public async Task TestBookResult() { // https://nhentai.net/api/gallery/161194 var result = await NHentaiClient.GetBookAsync(161194); Assert.AreEqual("[ユイザキカズヤ] つなかん。 (COMIC ポプリクラブ 2013年8月号) [英訳]", result.Title.Japanese); Assert.AreEqual("Tsuna-kan. | Tuna Can", result.Title.Pretty); Assert.AreEqual("[Yuizaki Kazuya] Tsuna-kan. | Tuna Can (COMIC Potpourri Club 2013-08) [English] [PSYN]", result.Title.English); Assert.AreEqual("160413", result.UploadDate.ToString("yyMMdd")); Assert.AreEqual(true, result.Tags.Any(x => x.Id == 19440)); Assert.AreEqual(17, result.NumPages); Assert.AreEqual(17, result.Images.Pages.Count); Assert.AreEqual(161194, result.Id); }
public async Task TestGetOriginPictureResult() { //get book no 123 var book = await NHentaiClient.GetBookAsync(123); //Check this book is Assert.AreEqual(635, book.MediaId); //https://i.nhentai.net/galleries/635/1.jpg var result = await NHentaiClient.GetOriginPictureAsync(book, 1); //make sure downloaded image Assert.AreEqual(true, result.Length > 0); }
public async Task TestGetBigCoverPictureResult() { // Get book no 123 var book = await NHentaiClient.GetBookAsync(123); // Check this book is right media number Assert.AreEqual(635, book.MediaId); // Check url var imageUrl = NHentaiClient.GetBigCoverUrl(book); Assert.AreEqual(imageUrl, "https://t.nhentai.net/galleries/635/cover.jpg"); // Make sure image is downloaded var result = await NHentaiClient.GetBigCoverPictureAsync(book); Assert.AreEqual(true, result.Length > 0); }
public async Task TestGetGifPictureResult() { // Get book no 288869 var book = await NHentaiClient.GetBookAsync(288869); // Check this book is right media number Assert.AreEqual(1504878, book.MediaId); // Check url var imageUrl = NHentaiClient.GetPictureUrl(book, 22); Assert.AreEqual(imageUrl, "https://i.nhentai.net/galleries/1504878/22.gif"); // Make sure image is downloaded var result = await NHentaiClient.GetPictureAsync(book, 22); Assert.AreEqual(true, result.Length > 0); }
public void InitializeTest() { NHentaiClient = new TestNHentaiClient(); }
public async Task Nukes([Remainder] string query) { var client = new NHentaiClient(); var results = (await client.GetSearchPageListAsync(query, 1)).Result; string description = null; if (NNN == true) { await Context.Channel.TriggerTypingAsync(); await ReplyAsync("You can't use this now, No Nut November is in effect!"); return; } else { if ((Context.Channel as IDMChannel) != null) { try { foreach (var result in results) { foreach (var tag in result.Tags) { if (tag.Id == 12227) { description += $"\n[{result.Id.ToString()}](https://nhentai.net/g/{result.Id.ToString()})"; } } } if (description == null) { await Context.Channel.SendErrorAsync("Nuclear Launch Codes", "No launch codes available with the given parameter(s)!"); return; } var builder = new EmbedBuilder() .WithTitle("Nuclear Launch Codes") .WithColor(new Color(33, 176, 252)) .WithDescription("These codes are armed and dangerous!") .AddField("Launch codes:", description) .WithCurrentTimestamp(); var embed = builder.Build(); await Context.Channel.SendMessageAsync(null, false, embed); } catch (Exception) { await ReplyAsync("Something went wrong with the nukes"); } return; } else if ((Context.Channel as ITextChannel).IsNsfw) { var guild = (Context.Channel as SocketTextChannel)?.Guild; try { var guildHasWeebBlackist = _servers.GetNoWeebAsync(guild.Id).Result; if (guildHasWeebBlackist == true) { var newTask = new Task(async() => await HandleWeebBlacklist()); newTask.Start(); return; } } catch (Exception) { await _servers.ClearFilterAsync(guild.Id); await Context.Channel.SendErrorAsync("Error", "Something went wrong, please try again, if the bot is unresponsive, contact Ribs#8205 on discord."); } try { foreach (var result in results) { foreach (var tag in result.Tags) { if (tag.Id == 12227) { description += $"\n[{result.Id.ToString()}](https://nhentai.net/g/{result.Id.ToString()})"; } } } if (description == null) { await Context.Channel.SendErrorAsync("Nuclear Launch Codes", "No launch codes available with the given parameter(s)!"); return; } var builder = new EmbedBuilder() .WithTitle("Nuclear Launch Codes") .WithColor(new Color(33, 176, 252)) .WithDescription("These codes are armed and dangerous!") .AddField("Launch codes:", description) .WithCurrentTimestamp(); var embed = builder.Build(); await Context.Channel.SendMessageAsync(null, false, embed); } catch (Exception) { await ReplyAsync("Something went wrong with the nukes"); } return; } await ReplyAsync("You can't leak military secrets here!"); } }