DIYgod/RSSHub · error · ConfigNotFoundError

Skeb followings RSS is disabled due to the lack of relevant

Error message

Skeb followings RSS is disabled due to the lack of relevant config

What it means

The Skeb following-creators route calls the Skeb API on behalf of a user and requires `config.skeb.bearerToken` for authentication. If `config.skeb` is undefined or its `bearerToken` is empty, the handler throws `ConfigNotFoundError` before calling `getFollowingsItems`. Skeb has no anonymous access for followings, so there is no fallback.

Source

Thrown at lib/routes/skeb/following-creators.ts:44

    },
    name: 'Following Creators',
    maintainers: ['SnowAgar25'],
    handler,
    radar: [
        {
            title: 'Following Creators',
            source: ['skeb.jp/:username'],
            target: '/following_creators/:username',
        },
    ],
    description: 'Get the list of creators the specified user is following on Skeb.',
};

async function handler(ctx): Promise<Data> {
    const username = ctx.req.param('username');

    if (!config.skeb || !config.skeb.bearerToken) {
        throw new ConfigNotFoundError('Skeb followings RSS is disabled due to the lack of relevant config');
    }

    const items = await getFollowingsItems(username, 'following_creators');

    return {
        title: `Skeb - ${username} - フォロー中のクリエイター`,
        link: `https://skeb.jp/${username}`,
        item: items as DataItem[],
    };
}

View on GitHub (pinned to bed535e087)

Solutions

  1. Obtain a Skeb bearer token (from your authenticated Skeb session's Authorization header) and set `SKEB_BEARER_TOKEN=<token>` in the RSSHub environment, then restart.
  2. Rotate the token when it expires — Skeb sessions are not long-lived.
  3. If you do not have a Skeb account, the route is unavailable.

Example fix

// before
# no skeb config

// after
SKEB_BEARER_TOKEN=Bearer xxxxxxxx
Defensive patterns

Strategy: validation

Validate before calling

if (!config.skeb?.bearerToken) {
    return ctx.body('Skeb route requires SKEB_BEARER_TOKEN.', 503);
}

Type guard

const hasSkebToken = (c: typeof config): boolean => Boolean(c.skeb?.bearerToken);

Prevention

When it happens

Trigger: A request to /following_creators/:username on an instance where `SKEB_BEARER_TOKEN` is not set. The check runs before the helper is invoked.

Common situations: Self-hosted deploy without Skeb config; user expects shared credentials on a public instance; token name typo in env.

Related errors


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