コード例 #1
0
        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);
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
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);
        }
コード例 #9
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);
        }
コード例 #10
0
ファイル: BaseUnitTest.cs プロジェクト: emmauss/NHentaiAPI
 public void InitializeTest()
 {
     NHentaiClient = new TestNHentaiClient();
 }
コード例 #11
0
ファイル: Weeb.cs プロジェクト: ribs351/Bibs_dotNET
        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!");
            }
        }