tonhowtf/omniget · error

não achei comentários nessa parte — ela pode ter sido…

Error message

não achei comentários nessa parte — ela pode ter sido removida

What it means

friendly() maps BilibiliError's not-found variant to this message: the API answered for the requested part/cid but returned zero danmaku in a way that indicates the part's comment track is gone — deleted by the uploader or removed by moderation — rather than merely empty.

Solutions

  1. Try another part of the same video that may still have comments
  2. Verify on the Bilibili website whether the part still shows danmaku
  3. Double-check the link points to the intended part
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at src-tauri/src/platforms/bilibili/danmaku/export.rs:224 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/5073dd9e95f7f1ae. Report an issue: GitHub.

Appendix: source

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

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,
        };
        let page = item.page.unwrap_or((i + 1) as u32);
        let title = if item.title.trim().is_empty() {
            format!("P{}", page)
        } else {
            item.title.trim().to_string()
        };

View on GitHub (pinned to 8600b91f42)