DIYgod/RSSHub · error · ConfigNotFoundError

Weibo Group Timeline is not available due to the absense of

Error message

Weibo Group Timeline is not available due to the absense of [Weibo Cookies]. Check <a href="https://docs.rsshub.app/deploy/config#route-specific-configurations">relevant config tutorial</a>

What it means

Thrown by the Weibo custom group timeline route when `config.weibo.cookies` is not set. This route scrapes the private group feed API (`https://m.weibo.cn/feed/group?gid=...`) which requires user authentication. Weibo does not provide an official API for custom groups, so cookies are the only access method. This is a `ConfigNotFoundError`.

Source

Thrown at lib/routes/weibo/group.ts:45

        supportBT: false,
        supportPodcast: false,
        supportScihub: false,
    },
    name: '自定义分组',
    maintainers: ['monologconnor', 'Rongronggg9'],
    handler,
    description: `::: warning
由于微博官方未提供自定义分组相关 api, 此方案必须使用用户\`Cookie\`进行抓取

因微博 cookies 的过期与更新方案未经验证,部署一次 Cookie 的有效时长未知

微博用户 Cookie 的配置可参照部署文档
:::`,
};

async function handler(ctx) {
    if (!config.weibo.cookies) {
        throw new ConfigNotFoundError('Weibo Group Timeline is not available due to the absense of [Weibo Cookies]. Check <a href="https://docs.rsshub.app/deploy/config#route-specific-configurations">relevant config tutorial</a>');
    }

    const gid = ctx.req.param('gid');
    const groupName = ctx.req.param('gname') || '微博分组';
    let displayVideo = '1';
    let displayArticle = '0';
    let displayComments = '0';
    if (ctx.req.param('routeParams')) {
        if (ctx.req.param('routeParams') === '1' || ctx.req.param('routeParams') === '0') {
            displayVideo = ctx.req.param('routeParams');
        } else {
            const routeParams = querystring.parse(ctx.req.param('routeParams'));
            displayVideo = fallback(undefined, queryToBoolean(routeParams.displayVideo), true) ? '1' : '0';
            displayArticle = fallback(undefined, queryToBoolean(routeParams.displayArticle), false) ? '1' : '0';
            displayComments = fallback(undefined, queryToBoolean(routeParams.displayComments), false) ? '1' : '0';
        }
    }

View on GitHub (pinned to bed535e087)

Solutions

  1. Configure `WEIBO_COOKIES` in the RSSHub environment with a valid cookie from a logged-in Weibo session.
  2. Follow the deployment docs linked in the error message for cookie extraction instructions.
  3. If cookies are unavailable, this route cannot be used — consider routes that don't require authentication.
Defensive patterns

Strategy: validation

Validate before calling

// Ensure WEIBO_COOKIES is set in environment
if (!process.env.WEIBO_COOKIES) {
    throw new Error('WEIBO_COOKIES must be configured for /weibo/group route');
}

Try / catch

try {
    const feed = await fetchRss('/weibo/group/' + gid);
} catch (e) {
    if (e.name === 'ConfigNotFoundError') {
        console.error('Configure WEIBO_COOKIES to use Weibo group timelines.');
    }
    throw e;
}

Prevention

When it happens

Trigger: A request to `/weibo/group/:gid/:gname?/:routeParams?` on an instance without `WEIBO_COOKIES` configured. The handler checks immediately at line 44 before attempting any API call.

Common situations: Same as error 617: the `WEIBO_COOKIES` env var is missing, the cookie expired and was removed, or the user is on a shared public instance that doesn't support cookie-based routes.

Related errors


AI-assisted analysis of DIYgod/RSSHub@bed535e087 (2026-08-12). Data as JSON: /api/errors/12e3be9742d3297e. Report an issue: GitHub.