DIYgod/RSSHub · error · Error

${postList.message}

Error message

${postList.message}

What it means

Thrown by the DXY user profile thread route when the post list API (`/bbs/newweb/user/post/page`) returns a non-success `code`. This is the second API call in the route, fetching the user's posts after the user-info call succeeded. The API's own `message` is re-thrown verbatim.

Source

Thrown at lib/routes/dxy/profile/thread.ts:77

        async () => {
            const postListParams = {
                userId,
                type: '0',
                pageNum: '1',
                pageSize: limit,
                serverTimestamp: Date.now(),
                timestamp: Date.now(),
                noncestr: generateNonce(8, 'number'),
            };

            const { data: postList } = await got(`${webBaseUrl}/bbs/newweb/user/post/page`, {
                searchParams: {
                    ...postListParams,
                    sign: sign(postListParams),
                },
            });
            if (postList.code !== 'success') {
                throw new Error(postList.message);
            }

            return postList.data;
        },
        config.cache.routeExpire,
        false
    );

    const list = postList.result.map((item) => {
        const { postInfo, createdTime, entityId } = item;
        return {
            title: postInfo.subject,
            description: postInfo.simpleBody,
            pubDate: parseDate(createdTime, 'x'),
            author: postInfo.postUser.nickname,
            category: [postInfo.boardInfo.title],
            link: `${webBaseUrl}/bbs/newweb/pc/post/${entityId}`,
            postId: entityId,

View on GitHub (pinned to bed535e087)

Solutions

  1. Verify the user has posts by visiting their DXY profile thread page.
  2. Retry after a delay.
  3. Inspect the upstream message for details.
  4. If persistent, check for RSSHub updates.

Example fix

// before
if (postList.code !== 'success') {
    throw new Error(postList.message);
}

// after
if (postList.code !== 'success') {
    throw new Error(`DXY post list API error (userId=${userId}, code=${postList.code}): ${postList.message}`);
}
Defensive patterns

Strategy: try-catch

Type guard

function isDxyPostListSuccess(resp: unknown): boolean {
    return typeof resp === 'object' && resp !== null && (resp as any).code === 'success';
}

Try / catch

try {
    const feed = await fetch(`${rsshubUrl}/dxy/bbs/profile/thread/${userId}`);
} catch (e) {
    console.error(`DXY post list API error for userId ${userId}: ${e.message}`);
    throw e;
}

Prevention

When it happens

Trigger: The userId is valid for user-info but the post query fails; the user has no posts and the API returns an error code instead of an empty list; signature or pagination parameters are rejected; rate limiting.

Common situations: User exists but has zero posts; the post/page endpoint has different rate limits than user-info; the pageSize or type parameter is invalid.

Related errors


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