tonhowtf/omniget · error

o Bilibili bloqueia esse conteúdo na sua região; tente com…

Error message

o Bilibili bloqueia esse conteúdo na sua região; tente com proxy

What it means

friendly() maps BilibiliError's regional-block variant to this message: the Bilibili API refused the request because the content is geo-restricted for the current network location (typical for regional bangumi). Authentication would not help; the IP's region is the problem.

Solutions

  1. Route the request through a proxy in a region where the content is available
  2. Check whether the content is region-free on the Bilibili website
  3. Try a different network if a proxy is not configured
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src-tauri/src/platforms/bilibili/danmaku/export.rs:218 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12). Data as JSON: /api/errors/19a553e5a8035e9e. Report an issue: GitHub.

Appendix: source

Thrown at src-tauri/src/platforms/bilibili/danmaku/export.rs:218

        None => client.with_anonymous_cookies(),
    })
}

/// Erro de API virando frase. Tudo que depende de sessão degrada com o mesmo
/// recado — é o caso do conteúdo pago (`cheese`) e do bangumi regional.
fn friendly(e: BilibiliError, with_account: bool) -> anyhow::Error {
    match e {
        BilibiliError::NotLoggedIn | BilibiliError::CookieMissing => anyhow!(
            "esse conteúdo pede a sessão do Bilibili — entre na conta pelo gerenciador de cookies e tente de novo"
        ),
        BilibiliError::PremiumRequired if with_account => anyhow!(
            "a conta conectada não tem acesso a esse conteúdo pago"
        ),
        BilibiliError::PremiumRequired => anyhow!(
            "conteúdo pago: conecte uma conta do Bilibili que já tenha a compra"
        ),
        BilibiliError::GeoBlocked => {
            anyhow!("o Bilibili bloqueia esse conteúdo na sua região; tente com proxy")
        }
        BilibiliError::RateLimited => {
            anyhow!("o Bilibili está limitando as requisições; espere um pouco e repita")
        }
        BilibiliError::ContentUnavailable => {
            anyhow!("não achei comentários nessa parte — ela pode ter sido removida")
        }
        other => anyhow!("{}", other.i18n_key()),
    }
}

fn collect_parts(parsed: &parser::ParsedContent) -> Vec<DanmakuPart> {
    let mut out = Vec::new();
    for (i, item) in parsed.items.iter().enumerate() {
        let cid = match item.cid {
            Some(c) if c > 0 => c,
            _ => continue,
        };

View on GitHub (pinned to 8600b91f42)