Trends Hub

by baranwang
Verified
import { z } from 'zod'; import { defineToolConfig, handleSuccessResult, http } from '../utils'; const tencentNewsRequestSchema = z.object({ page_size: z.number().int().optional().default(20), }); export default defineToolConfig({ name: 'get-tencent-news-trending', description: '获取腾讯新闻热点榜,包含国内外时事、社会热点、财经资讯、娱乐动态及体育赛事的综合性中文新闻资讯', zodSchema: tencentNewsRequestSchema, func: async (args) => { const { page_size } = tencentNewsRequestSchema.parse(args); const resp = await http.get<{ ret: number; idlist: [{ newslist: any[] }]; }>('https://r.inews.qq.com/gw/event/hot_ranking_list', { params: { page_size, }, }); if (resp.data.ret !== 0 || !Array.isArray(resp.data.idlist?.[0].newslist)) { throw new Error('获取腾讯新闻热点榜失败'); } return resp.data.idlist[0].newslist .filter((_, index) => index !== 0) .map((item) => { return { title: item.title, description: item.abstract, cover: item.thumbnails?.[0], source: item.source, popularity: item.hotEvent.hotScore, publish_time: item.time, link: item.url, }; }); }, });