コード例 #1
0
        public async override Task <ResultMessage> GetPostIDs(string uid)
        {
            return(await Task.Run(() =>
            {
                var bis = new List <BaseItem>();
                try
                {
                    string url = $"https://api.fanbox.cc/post.listCreator?creatorId={uid}&limit=10";
                    if (string.IsNullOrEmpty(_referer))
                    {
                        _referer = $"https://{uid}.fanbox.cc";
                    }

                    string nurl = GetUrls(GetWebCode(url), bis);
                    if (!string.IsNullOrEmpty(nurl))
                    {
                        GetPostIDs_Next(nurl, bis);
                    }
                    return ResultHelper.NoError(bis);
                }
                catch (Exception ex)
                {
                    GlobalMethord.ErrorLog(ex.Message + Environment.NewLine + ex.StackTrace + Environment.NewLine + "-----------------------------------------------");
                    if (ex is WebException || ex is System.Net.Sockets.SocketException)
                    {
                        return ex.Message.Contains("401") ? ResultHelper.CookieError() : ResultHelper.WebError();
                    }
                    return ResultHelper.UnKnownError();
                }
            }));
        }
コード例 #2
0
 public async override Task <ResultMessage> GetPostIDs(string uid)
 {
     return(await Task.Run(() =>
     {
         try
         {
             _pidList = new HashSet <string>();
             var bis = GetPostIDsFromWebCode(uid);
             return ResultHelper.NoError(bis);
         }
         catch (Exception ex)
         {
             GlobalMethord.ErrorLog(ex.Message + Environment.NewLine + ex.StackTrace + Environment.NewLine + "-----------------------------------------------");
             if (ex is WebException || ex is System.Net.Sockets.SocketException)
             {
                 return ex.Message.Contains("40") ? ResultHelper.CookieError() : ResultHelper.WebError();
             }
             else if (ex is InvalidDataException)
             {
                 return ResultHelper.UnKnownError("Post Error: " + ex.Message);
             }
             return ResultHelper.UnKnownError();
         }
     }));
 }
コード例 #3
0
ファイル: PatreonUtils.cs プロジェクト: ROB6154/AtelierMisaka
 private async Task <ResultMessage> LoginCheck(string htmlc)
 {
     if (!_needLogin)
     {
         if (!htmlc.Contains("currentUser"))
         {
             _needLogin = true;
             return(await LoginCheck(await GetWebCode("https://www.patreon.com/login?ru=%2Fhome")));
         }
         else
         {
             if (string.IsNullOrEmpty(htmlc))
             {
                 return(ResultHelper.WebError());
             }
             Match ma = _emailRegex.Match(htmlc);
             if (ma.Success)
             {
                 var s = ma.Groups[1].Value;
                 GlobalData.VM_MA.Cookies       = s;
                 GlobalData.VM_MA.IsInitialized = true;
                 return(ResultHelper.NoError(_needLogin));
             }
             return(ResultHelper.CookieError(GlobalLanguage.Msg_ErrorCookiesMail));
         }
     }
     else
     {
         GlobalData.VM_MA.ShowLogin = true;
         _cwb.FrameLoadEnd         += CWebBrowser_LoginCheck;
         _cwb.FrameLoadStart       += Cwb_FrameLoadStart;
         return(ResultHelper.NoError(_needLogin));
     }
 }
コード例 #4
0
        public async override Task <ResultMessage> GetArtistList()
        {
            return(await Task.Run(() =>
            {
                try
                {
                    var ais = new List <ArtistInfo>();
                    var tais = GlobalData.VM_MA.ArtistList.ToList();
                    if (tais.Count == 0)
                    {
                        tais.Add(new ArtistInfo());
                    }

                    var jfp = JsonConvert.DeserializeObject <JsonData_Fanbox_Plan>(GetWebCode("https://api.fanbox.cc/plan.listSupporting", "https://www.fanbox.cc/creators/supporting"));
                    if (null != jfp.body)
                    {
                        foreach (var pl in jfp.body)
                        {
                            var ai = GetInfo(pl.creatorId, $"https://www.fanbox.cc/@{pl.creatorId}");
                            if (null != ai)
                            {
                                ai.PayHigh = pl.fee.ToString();
                                tais.Remove(ai);
                                ais.Add(ai);
                            }
                        }
                        ais.AddRange(tais);
                        return ResultHelper.NoError(ais);
                    }
                    return ResultHelper.IOError();
                }
                catch (Exception ex)
                {
                    GlobalMethord.ErrorLog(ex.Message + Environment.NewLine + ex.StackTrace + Environment.NewLine + "-----------------------------------------------");
                    if (ex is WebException || ex is System.Net.Sockets.SocketException)
                    {
                        return ex.Message.Contains("40") ? ResultHelper.CookieError() : ResultHelper.WebError();
                    }
                    return ResultHelper.UnKnownError();
                }
            }));
        }
コード例 #5
0
        public async override Task <ResultMessage> GetArtistInfo(string url)
        {
            return(await Task.Run(() =>
            {
                try
                {
                    Match ma = _artUrl.Match(url);
                    if (!ma.Success)
                    {
                        return ResultHelper.PathError();
                    }
                    string cid = ma.Groups[1].Value;

                    var jfa = JsonConvert.DeserializeObject <JsonData_Fantia_Artist>(GetWebCode($"https://fantia.jp/api/v1/fanclubs/{cid}"));
                    if (null != jfa.fanclub)
                    {
                        var ai = new ArtistInfo()
                        {
                            Id = cid,
                            AName = GlobalMethord.RemoveLastDot(GlobalMethord.ReplacePath(jfa.fanclub.creator_name)),
                            Cid = cid,
                            PostUrl = $"https://fantia.jp/fanclubs/{cid}",
                            PayLow = GlobalData.VM_MA.Artist.PayLow,
                            PayHigh = GlobalData.VM_MA.Artist.PayHigh
                        };
                        return ResultHelper.NoError(ai);
                    }
                    return ResultHelper.IOError();
                }
                catch (Exception ex)
                {
                    GlobalMethord.ErrorLog(ex.Message + Environment.NewLine + ex.StackTrace + Environment.NewLine + "-----------------------------------------------");
                    if (ex is WebException || ex is System.Net.Sockets.SocketException)
                    {
                        return ex.Message.Contains("40") ? ResultHelper.CookieError() : ResultHelper.WebError();
                    }
                    return ResultHelper.UnKnownError();
                }
            }));
        }
コード例 #6
0
        public async override Task <ResultMessage> GetArtistInfo(string url)
        {
            return(await Task.Run(() =>
            {
                try
                {
                    Match ma = _artUrl.Match(url);
                    if (!ma.Success)
                    {
                        ma = _artUrl2.Match(url);
                        if (!ma.Success)
                        {
                            return ResultHelper.PathError();
                        }
                    }
                    _referer = $"https://www.fanbox.cc/@{ma.Groups[1].Value}";

                    var ai = GetInfo(ma.Groups[1].Value);
                    if (null != ai)
                    {
                        ai.PayLow = GlobalData.VM_MA.Artist.PayLow;
                        ai.PayHigh = GlobalData.VM_MA.Artist.PayHigh;
                        return ResultHelper.NoError(ai);
                    }
                    return ResultHelper.IOError();
                }
                catch (Exception ex)
                {
                    GlobalMethord.ErrorLog(ex.Message + Environment.NewLine + ex.StackTrace + Environment.NewLine + "-----------------------------------------------");
                    if (ex is WebException || ex is System.Net.Sockets.SocketException)
                    {
                        return ex.Message.Contains("40") ? ResultHelper.CookieError() : ResultHelper.WebError();
                    }
                    return ResultHelper.UnKnownError();
                }
            }));
        }
コード例 #7
0
        public async override Task <ResultMessage> GetArtistList()
        {
            return(await Task.Run(() =>
            {
                try
                {
                    List <ArtistInfo> ais = new List <ArtistInfo>();
                    //有料
                    ais.AddRange(GetArtistListFromWebCode("not_"));
                    //無料
                    ais.AddRange(GetArtistListFromWebCode(string.Empty));

                    var tais = GlobalData.VM_MA.ArtistList.ToList();
                    if (tais.Count == 0)
                    {
                        tais.Add(new ArtistInfo());
                    }
                    tais.ForEach(x =>
                    {
                        if (!ais.Contains(x))
                        {
                            ais.Add(x);
                        }
                    });
                    return ResultHelper.NoError(ais);
                }
                catch (Exception ex)
                {
                    GlobalMethord.ErrorLog(ex.Message + Environment.NewLine + ex.StackTrace + Environment.NewLine + "-----------------------------------------------");
                    if (ex is WebException || ex is System.Net.Sockets.SocketException)
                    {
                        return ex.Message.Contains("40") ? ResultHelper.CookieError() : ResultHelper.WebError();
                    }
                    return ResultHelper.UnKnownError();
                }
            }));
        }