diff --git a/Jellyfin.Plugin.Danmu/Scrapers/Bilibili/BilibiliApi.cs b/Jellyfin.Plugin.Danmu/Scrapers/Bilibili/BilibiliApi.cs index d50fcf0..95f4f9a 100644 --- a/Jellyfin.Plugin.Danmu/Scrapers/Bilibili/BilibiliApi.cs +++ b/Jellyfin.Plugin.Danmu/Scrapers/Bilibili/BilibiliApi.cs @@ -21,7 +21,7 @@ public class BilibiliApi : AbstractApi { private static readonly object _lock = new object(); private TimeLimiter _timeConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromMilliseconds(1000)); - private TimeLimiter _delayExecuteConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromMilliseconds(100)); + private TimeLimiter _limitDownloadRequestConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromSeconds(10)); private TimeLimiter _delayShortExecuteConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromMilliseconds(10)); private static readonly Regex regBiliplusVideoInfo = new Regex(@"view\((.+?)\);", RegexOptions.Compiled); @@ -151,7 +151,7 @@ public class BilibiliApi : AbstractApi throw new ArgumentNullException(nameof(cid)); } - await this.LimitRequestFrequently(); + await this._limitDownloadRequestConstraint; var url = $"https://api.bilibili.com/x/v1/dm/list.so?oid={cid}"; using var response = await this.httpClient.GetAsync(url, cancellationToken).ConfigureAwait(false); @@ -322,6 +322,8 @@ public class BilibiliApi : AbstractApi danmaku.ChatServer = "api.bilibili.com"; danmaku.Items = new List(); + await this._limitDownloadRequestConstraint; + await this.EnsureSessionCookie(cancellationToken).ConfigureAwait(false); try