DIYgod/RSSHub · error · InvalidParameterError
该公众号不存在,有关如何获取公众号 id,详见 https://docs.rsshub.app/routes/new-m
Error message
该公众号不存在,有关如何获取公众号 id,详见 https://docs.rsshub.app/routes/new-media#wei-xin-gong-zhong-hao-feeddd-lai-yuan
What it means
Thrown by the WeChat feeddd route when the upstream API (`https://feed.hamibot.com/api/feeds/:id/json`) returns HTTP 404, meaning no WeChat public account (公众号) exists for the given `id`. This is an `InvalidParameterError` (HTTP 400). The error message is in Chinese and includes a documentation link explaining how to find the correct account ID.
Source
Thrown at lib/routes/wechat/feeddd.ts:18
import InvalidParameterError from '@/errors/types/invalid-parameter';
import got from '@/utils/got';
import { parseDate } from '@/utils/parse-date';
import { finishArticleItem } from '@/utils/wechat-mp';
const handler = async (ctx) => {
const id = ctx.req.param('id');
const baseUrl = 'https://feed.hamibot.com';
const apiUrl = `${baseUrl}/api/feeds/${id}/json`;
let response;
try {
response = await got(apiUrl);
} catch (error) {
if (((error as Error).name === 'HTTPError' || (error as Error).name === 'FetchError') && (error as { response: { statusCode: number } }).response.statusCode === 404) {
throw new InvalidParameterError('该公众号不存在,有关如何获取公众号 id,详见 https://docs.rsshub.app/routes/new-media#wei-xin-gong-zhong-hao-feeddd-lai-yuan');
}
throw error;
}
let items = response.data.items.map((item) => ({
title: item.title,
// the date is when the article was grabbed, not published, `finishArticleItem` will fix this
pubDate: parseDate(item.date_modified),
link: item.url,
guid: item.id,
}));
items = await Promise.all(items.map((item) => finishArticleItem(item)));
const ret = {
title: response.data.title,
link: response.data.feed_url,
description: response.data.title,View on GitHub (pinned to bed535e087)
Solutions
- Follow the documentation link in the error message (https://docs.rsshub.app/routes/new-media#wei-xin-gong-zhong-hao-feeddd-lai-yuan) to find the correct feeddd ID.
- Verify the account exists on feeddd by visiting `https://feed.hamibot.com/api/feeds/:id/json` directly.
- If the account was removed from feeddd, use an alternative WeChat route (e.g. data258).
Defensive patterns
Strategy: try-catch
Validate before calling
// Pre-validate the feeddd ID format before calling the API
// feeddd IDs are typically hex-like strings; verify format
function isValidFeedddId(id: string): boolean {
return /^[a-zA-Z0-9_-]+$/.test(id) && id.length > 0;
} Try / catch
try {
const feed = await fetchRss('/wechat/feeddd/' + id);
} catch (e) {
if (e.name === 'InvalidParameterError' && e.message.includes('该公众号不存在')) {
// ID is wrong or account delisted; inform user
console.error('feeddd ID not found. Check docs: https://docs.rsshub.app/routes/new-media');
}
throw e;
} Prevention
- Obtain the feeddd ID from the official feeddd service, not from WeChat directly.
- Follow the documentation link in the error message for ID lookup instructions.
- Have a fallback WeChat route (e.g. data258, wechat/mp) in case feeddd delists the account.
When it happens
Trigger: A request to `/wechat/feeddd/:id` where `:id` is not a valid feeddd account identifier. The `got` call to the hamibot API returns 404, which is caught and re-thrown as `InvalidParameterError`. Any other HTTP error (non-404) is re-thrown as-is.
Common situations: The user entered the WeChat account's Biz ID or a generic identifier instead of the feeddd-specific ID, or the account was delisted from the feeddd service. The feeddd service may also be temporarily unavailable with a 404-like response.
Related errors
AI-assisted analysis of DIYgod/RSSHub@bed535e087 (2026-08-12).
Data as JSON: /api/errors/101dc997c9b5a6e2.
Report an issue: GitHub.