@zhin.js/plugin-60s 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent/tools/60s_news.ts +13 -0
- package/agent/tools/bing_image.ts +13 -0
- package/agent/tools/douyin_hot.ts +13 -0
- package/agent/tools/duanzi.ts +13 -0
- package/agent/tools/exchange_rate.ts +13 -0
- package/agent/tools/fuel_price.ts +13 -0
- package/agent/tools/gold_price.ts +13 -0
- package/agent/tools/history_today.ts +13 -0
- package/agent/tools/hitokoto.ts +13 -0
- package/agent/tools/ip_query.ts +13 -0
- package/agent/tools/kfc.ts +13 -0
- package/agent/tools/moyu.ts +13 -0
- package/agent/tools/toutiao_hot.ts +13 -0
- package/agent/tools/translate_60s.ts +13 -0
- package/agent/tools/weather.ts +13 -0
- package/agent/tools/weibo_hot.ts +13 -0
- package/agent/tools/zhihu_hot.ts +13 -0
- package/lib/agent/tools/60s_news.js +13 -0
- package/lib/agent/tools/60s_news.js.map +1 -0
- package/lib/agent/tools/bing_image.js +13 -0
- package/lib/agent/tools/bing_image.js.map +1 -0
- package/lib/agent/tools/douyin_hot.js +13 -0
- package/lib/agent/tools/douyin_hot.js.map +1 -0
- package/lib/agent/tools/duanzi.js +13 -0
- package/lib/agent/tools/duanzi.js.map +1 -0
- package/lib/agent/tools/exchange_rate.js +13 -0
- package/lib/agent/tools/exchange_rate.js.map +1 -0
- package/lib/agent/tools/fuel_price.js +13 -0
- package/lib/agent/tools/fuel_price.js.map +1 -0
- package/lib/agent/tools/gold_price.js +13 -0
- package/lib/agent/tools/gold_price.js.map +1 -0
- package/lib/agent/tools/history_today.js +13 -0
- package/lib/agent/tools/history_today.js.map +1 -0
- package/lib/agent/tools/hitokoto.js +13 -0
- package/lib/agent/tools/hitokoto.js.map +1 -0
- package/lib/agent/tools/ip_query.js +13 -0
- package/lib/agent/tools/ip_query.js.map +1 -0
- package/lib/agent/tools/kfc.js +13 -0
- package/lib/agent/tools/kfc.js.map +1 -0
- package/lib/agent/tools/moyu.js +13 -0
- package/lib/agent/tools/moyu.js.map +1 -0
- package/lib/agent/tools/toutiao_hot.js +13 -0
- package/lib/agent/tools/toutiao_hot.js.map +1 -0
- package/lib/agent/tools/translate_60s.js +13 -0
- package/lib/agent/tools/translate_60s.js.map +1 -0
- package/lib/agent/tools/weather.js +13 -0
- package/lib/agent/tools/weather.js.map +1 -0
- package/lib/agent/tools/weibo_hot.js +13 -0
- package/lib/agent/tools/weibo_hot.js.map +1 -0
- package/lib/agent/tools/zhihu_hot.js +13 -0
- package/lib/agent/tools/zhihu_hot.js.map +1 -0
- package/lib/{index.js → src/index.js} +1 -1
- package/lib/src/index.js.map +1 -0
- package/lib/tools/60s-news/handler.js +12 -0
- package/lib/tools/60s-news/handler.js.map +1 -0
- package/lib/tools/api.js +45 -0
- package/lib/tools/api.js.map +1 -0
- package/lib/tools/bing-image/handler.js +18 -0
- package/lib/tools/bing-image/handler.js.map +1 -0
- package/lib/tools/douyin-hot/handler.js +6 -0
- package/lib/tools/douyin-hot/handler.js.map +1 -0
- package/lib/tools/duanzi/handler.js +6 -0
- package/lib/tools/duanzi/handler.js.map +1 -0
- package/lib/tools/exchange-rate/handler.js +28 -0
- package/lib/tools/exchange-rate/handler.js.map +1 -0
- package/lib/tools/fuel-price/handler.js +21 -0
- package/lib/tools/fuel-price/handler.js.map +1 -0
- package/lib/tools/gold-price/handler.js +24 -0
- package/lib/tools/gold-price/handler.js.map +1 -0
- package/lib/tools/history-today/handler.js +16 -0
- package/lib/tools/history-today/handler.js.map +1 -0
- package/lib/tools/hitokoto/handler.js +16 -0
- package/lib/tools/hitokoto/handler.js.map +1 -0
- package/lib/tools/ip-query/handler.js +17 -0
- package/lib/tools/ip-query/handler.js.map +1 -0
- package/lib/tools/kfc/handler.js +6 -0
- package/lib/tools/kfc/handler.js.map +1 -0
- package/lib/tools/moyu/handler.js +39 -0
- package/lib/tools/moyu/handler.js.map +1 -0
- package/lib/tools/toutiao-hot/handler.js +6 -0
- package/lib/tools/toutiao-hot/handler.js.map +1 -0
- package/lib/tools/translate/handler.js +26 -0
- package/lib/tools/translate/handler.js.map +1 -0
- package/lib/tools/weather/handler.js +22 -0
- package/lib/tools/weather/handler.js.map +1 -0
- package/lib/tools/weibo-hot/handler.js +6 -0
- package/lib/tools/weibo-hot/handler.js.map +1 -0
- package/lib/tools/zhihu-hot/handler.js +6 -0
- package/lib/tools/zhihu-hot/handler.js.map +1 -0
- package/package.json +19 -9
- package/src/index.ts +1 -1
- package/tools/60s-news/handler.ts +1 -1
- package/tools/api.ts +35 -6
- package/tools/bing-image/handler.ts +4 -4
- package/tools/douyin-hot/handler.ts +2 -2
- package/tools/duanzi/handler.ts +1 -1
- package/tools/exchange-rate/handler.ts +8 -6
- package/tools/fuel-price/handler.ts +5 -4
- package/tools/gold-price/handler.ts +8 -7
- package/tools/history-today/handler.ts +8 -7
- package/tools/hitokoto/handler.ts +1 -1
- package/tools/ip-query/handler.ts +1 -1
- package/tools/kfc/handler.ts +1 -1
- package/tools/moyu/handler.ts +23 -16
- package/tools/toutiao-hot/handler.ts +2 -2
- package/tools/translate/handler.ts +13 -7
- package/tools/weather/handler.ts +13 -13
- package/tools/weibo-hot/handler.ts +2 -2
- package/tools/zhihu-hot/handler.ts +2 -2
- package/lib/index.d.ts +0 -2
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/tools/60s-news/60s-news.tool.md +0 -8
- package/tools/bing-image/bing-image.tool.md +0 -8
- package/tools/douyin-hot/douyin-hot.tool.md +0 -12
- package/tools/duanzi/duanzi.tool.md +0 -8
- package/tools/exchange-rate/exchange-rate.tool.md +0 -14
- package/tools/fuel-price/fuel-price.tool.md +0 -11
- package/tools/gold-price/gold-price.tool.md +0 -8
- package/tools/history-today/history-today.tool.md +0 -8
- package/tools/hitokoto/hitokoto.tool.md +0 -12
- package/tools/ip-query/ip-query.tool.md +0 -12
- package/tools/kfc/kfc.tool.md +0 -8
- package/tools/moyu/moyu.tool.md +0 -8
- package/tools/toutiao-hot/toutiao-hot.tool.md +0 -12
- package/tools/translate/translate.tool.md +0 -15
- package/tools/weather/weather.tool.md +0 -12
- package/tools/weibo-hot/weibo-hot.tool.md +0 -12
- package/tools/zhihu-hot/zhihu-hot.tool.md +0 -12
- /package/{skills/60s/SKILL.md → agent/skills/60s.md} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { fetchApi } from '../api.js';
|
|
1
|
+
import { asArray, asRecord, asString, fetchApi } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function (args: { from?: string; to?: string }) {
|
|
4
4
|
const params: Record<string, string> = {};
|
|
5
5
|
if (args.from) params.from = args.from.toUpperCase();
|
|
6
6
|
if (args.to) params.to = args.to.toUpperCase();
|
|
7
|
-
const data = await fetchApi
|
|
7
|
+
const data = await fetchApi(
|
|
8
8
|
'/exchange-rate',
|
|
9
9
|
Object.keys(params).length ? params : undefined,
|
|
10
10
|
);
|
|
@@ -13,13 +13,15 @@ export default async function (args: { from?: string; to?: string }) {
|
|
|
13
13
|
lines.push(`基准货币: ${base}`);
|
|
14
14
|
if (data.updated) lines.push(`更新时间: ${data.updated}`);
|
|
15
15
|
lines.push('');
|
|
16
|
-
const rates = data.rates
|
|
16
|
+
const rates = asArray(data.rates);
|
|
17
17
|
const targetCurrencies = args.to
|
|
18
18
|
? [args.to.toUpperCase()]
|
|
19
19
|
: ['USD', 'EUR', 'JPY', 'GBP', 'HKD', 'KRW', 'AUD', 'CAD', 'SGD', 'CHF'];
|
|
20
|
-
rates.forEach((item
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
rates.forEach((item) => {
|
|
21
|
+
const row = asRecord(item);
|
|
22
|
+
const currency = asString(row.currency);
|
|
23
|
+
if (targetCurrencies.includes(currency) && currency !== base) {
|
|
24
|
+
lines.push(`${base} → ${currency}: ${row.rate}`);
|
|
23
25
|
}
|
|
24
26
|
});
|
|
25
27
|
return lines.join('\n');
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { fetchApi } from '../api.js';
|
|
1
|
+
import { asRecord, asString, fetchApi } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function (args: { province?: string }) {
|
|
4
4
|
const params: Record<string, string> | undefined = args.province
|
|
5
5
|
? { province: args.province }
|
|
6
6
|
: undefined;
|
|
7
|
-
const data = await fetchApi
|
|
7
|
+
const data = await fetchApi('/fuel-price', params);
|
|
8
8
|
const lines = ['⛽ 今日油价', ''];
|
|
9
9
|
if (data.region) lines.push(`📍 ${data.region}`);
|
|
10
10
|
if (data.items && Array.isArray(data.items)) {
|
|
11
|
-
data.items.forEach((item:
|
|
11
|
+
data.items.forEach((item: Record<string, unknown>) => {
|
|
12
12
|
lines.push(`${item.name}: ${item.price_desc || `¥${item.price}/升`}`);
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
if (data.trend) {
|
|
16
|
-
|
|
16
|
+
const trend = asRecord(data.trend);
|
|
17
|
+
lines.push('', `📊 ${asString(trend.description)}`);
|
|
17
18
|
}
|
|
18
19
|
return lines.join('\n');
|
|
19
20
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { fetchApi } from '../api.js';
|
|
1
|
+
import { asArray, asRecord, fetchApi } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function () {
|
|
4
|
-
const data = await fetchApi
|
|
4
|
+
const data = await fetchApi('/gold-price');
|
|
5
5
|
const lines = ['💰 今日金价', ''];
|
|
6
6
|
if (data.date) lines.push(`📅 ${data.date}`);
|
|
7
|
-
const metals = data.metals
|
|
7
|
+
const metals = asArray(data.metals);
|
|
8
8
|
if (metals.length > 0) {
|
|
9
9
|
lines.push('');
|
|
10
|
-
metals.forEach((item
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
10
|
+
metals.forEach((item) => {
|
|
11
|
+
const row = asRecord(item);
|
|
12
|
+
const name = row.name || '黄金';
|
|
13
|
+
const price = row.today_price || row.sell_price || row.price || 'N/A';
|
|
14
|
+
const unit = row.unit || '元/克';
|
|
14
15
|
if (price !== 'N/A') lines.push(`${name}: ¥${price} ${unit}`);
|
|
15
16
|
});
|
|
16
17
|
} else if (data.price) {
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { fetchApi } from '../api.js';
|
|
1
|
+
import { asArray, asRecord, fetchApi } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function () {
|
|
4
|
-
const data = await fetchApi
|
|
4
|
+
const data = await fetchApi('/today-in-history');
|
|
5
5
|
const dateStr = data.date || `${data.month || ''}月${data.day || ''}日`;
|
|
6
6
|
const lines = [`📅 历史上的今天 (${dateStr})`, ''];
|
|
7
|
-
const items = data.items
|
|
8
|
-
items.slice(0, 10).forEach((item
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
7
|
+
const items = asArray(data.items);
|
|
8
|
+
items.slice(0, 10).forEach((item, i: number) => {
|
|
9
|
+
const row = asRecord(item);
|
|
10
|
+
const year = row.year || '';
|
|
11
|
+
const title = row.title || row.event || row.content || item;
|
|
12
|
+
const typeIcon = row.event_type === 'birth' ? '👶' : row.event_type === 'death' ? '🕊️' : '📌';
|
|
12
13
|
lines.push(`${typeIcon} ${i + 1}. ${year ? `[${year}] ` : ''}${title}`);
|
|
13
14
|
});
|
|
14
15
|
return lines.join('\n');
|
|
@@ -4,7 +4,7 @@ export default async function (args: { type?: string }) {
|
|
|
4
4
|
const params: Record<string, string> | undefined = args.type
|
|
5
5
|
? { c: args.type }
|
|
6
6
|
: undefined;
|
|
7
|
-
const data = await fetchApi
|
|
7
|
+
const data = await fetchApi('/hitokoto', params);
|
|
8
8
|
const text = data.hitokoto || data.content || (typeof data === 'string' ? data : '');
|
|
9
9
|
const lines = ['💬 一言', '', `「${text}」`];
|
|
10
10
|
if (data.from || data.source || data.from_who || data.author) {
|
|
@@ -4,7 +4,7 @@ export default async function (args: { ip?: string }) {
|
|
|
4
4
|
const params: Record<string, string> | undefined = args.ip
|
|
5
5
|
? { ip: args.ip }
|
|
6
6
|
: undefined;
|
|
7
|
-
const data = await fetchApi
|
|
7
|
+
const data = await fetchApi('/ip', params);
|
|
8
8
|
const lines = ['🌐 IP 查询', '', `IP: ${data.ip || args.ip || '当前 IP'}`];
|
|
9
9
|
if (data.country || data.region || data.city) {
|
|
10
10
|
lines.push(`位置: ${[data.country, data.region, data.city].filter(Boolean).join(' ')}`);
|
package/tools/kfc/handler.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { fetchApi } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function () {
|
|
4
|
-
const data = await fetchApi
|
|
4
|
+
const data = await fetchApi('/kfc');
|
|
5
5
|
return `🍗 疯狂星期四\n\n${data.kfc || data.content || data.text || (typeof data === 'string' ? data : '')}`;
|
|
6
6
|
}
|
package/tools/moyu/handler.ts
CHANGED
|
@@ -1,27 +1,34 @@
|
|
|
1
|
-
import { fetchApi } from '../api.js';
|
|
1
|
+
import { asArray, asRecord, asString, fetchApi, type ApiPayload } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function () {
|
|
4
|
-
const data = await fetchApi<
|
|
4
|
+
const data = await fetchApi<ApiPayload | string>('/moyu');
|
|
5
5
|
if (typeof data === 'string') return `🐟 摸鱼日历\n\n${data}`;
|
|
6
6
|
const lines = ['🐟 摸鱼日历', ''];
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const date = asRecord(data.date);
|
|
8
|
+
if (date.gregorian) lines.push(`📅 ${date.gregorian} ${asString(date.weekday)}`);
|
|
9
|
+
const lunar = asRecord(date.lunar);
|
|
10
|
+
if (lunar.monthCN || lunar.dayCN) {
|
|
11
|
+
lines.push(`🌙 农历${asString(lunar.monthCN)}${asString(lunar.dayCN)} ${asString(lunar.yearGanZhi)}年`);
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
lines.push(
|
|
13
|
+
const today = asRecord(data.today);
|
|
14
|
+
if (today.holidayName) lines.push(`🎉 ${today.holidayName}`);
|
|
15
|
+
if (today.solarTerm) lines.push(`🌿 ${today.solarTerm}`);
|
|
16
|
+
if (today.isWorkday !== undefined) {
|
|
17
|
+
lines.push(today.isWorkday ? '💼 今天是工作日' : '🎮 今天不上班');
|
|
17
18
|
}
|
|
18
|
-
if (
|
|
19
|
-
data.festivals.forEach((f:
|
|
19
|
+
if (Array.isArray(data.festivals)) {
|
|
20
|
+
data.festivals.forEach((f: unknown) => {
|
|
21
|
+
lines.push(`🎊 ${typeof f === 'string' ? f : asString(asRecord(f).name ?? f)}`);
|
|
22
|
+
});
|
|
20
23
|
}
|
|
21
|
-
|
|
24
|
+
const countdown = asArray(data.countdown);
|
|
25
|
+
if (countdown.length > 0) {
|
|
22
26
|
lines.push('');
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
countdown.forEach((c: unknown) => {
|
|
28
|
+
const row = asRecord(c);
|
|
29
|
+
if (typeof row.name === 'string' && typeof row.days === 'number') {
|
|
30
|
+
lines.push(`⏳ 距 ${row.name} 还有 ${row.days} 天`);
|
|
31
|
+
}
|
|
25
32
|
});
|
|
26
33
|
}
|
|
27
34
|
return lines.join('\n');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { fetchApi, formatList } from '../api.js';
|
|
1
|
+
import { fetchApi, formatList, type ListItem } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function (args: { limit?: number }) {
|
|
4
|
-
const data = await fetchApi<
|
|
4
|
+
const data = await fetchApi<ListItem[]>('/toutiao');
|
|
5
5
|
return ['🔥 头条热搜', '', formatList(data, args.limit || 10)].join('\n');
|
|
6
6
|
}
|
|
@@ -1,19 +1,25 @@
|
|
|
1
|
-
import { fetchApi } from '../api.js';
|
|
1
|
+
import { asRecord, asString, fetchApi } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function (args: { text: string; to?: string }) {
|
|
4
4
|
const params: Record<string, string> = { text: args.text };
|
|
5
5
|
if (args.to) params.to = args.to;
|
|
6
|
-
const data = await fetchApi
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
6
|
+
const data = await fetchApi('/fanyi', params);
|
|
7
|
+
const source = asRecord(data.source);
|
|
8
|
+
const target = asRecord(data.target);
|
|
9
|
+
const srcText = asString(source.text) || args.text;
|
|
10
|
+
const srcLang = asString(source.type_desc) || asString(source.type);
|
|
11
|
+
const tgtText =
|
|
12
|
+
asString(target.text) ||
|
|
13
|
+
asString(data.result) ||
|
|
14
|
+
asString(data.translation) ||
|
|
15
|
+
(typeof data === 'string' ? data : '');
|
|
16
|
+
const tgtLang = asString(target.type_desc) || asString(target.type);
|
|
11
17
|
const lines = [
|
|
12
18
|
'🌐 翻译结果',
|
|
13
19
|
'',
|
|
14
20
|
`原文${srcLang ? ` (${srcLang})` : ''}: ${srcText}`,
|
|
15
21
|
`译文${tgtLang ? ` (${tgtLang})` : ''}: ${tgtText}`,
|
|
16
22
|
];
|
|
17
|
-
if (
|
|
23
|
+
if (target.pronounce) lines.push(`发音: ${asString(target.pronounce)}`);
|
|
18
24
|
return lines.join('\n');
|
|
19
25
|
}
|
package/tools/weather/handler.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { fetchApi } from '../api.js';
|
|
1
|
+
import { asRecord, asString, fetchApi } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function (args: { city: string }) {
|
|
4
|
-
const data = await fetchApi
|
|
5
|
-
const w = data.weather;
|
|
6
|
-
const aq = data.air_quality;
|
|
7
|
-
const loc = data.location;
|
|
8
|
-
const cityName = loc
|
|
4
|
+
const data = await fetchApi('/weather', { query: args.city });
|
|
5
|
+
const w = asRecord(data.weather);
|
|
6
|
+
const aq = asRecord(data.air_quality);
|
|
7
|
+
const loc = asRecord(data.location);
|
|
8
|
+
const cityName = asString(loc.city) || asString(loc.name) || args.city;
|
|
9
9
|
const lines = [
|
|
10
10
|
`🌤️ ${cityName} 天气`,
|
|
11
11
|
'',
|
|
12
|
-
`🌡️ 温度: ${w.temperature}°C`,
|
|
13
|
-
`☁️ 天气: ${w.condition}`,
|
|
14
|
-
`💧 湿度: ${w.humidity}%`,
|
|
15
|
-
`💨 风: ${w.wind_direction} ${w.wind_power}`,
|
|
12
|
+
`🌡️ 温度: ${asString(w.temperature)}°C`,
|
|
13
|
+
`☁️ 天气: ${asString(w.condition)}`,
|
|
14
|
+
`💧 湿度: ${asString(w.humidity)}%`,
|
|
15
|
+
`💨 风: ${asString(w.wind_direction)} ${asString(w.wind_power)}`,
|
|
16
16
|
];
|
|
17
|
-
if (aq) {
|
|
18
|
-
const quality = aq.quality
|
|
19
|
-
lines.push(`🌬️ 空气: ${quality}${aq.aqi ? ` (AQI ${aq.aqi})` : ''}`);
|
|
17
|
+
if (Object.keys(aq).length > 0) {
|
|
18
|
+
const quality = asString(aq.quality);
|
|
19
|
+
lines.push(`🌬️ 空气: ${quality}${aq.aqi ? ` (AQI ${asString(aq.aqi)})` : ''}`);
|
|
20
20
|
}
|
|
21
21
|
return lines.join('\n');
|
|
22
22
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { fetchApi, formatList } from '../api.js';
|
|
1
|
+
import { fetchApi, formatList, type ListItem } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function (args: { limit?: number }) {
|
|
4
|
-
const data = await fetchApi<
|
|
4
|
+
const data = await fetchApi<ListItem[]>('/weibo');
|
|
5
5
|
return ['🔥 微博热搜', '', formatList(data, args.limit || 10)].join('\n');
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { fetchApi, formatList } from '../api.js';
|
|
1
|
+
import { fetchApi, formatList, type ListItem } from '../api.js';
|
|
2
2
|
|
|
3
3
|
export default async function (args: { limit?: number }) {
|
|
4
|
-
const data = await fetchApi<
|
|
4
|
+
const data = await fetchApi<ListItem[]>('/zhihu');
|
|
5
5
|
return ['🔥 知乎热榜', '', formatList(data, args.limit || 10)].join('\n');
|
|
6
6
|
}
|
package/lib/index.d.ts
DELETED
package/lib/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;AAQhC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5C,MAAM,SAAS,GAAG,aAAa,EAAE,UAAU,EAAsB,IAAI,EAAE,CAAC;AACxE,MAAM,MAAM,GAAW;IACrB,OAAO,EAAE,sBAAsB;IAC/B,GAAG,SAAS,CAAC,KAAK,CAAC;CACpB,CAAC;AAEF,mCAAmC;AACnC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,IAAI,sBAAsB,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: exchange_rate
|
|
3
|
-
description: 查询货币汇率
|
|
4
|
-
tags: [金融, 汇率, 查询]
|
|
5
|
-
keywords: [汇率, 兑换, 外汇, exchange, rate]
|
|
6
|
-
parameters:
|
|
7
|
-
from:
|
|
8
|
-
type: string
|
|
9
|
-
description: 源货币,如 USD, EUR, JPY
|
|
10
|
-
to:
|
|
11
|
-
type: string
|
|
12
|
-
description: 目标货币,如 CNY
|
|
13
|
-
handler: ./handler.ts
|
|
14
|
-
---
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: hitokoto
|
|
3
|
-
description: 获取一言/每日一句,随机返回一条语句
|
|
4
|
-
tags: [语录, 文学, 随机]
|
|
5
|
-
keywords: [一言, 每日一句, 语录, 名言, hitokoto]
|
|
6
|
-
preExecutable: true
|
|
7
|
-
parameters:
|
|
8
|
-
type:
|
|
9
|
-
type: string
|
|
10
|
-
description: "类型:a=动画, b=漫画, c=游戏, d=文学, e=原创, f=网络, g=其他, h=影视, i=诗词, j=网易云, k=哲学, l=抖机灵"
|
|
11
|
-
handler: ./handler.ts
|
|
12
|
-
---
|
package/tools/kfc/kfc.tool.md
DELETED
package/tools/moyu/moyu.tool.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: translate_60s
|
|
3
|
-
description: 翻译文本
|
|
4
|
-
tags: [工具, 翻译, 语言]
|
|
5
|
-
keywords: [翻译, 英文, 中文, 日文, translate, 译]
|
|
6
|
-
parameters:
|
|
7
|
-
text:
|
|
8
|
-
type: string
|
|
9
|
-
description: 要翻译的文本
|
|
10
|
-
required: true
|
|
11
|
-
to:
|
|
12
|
-
type: string
|
|
13
|
-
description: 目标语言,如 en, zh, ja
|
|
14
|
-
handler: ./handler.ts
|
|
15
|
-
---
|
|
File without changes
|