@zhin.js/plugin-60s 1.1.8 → 1.1.10

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.
Files changed (165) hide show
  1. package/README.md +6 -0
  2. package/commands/60s/index.js +2 -2
  3. package/commands/60s/index.ts +2 -2
  4. package/commands/bing/index.js +2 -2
  5. package/commands/bing/index.ts +2 -2
  6. package/commands/douyin/[[limit]]/index.js +2 -2
  7. package/commands/douyin/[[limit]]/index.ts +2 -2
  8. package/commands/duanzi/index.js +2 -2
  9. package/commands/duanzi/index.ts +2 -2
  10. package/commands/exchange/index.js +3 -3
  11. package/commands/exchange/index.ts +3 -3
  12. package/commands/fanyi/[text]/index.js +2 -2
  13. package/commands/fanyi/[text]/index.ts +2 -2
  14. package/commands/fuel/[province]/index.js +2 -2
  15. package/commands/fuel/[province]/index.ts +2 -2
  16. package/commands/gold/index.js +2 -2
  17. package/commands/gold/index.ts +2 -2
  18. package/commands/history/index.js +2 -2
  19. package/commands/history/index.ts +2 -2
  20. package/commands/hitokoto/[type]/index.js +2 -2
  21. package/commands/hitokoto/[type]/index.ts +2 -2
  22. package/commands/ip/[ip]/index.js +2 -2
  23. package/commands/ip/[ip]/index.ts +2 -2
  24. package/commands/kfc/index.js +2 -2
  25. package/commands/kfc/index.ts +2 -2
  26. package/commands/moyu/index.js +2 -2
  27. package/commands/moyu/index.ts +2 -2
  28. package/commands/toutiao/[[limit]]/index.js +2 -2
  29. package/commands/toutiao/[[limit]]/index.ts +2 -2
  30. package/commands/weather/[city]/index.js +2 -2
  31. package/commands/weather/[city]/index.ts +2 -2
  32. package/commands/weibo/[[limit]]/index.js +2 -2
  33. package/commands/weibo/[[limit]]/index.ts +2 -2
  34. package/commands/zhihu/[[limit]]/index.js +2 -2
  35. package/commands/zhihu/[[limit]]/index.ts +2 -2
  36. package/lib/client.d.ts +2 -1
  37. package/lib/client.d.ts.map +1 -1
  38. package/lib/client.js +6 -5
  39. package/lib/client.js.map +1 -1
  40. package/lib/handlers/60s-news.d.ts +2 -1
  41. package/lib/handlers/60s-news.d.ts.map +1 -1
  42. package/lib/handlers/60s-news.js +4 -3
  43. package/lib/handlers/60s-news.js.map +1 -1
  44. package/lib/handlers/bing-image.d.ts +2 -1
  45. package/lib/handlers/bing-image.d.ts.map +1 -1
  46. package/lib/handlers/bing-image.js +4 -3
  47. package/lib/handlers/bing-image.js.map +1 -1
  48. package/lib/handlers/douyin-hot.d.ts +2 -1
  49. package/lib/handlers/douyin-hot.d.ts.map +1 -1
  50. package/lib/handlers/douyin-hot.js +4 -3
  51. package/lib/handlers/douyin-hot.js.map +1 -1
  52. package/lib/handlers/duanzi.d.ts +2 -1
  53. package/lib/handlers/duanzi.d.ts.map +1 -1
  54. package/lib/handlers/duanzi.js +4 -3
  55. package/lib/handlers/duanzi.js.map +1 -1
  56. package/lib/handlers/exchange-rate.d.ts +2 -1
  57. package/lib/handlers/exchange-rate.d.ts.map +1 -1
  58. package/lib/handlers/exchange-rate.js +6 -5
  59. package/lib/handlers/exchange-rate.js.map +1 -1
  60. package/lib/handlers/fuel-price.d.ts +2 -1
  61. package/lib/handlers/fuel-price.d.ts.map +1 -1
  62. package/lib/handlers/fuel-price.js +5 -4
  63. package/lib/handlers/fuel-price.js.map +1 -1
  64. package/lib/handlers/gold-price.d.ts +2 -1
  65. package/lib/handlers/gold-price.d.ts.map +1 -1
  66. package/lib/handlers/gold-price.js +7 -6
  67. package/lib/handlers/gold-price.js.map +1 -1
  68. package/lib/handlers/history-today.d.ts +2 -1
  69. package/lib/handlers/history-today.d.ts.map +1 -1
  70. package/lib/handlers/history-today.js +5 -4
  71. package/lib/handlers/history-today.js.map +1 -1
  72. package/lib/handlers/hitokoto.d.ts +2 -1
  73. package/lib/handlers/hitokoto.d.ts.map +1 -1
  74. package/lib/handlers/hitokoto.js +4 -3
  75. package/lib/handlers/hitokoto.js.map +1 -1
  76. package/lib/handlers/ip-query.d.ts +2 -1
  77. package/lib/handlers/ip-query.d.ts.map +1 -1
  78. package/lib/handlers/ip-query.js +7 -6
  79. package/lib/handlers/ip-query.js.map +1 -1
  80. package/lib/handlers/kfc.d.ts +2 -1
  81. package/lib/handlers/kfc.d.ts.map +1 -1
  82. package/lib/handlers/kfc.js +4 -3
  83. package/lib/handlers/kfc.js.map +1 -1
  84. package/lib/handlers/moyu.d.ts +2 -1
  85. package/lib/handlers/moyu.d.ts.map +1 -1
  86. package/lib/handlers/moyu.js +8 -7
  87. package/lib/handlers/moyu.js.map +1 -1
  88. package/lib/handlers/toutiao-hot.d.ts +2 -1
  89. package/lib/handlers/toutiao-hot.d.ts.map +1 -1
  90. package/lib/handlers/toutiao-hot.js +4 -3
  91. package/lib/handlers/toutiao-hot.js.map +1 -1
  92. package/lib/handlers/translate.d.ts +2 -1
  93. package/lib/handlers/translate.d.ts.map +1 -1
  94. package/lib/handlers/translate.js +7 -6
  95. package/lib/handlers/translate.js.map +1 -1
  96. package/lib/handlers/weather.d.ts +2 -1
  97. package/lib/handlers/weather.d.ts.map +1 -1
  98. package/lib/handlers/weather.js +9 -8
  99. package/lib/handlers/weather.js.map +1 -1
  100. package/lib/handlers/weibo-hot.d.ts +2 -1
  101. package/lib/handlers/weibo-hot.d.ts.map +1 -1
  102. package/lib/handlers/weibo-hot.js +4 -3
  103. package/lib/handlers/weibo-hot.js.map +1 -1
  104. package/lib/handlers/zhihu-hot.d.ts +2 -1
  105. package/lib/handlers/zhihu-hot.d.ts.map +1 -1
  106. package/lib/handlers/zhihu-hot.js +4 -3
  107. package/lib/handlers/zhihu-hot.js.map +1 -1
  108. package/lib/i18n.d.ts +2 -0
  109. package/lib/i18n.d.ts.map +1 -0
  110. package/lib/i18n.js +180 -0
  111. package/lib/i18n.js.map +1 -0
  112. package/package.json +6 -6
  113. package/skills/60s-life/tools/duanzi/index.js +1 -1
  114. package/skills/60s-life/tools/duanzi/index.ts +1 -1
  115. package/skills/60s-life/tools/history_today/index.js +1 -1
  116. package/skills/60s-life/tools/history_today/index.ts +1 -1
  117. package/skills/60s-life/tools/hitokoto/index.js +1 -1
  118. package/skills/60s-life/tools/hitokoto/index.ts +1 -1
  119. package/skills/60s-life/tools/kfc/index.js +1 -1
  120. package/skills/60s-life/tools/kfc/index.ts +1 -1
  121. package/skills/60s-life/tools/moyu/index.js +1 -1
  122. package/skills/60s-life/tools/moyu/index.ts +1 -1
  123. package/skills/60s-life/tools/weather/index.js +1 -1
  124. package/skills/60s-life/tools/weather/index.ts +1 -1
  125. package/skills/60s-market/tools/exchange_rate/index.js +1 -1
  126. package/skills/60s-market/tools/exchange_rate/index.ts +1 -1
  127. package/skills/60s-market/tools/fuel_price/index.js +1 -1
  128. package/skills/60s-market/tools/fuel_price/index.ts +1 -1
  129. package/skills/60s-market/tools/gold_price/index.js +1 -1
  130. package/skills/60s-market/tools/gold_price/index.ts +1 -1
  131. package/skills/60s-media/tools/bing_image/index.js +1 -1
  132. package/skills/60s-media/tools/bing_image/index.ts +1 -1
  133. package/skills/60s-news/tools/60s_news/index.js +1 -1
  134. package/skills/60s-news/tools/60s_news/index.ts +1 -1
  135. package/skills/60s-news/tools/douyin_hot/index.js +1 -1
  136. package/skills/60s-news/tools/douyin_hot/index.ts +1 -1
  137. package/skills/60s-news/tools/toutiao_hot/index.js +1 -1
  138. package/skills/60s-news/tools/toutiao_hot/index.ts +1 -1
  139. package/skills/60s-news/tools/weibo_hot/index.js +1 -1
  140. package/skills/60s-news/tools/weibo_hot/index.ts +1 -1
  141. package/skills/60s-news/tools/zhihu_hot/index.js +1 -1
  142. package/skills/60s-news/tools/zhihu_hot/index.ts +1 -1
  143. package/skills/60s-utility/tools/ip_query/index.js +1 -1
  144. package/skills/60s-utility/tools/ip_query/index.ts +1 -1
  145. package/skills/60s-utility/tools/translate_60s/index.js +1 -1
  146. package/skills/60s-utility/tools/translate_60s/index.ts +1 -1
  147. package/src/client.ts +7 -4
  148. package/src/handlers/60s-news.ts +5 -3
  149. package/src/handlers/bing-image.ts +5 -3
  150. package/src/handlers/douyin-hot.ts +5 -3
  151. package/src/handlers/duanzi.ts +5 -3
  152. package/src/handlers/exchange-rate.ts +7 -4
  153. package/src/handlers/fuel-price.ts +6 -4
  154. package/src/handlers/gold-price.ts +8 -6
  155. package/src/handlers/history-today.ts +6 -4
  156. package/src/handlers/hitokoto.ts +5 -3
  157. package/src/handlers/ip-query.ts +8 -6
  158. package/src/handlers/kfc.ts +5 -3
  159. package/src/handlers/moyu.ts +9 -7
  160. package/src/handlers/toutiao-hot.ts +5 -3
  161. package/src/handlers/translate.ts +8 -6
  162. package/src/handlers/weather.ts +10 -8
  163. package/src/handlers/weibo-hot.ts +5 -3
  164. package/src/handlers/zhihu-hot.ts +5 -3
  165. package/src/i18n.ts +180 -0
@@ -1,6 +1,7 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
3
  export default function (client: SixtySClient, args: {
3
4
  from?: string;
4
5
  to?: string;
5
- }): Promise<string>;
6
+ }, locale?: Locale): Promise<string>;
6
7
  //# sourceMappingURL=exchange-rate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-rate.d.ts","sourceRoot":"","sources":["../../src/handlers/exchange-rate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,mBAyBxF"}
1
+ {"version":3,"file":"exchange-rate.d.ts","sourceRoot":"","sources":["../../src/handlers/exchange-rate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,MAAM,mBA0BzG"}
@@ -1,16 +1,17 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { asArray, asRecord, asString } from '../api.js';
2
- export default async function (client, args) {
3
+ export default async function (client, args, locale) {
3
4
  const params = {};
4
5
  if (args.from)
5
6
  params.from = args.from.toUpperCase();
6
7
  if (args.to)
7
8
  params.to = args.to.toUpperCase();
8
- const data = await client.fetch('/exchange-rate', Object.keys(params).length ? params : undefined);
9
- const lines = ['💱 汇率查询', ''];
9
+ const data = await client.fetch('/exchange-rate', Object.keys(params).length ? params : undefined, locale);
10
+ const lines = [t(locale, 'exchange'), ''];
10
11
  const base = data.base_code || args.from || 'CNY';
11
- lines.push(`基准货币: ${base}`);
12
+ lines.push(t(locale, 'base', { value: String(base) }));
12
13
  if (data.updated)
13
- lines.push(`更新时间: ${data.updated}`);
14
+ lines.push(t(locale, 'updated', { value: String(data.updated) }));
14
15
  lines.push('');
15
16
  const rates = asArray(data.rates);
16
17
  const targetCurrencies = args.to
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-rate.js","sourceRoot":"","sources":["../../src/handlers/exchange-rate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGxD,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAoC;IACvF,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,gBAAgB,EAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE;QAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3E,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"exchange-rate.js","sourceRoot":"","sources":["../../src/handlers/exchange-rate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGxD,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAoC,EAAE,MAAe;IACxG,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,gBAAgB,EAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC/C,MAAM,CACP,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE;QAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3E,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
3
  export default function (client: SixtySClient, args: {
3
4
  province?: string;
4
- }): Promise<string>;
5
+ }, locale?: Locale): Promise<string>;
5
6
  //# sourceMappingURL=fuel-price.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fuel-price.d.ts","sourceRoot":"","sources":["../../src/handlers/fuel-price.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,mBAiB/E"}
1
+ {"version":3,"file":"fuel-price.d.ts","sourceRoot":"","sources":["../../src/handlers/fuel-price.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,MAAM,mBAiBhG"}
@@ -1,15 +1,16 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { asRecord, asString } from '../api.js';
2
- export default async function (client, args) {
3
+ export default async function (client, args, locale) {
3
4
  const params = args.province
4
5
  ? { province: args.province }
5
6
  : undefined;
6
- const data = await client.fetch('/fuel-price', params);
7
- const lines = ['⛽ 今日油价', ''];
7
+ const data = await client.fetch('/fuel-price', params, locale);
8
+ const lines = [t(locale, 'fuel'), ''];
8
9
  if (data.region)
9
10
  lines.push(`📍 ${data.region}`);
10
11
  if (data.items && Array.isArray(data.items)) {
11
12
  data.items.forEach((item) => {
12
- lines.push(`${item.name}: ${item.price_desc || `¥${item.price}/升`}`);
13
+ lines.push(`${item.name}: ${item.price_desc || t(locale, 'fuelPrice', { price: String(item.price) })}`);
13
14
  });
14
15
  }
15
16
  if (data.trend) {
@@ -1 +1 @@
1
- {"version":3,"file":"fuel-price.js","sourceRoot":"","sources":["../../src/handlers/fuel-price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG/C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAA2B;IAC9E,MAAM,MAAM,GAAuC,IAAI,CAAC,QAAQ;QAC9D,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;QAC7B,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAA6B,EAAE,EAAE;YACnD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"fuel-price.js","sourceRoot":"","sources":["../../src/handlers/fuel-price.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG/C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAA2B,EAAE,MAAe;IAC/F,MAAM,MAAM,GAAuC,IAAI,CAAC,QAAQ;QAC9D,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;QAC7B,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAA6B,EAAE,EAAE;YACnD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
- export default function (client: SixtySClient): Promise<string>;
3
+ export default function (client: SixtySClient, locale?: Locale): Promise<string>;
3
4
  //# sourceMappingURL=gold-price.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gold-price.d.ts","sourceRoot":"","sources":["../../src/handlers/gold-price.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,mBAkBlD"}
1
+ {"version":3,"file":"gold-price.d.ts","sourceRoot":"","sources":["../../src/handlers/gold-price.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,mBAkBnE"}
@@ -1,7 +1,8 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { asArray, asRecord } from '../api.js';
2
- export default async function (client) {
3
- const data = await client.fetch('/gold-price');
4
- const lines = ['💰 今日金价', ''];
3
+ export default async function (client, locale) {
4
+ const data = await client.fetch('/gold-price', undefined, locale);
5
+ const lines = [t(locale, 'gold'), ''];
5
6
  if (data.date)
6
7
  lines.push(`📅 ${data.date}`);
7
8
  const metals = asArray(data.metals);
@@ -9,15 +10,15 @@ export default async function (client) {
9
10
  lines.push('');
10
11
  metals.forEach((item) => {
11
12
  const row = asRecord(item);
12
- const name = row.name || '黄金';
13
+ const name = row.name || t(locale, 'goldName');
13
14
  const price = row.today_price || row.sell_price || row.price || 'N/A';
14
- const unit = row.unit || '元/克';
15
+ const unit = row.unit || t(locale, 'goldUnit');
15
16
  if (price !== 'N/A')
16
17
  lines.push(`${name}: ¥${price} ${unit}`);
17
18
  });
18
19
  }
19
20
  else if (data.price) {
20
- lines.push(`当前金价: ¥${data.price}/克`);
21
+ lines.push(t(locale, 'goldPrice', { price: String(data.price) }));
21
22
  }
22
23
  return lines.join('\n');
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gold-price.js","sourceRoot":"","sources":["../../src/handlers/gold-price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB;IACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;YAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC;YACtE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC;YAC/B,IAAI,KAAK,KAAK,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"gold-price.js","sourceRoot":"","sources":["../../src/handlers/gold-price.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,MAAe;IAClE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC;YACtE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/C,IAAI,KAAK,KAAK,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
- export default function (client: SixtySClient): Promise<string>;
3
+ export default function (client: SixtySClient, locale?: Locale): Promise<string>;
3
4
  //# sourceMappingURL=history-today.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history-today.d.ts","sourceRoot":"","sources":["../../src/handlers/history-today.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,mBAalD"}
1
+ {"version":3,"file":"history-today.d.ts","sourceRoot":"","sources":["../../src/handlers/history-today.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,mBAanE"}
@@ -1,8 +1,9 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { asArray, asRecord } from '../api.js';
2
- export default async function (client) {
3
- const data = await client.fetch('/today-in-history');
4
- const dateStr = data.date || `${data.month || ''}月${data.day || ''}日`;
5
- const lines = [`📅 历史上的今天 (${dateStr})`, ''];
3
+ export default async function (client, locale) {
4
+ const data = await client.fetch('/today-in-history', undefined, locale);
5
+ const dateStr = data.date || t(locale, 'monthDay', { month: String(data.month || ''), day: String(data.day || '') });
6
+ const lines = [t(locale, 'history', { date: String(dateStr) }), ''];
6
7
  const items = asArray(data.items);
7
8
  items.slice(0, 10).forEach((item, i) => {
8
9
  const row = asRecord(item);
@@ -1 +1 @@
1
- {"version":3,"file":"history-today.js","sourceRoot":"","sources":["../../src/handlers/history-today.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB;IACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;IACtE,MAAM,KAAK,GAAG,CAAC,cAAc,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAS,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;QAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"history-today.js","sourceRoot":"","sources":["../../src/handlers/history-today.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,MAAe;IAClE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAS,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;QAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
3
  export default function (client: SixtySClient, args: {
3
4
  type?: string;
4
- }): Promise<string>;
5
+ }, locale?: Locale): Promise<string>;
5
6
  //# sourceMappingURL=hitokoto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hitokoto.d.ts","sourceRoot":"","sources":["../../src/handlers/hitokoto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mBAa3E"}
1
+ {"version":3,"file":"hitokoto.d.ts","sourceRoot":"","sources":["../../src/handlers/hitokoto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,MAAM,mBAa5F"}
@@ -1,10 +1,11 @@
1
- export default async function (client, args) {
1
+ import { messages as t } from '../i18n.js';
2
+ export default async function (client, args, locale) {
2
3
  const params = args.type
3
4
  ? { c: args.type }
4
5
  : undefined;
5
- const data = await client.fetch('/hitokoto', params);
6
+ const data = await client.fetch('/hitokoto', params, locale);
6
7
  const text = data.hitokoto || data.content || (typeof data === 'string' ? data : '');
7
- const lines = ['💬 一言', '', `「${text}」`];
8
+ const lines = [t(locale, 'hitokoto'), '', `「${text}」`];
8
9
  if (data.from || data.source || data.from_who || data.author) {
9
10
  const author = data.from_who || data.author || '';
10
11
  const source = data.from || data.source || '';
@@ -1 +1 @@
1
- {"version":3,"file":"hitokoto.js","sourceRoot":"","sources":["../../src/handlers/hitokoto.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAuB;IAC1E,MAAM,MAAM,GAAuC,IAAI,CAAC,IAAI;QAC1D,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE;QAClB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"hitokoto.js","sourceRoot":"","sources":["../../src/handlers/hitokoto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAuB,EAAE,MAAe;IAC3F,MAAM,MAAM,GAAuC,IAAI,CAAC,IAAI;QAC1D,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE;QAClB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
3
  export default function (client: SixtySClient, args: {
3
4
  ip?: string;
4
- }): Promise<string>;
5
+ }, locale?: Locale): Promise<string>;
5
6
  //# sourceMappingURL=ip-query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ip-query.d.ts","sourceRoot":"","sources":["../../src/handlers/ip-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,mBAYzE"}
1
+ {"version":3,"file":"ip-query.d.ts","sourceRoot":"","sources":["../../src/handlers/ip-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,MAAM,mBAY1F"}
@@ -1,16 +1,17 @@
1
- export default async function (client, args) {
1
+ import { messages as t } from '../i18n.js';
2
+ export default async function (client, args, locale) {
2
3
  const params = args.ip
3
4
  ? { ip: args.ip }
4
5
  : undefined;
5
- const data = await client.fetch('/ip', params);
6
- const lines = ['🌐 IP 查询', '', `IP: ${data.ip || args.ip || '当前 IP'}`];
6
+ const data = await client.fetch('/ip', params, locale);
7
+ const lines = [t(locale, 'ip'), '', `IP: ${data.ip || args.ip || t(locale, 'currentIp')}`];
7
8
  if (data.country || data.region || data.city) {
8
- lines.push(`位置: ${[data.country, data.region, data.city].filter(Boolean).join(' ')}`);
9
+ lines.push(t(locale, 'location', { value: [data.country, data.region, data.city].filter(Boolean).join(' ') }));
9
10
  }
10
11
  if (data.location)
11
- lines.push(`位置: ${data.location}`);
12
+ lines.push(t(locale, 'location', { value: String(data.location) }));
12
13
  if (data.isp)
13
- lines.push(`运营商: ${data.isp}`);
14
+ lines.push(t(locale, 'isp', { value: String(data.isp) }));
14
15
  return lines.join('\n');
15
16
  }
16
17
  //# sourceMappingURL=ip-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ip-query.js","sourceRoot":"","sources":["../../src/handlers/ip-query.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAqB;IACxE,MAAM,MAAM,GAAuC,IAAI,CAAC,EAAE;QACxD,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;QACjB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,IAAI,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"ip-query.js","sourceRoot":"","sources":["../../src/handlers/ip-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAqB,EAAE,MAAe;IACzF,MAAM,MAAM,GAAuC,IAAI,CAAC,EAAE;QACxD,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;QACjB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,IAAI,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
- export default function (client: SixtySClient): Promise<string>;
3
+ export default function (client: SixtySClient, locale?: Locale): Promise<string>;
3
4
  //# sourceMappingURL=kfc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kfc.d.ts","sourceRoot":"","sources":["../../src/handlers/kfc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,mBAGlD"}
1
+ {"version":3,"file":"kfc.d.ts","sourceRoot":"","sources":["../../src/handlers/kfc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,mBAGnE"}
@@ -1,5 +1,6 @@
1
- export default async function (client) {
2
- const data = await client.fetch('/kfc');
3
- return `🍗 疯狂星期四\n\n${data.kfc || data.content || data.text || (typeof data === 'string' ? data : '')}`;
1
+ import { messages as t } from '../i18n.js';
2
+ export default async function (client, locale) {
3
+ const data = await client.fetch('/kfc', undefined, locale);
4
+ return `${t(locale, 'kfc')}\n\n${data.kfc || data.content || data.text || (typeof data === 'string' ? data : '')}`;
4
5
  }
5
6
  //# sourceMappingURL=kfc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kfc.js","sourceRoot":"","sources":["../../src/handlers/kfc.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB;IACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,eAAe,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1G,CAAC"}
1
+ {"version":3,"file":"kfc.js","sourceRoot":"","sources":["../../src/handlers/kfc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,MAAe;IAClE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACrH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
- export default function (client: SixtySClient): Promise<string>;
3
+ export default function (client: SixtySClient, locale?: Locale): Promise<string>;
3
4
  //# sourceMappingURL=moyu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"moyu.d.ts","sourceRoot":"","sources":["../../src/handlers/moyu.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,mBAgClD"}
1
+ {"version":3,"file":"moyu.d.ts","sourceRoot":"","sources":["../../src/handlers/moyu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,mBAgCnE"}
@@ -1,15 +1,16 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { asArray, asRecord, asString } from '../api.js';
2
- export default async function (client) {
3
- const data = await client.fetch('/moyu');
3
+ export default async function (client, locale) {
4
+ const data = await client.fetch('/moyu', undefined, locale);
4
5
  if (typeof data === 'string')
5
- return `🐟 摸鱼日历\n\n${data}`;
6
- const lines = ['🐟 摸鱼日历', ''];
6
+ return `${t(locale, 'moyu')}\n\n${data}`;
7
+ const lines = [t(locale, 'moyu'), ''];
7
8
  const date = asRecord(data.date);
8
9
  if (date.gregorian)
9
10
  lines.push(`📅 ${date.gregorian} ${asString(date.weekday)}`);
10
11
  const lunar = asRecord(date.lunar);
11
12
  if (lunar.monthCN || lunar.dayCN) {
12
- lines.push(`🌙 农历${asString(lunar.monthCN)}${asString(lunar.dayCN)} ${asString(lunar.yearGanZhi)}年`);
13
+ lines.push(t(locale, 'lunar', { month: asString(lunar.monthCN), day: asString(lunar.dayCN), year: asString(lunar.yearGanZhi) }));
13
14
  }
14
15
  const today = asRecord(data.today);
15
16
  if (today.holidayName)
@@ -17,7 +18,7 @@ export default async function (client) {
17
18
  if (today.solarTerm)
18
19
  lines.push(`🌿 ${today.solarTerm}`);
19
20
  if (today.isWorkday !== undefined) {
20
- lines.push(today.isWorkday ? '💼 今天是工作日' : '🎮 今天不上班');
21
+ lines.push(today.isWorkday ? t(locale, 'workday') : t(locale, 'dayoff'));
21
22
  }
22
23
  if (Array.isArray(data.festivals)) {
23
24
  data.festivals.forEach((f) => {
@@ -30,7 +31,7 @@ export default async function (client) {
30
31
  countdown.forEach((c) => {
31
32
  const row = asRecord(c);
32
33
  if (typeof row.name === 'string' && typeof row.days === 'number') {
33
- lines.push(`⏳ 距 ${row.name} 还有 ${row.days} 天`);
34
+ lines.push(t(locale, 'countdown', { name: row.name, days: row.days }));
34
35
  }
35
36
  });
36
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"moyu.js","sourceRoot":"","sources":["../../src/handlers/moyu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AAGzE,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB;IACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAsB,OAAO,CAAC,CAAC;IAC9D,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,cAAc,IAAI,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;YACpC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,SAAS,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"moyu.js","sourceRoot":"","sources":["../../src/handlers/moyu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AAGzE,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,MAAe;IAClE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAsB,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACjF,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACvE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACnI,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;YACpC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,SAAS,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
3
  export default function (client: SixtySClient, args: {
3
4
  limit?: number;
4
- }): Promise<string>;
5
+ }, locale?: Locale): Promise<string>;
5
6
  //# sourceMappingURL=toutiao-hot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toutiao-hot.d.ts","sourceRoot":"","sources":["../../src/handlers/toutiao-hot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,mBAG5E"}
1
+ {"version":3,"file":"toutiao-hot.d.ts","sourceRoot":"","sources":["../../src/handlers/toutiao-hot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,MAAM,mBAG7F"}
@@ -1,6 +1,7 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { formatList } from '../api.js';
2
- export default async function (client, args) {
3
- const data = await client.fetch('/toutiao');
4
- return ['🔥 头条热搜', '', formatList(data, args.limit || 10)].join('\n');
3
+ export default async function (client, args, locale) {
4
+ const data = await client.fetch('/toutiao', undefined, locale);
5
+ return [t(locale, 'toutiao'), '', formatList(data, args.limit || 10)].join('\n');
5
6
  }
6
7
  //# sourceMappingURL=toutiao-hot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toutiao-hot.js","sourceRoot":"","sources":["../../src/handlers/toutiao-hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAGtD,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAwB;IAC3E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAa,UAAU,CAAC,CAAC;IACxD,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"toutiao-hot.js","sourceRoot":"","sources":["../../src/handlers/toutiao-hot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAGtD,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAwB,EAAE,MAAe;IAC5F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAa,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC"}
@@ -1,6 +1,7 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
3
  export default function (client: SixtySClient, args: {
3
4
  text: string;
4
5
  to?: string;
5
- }): Promise<string>;
6
+ }, locale?: Locale): Promise<string>;
6
7
  //# sourceMappingURL=translate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../../src/handlers/translate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,mBAsBvF"}
1
+ {"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../../src/handlers/translate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,MAAM,mBAsBxG"}
@@ -1,9 +1,10 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { asRecord, asString } from '../api.js';
2
- export default async function (client, args) {
3
+ export default async function (client, args, locale) {
3
4
  const params = { text: args.text };
4
5
  if (args.to)
5
6
  params.to = args.to;
6
- const data = await client.fetch('/fanyi', params);
7
+ const data = await client.fetch('/fanyi', params, locale);
7
8
  const source = asRecord(data.source);
8
9
  const target = asRecord(data.target);
9
10
  const srcText = asString(source.text) || args.text;
@@ -14,13 +15,13 @@ export default async function (client, args) {
14
15
  (typeof data === 'string' ? data : '');
15
16
  const tgtLang = asString(target.type_desc) || asString(target.type);
16
17
  const lines = [
17
- '🌐 翻译结果',
18
+ t(locale, 'translation'),
18
19
  '',
19
- `原文${srcLang ? ` (${srcLang})` : ''}: ${srcText}`,
20
- `译文${tgtLang ? ` (${tgtLang})` : ''}: ${tgtText}`,
20
+ t(locale, 'source', { language: srcLang ? ` (${srcLang})` : '', text: srcText }),
21
+ t(locale, 'target', { language: tgtLang ? ` (${tgtLang})` : '', text: tgtText }),
21
22
  ];
22
23
  if (target.pronounce)
23
- lines.push(`发音: ${asString(target.pronounce)}`);
24
+ lines.push(t(locale, 'pronounce', { value: asString(target.pronounce) }));
24
25
  return lines.join('\n');
25
26
  }
26
27
  //# sourceMappingURL=translate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"translate.js","sourceRoot":"","sources":["../../src/handlers/translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG/C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAmC;IACtF,MAAM,MAAM,GAA2B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG;QACZ,SAAS;QACT,EAAE;QACF,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE;QACjD,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE;KAClD,CAAC;IACF,IAAI,MAAM,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"translate.js","sourceRoot":"","sources":["../../src/handlers/translate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG/C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAmC,EAAE,MAAe;IACvG,MAAM,MAAM,GAA2B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG;QACZ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC;QACxB,EAAE;QACF,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAChF,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACjF,CAAC;IACF,IAAI,MAAM,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
3
  export default function (client: SixtySClient, args: {
3
4
  city: string;
4
- }): Promise<string>;
5
+ }, locale?: Locale): Promise<string>;
5
6
  //# sourceMappingURL=weather.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"weather.d.ts","sourceRoot":"","sources":["../../src/handlers/weather.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,mBAmB1E"}
1
+ {"version":3,"file":"weather.d.ts","sourceRoot":"","sources":["../../src/handlers/weather.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,MAAM,mBAmB3F"}
@@ -1,21 +1,22 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { asRecord, asString } from '../api.js';
2
- export default async function (client, args) {
3
- const data = await client.fetch('/weather', { query: args.city });
3
+ export default async function (client, args, locale) {
4
+ const data = await client.fetch('/weather', { query: args.city }, locale);
4
5
  const w = asRecord(data.weather);
5
6
  const aq = asRecord(data.air_quality);
6
7
  const loc = asRecord(data.location);
7
8
  const cityName = asString(loc.city) || asString(loc.name) || args.city;
8
9
  const lines = [
9
- `🌤️ ${cityName} 天气`,
10
+ t(locale, 'weather', { city: cityName }),
10
11
  '',
11
- `🌡️ 温度: ${asString(w.temperature)}°C`,
12
- `☁️ 天气: ${asString(w.condition)}`,
13
- `💧 湿度: ${asString(w.humidity)}%`,
14
- `💨 风: ${asString(w.wind_direction)} ${asString(w.wind_power)}`,
12
+ t(locale, 'temperature', { value: asString(w.temperature) }),
13
+ t(locale, 'condition', { value: asString(w.condition) }),
14
+ t(locale, 'humidity', { value: asString(w.humidity) }),
15
+ t(locale, 'wind', { direction: asString(w.wind_direction), power: asString(w.wind_power) }),
15
16
  ];
16
17
  if (Object.keys(aq).length > 0) {
17
18
  const quality = asString(aq.quality);
18
- lines.push(`🌬️ 空气: ${quality}${aq.aqi ? ` (AQI ${asString(aq.aqi)})` : ''}`);
19
+ lines.push(t(locale, 'air', { value: `${quality}${aq.aqi ? ` (AQI ${asString(aq.aqi)})` : ''}` }));
19
20
  }
20
21
  return lines.join('\n');
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"weather.js","sourceRoot":"","sources":["../../src/handlers/weather.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG/C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAsB;IACzE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IACvE,MAAM,KAAK,GAAG;QACZ,OAAO,QAAQ,KAAK;QACpB,EAAE;QACF,WAAW,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI;QACtC,UAAU,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;QACjC,UAAU,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG;QACjC,SAAS,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;KAChE,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"weather.js","sourceRoot":"","sources":["../../src/handlers/weather.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG/C,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAsB,EAAE,MAAe;IAC1F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IACvE,MAAM,KAAK,GAAG;QACZ,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACxC,EAAE;QACF,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;KAC5F,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
3
  export default function (client: SixtySClient, args: {
3
4
  limit?: number;
4
- }): Promise<string>;
5
+ }, locale?: Locale): Promise<string>;
5
6
  //# sourceMappingURL=weibo-hot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"weibo-hot.d.ts","sourceRoot":"","sources":["../../src/handlers/weibo-hot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,mBAG5E"}
1
+ {"version":3,"file":"weibo-hot.d.ts","sourceRoot":"","sources":["../../src/handlers/weibo-hot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,MAAM,mBAG7F"}
@@ -1,6 +1,7 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { formatList } from '../api.js';
2
- export default async function (client, args) {
3
- const data = await client.fetch('/weibo');
4
- return ['🔥 微博热搜', '', formatList(data, args.limit || 10)].join('\n');
3
+ export default async function (client, args, locale) {
4
+ const data = await client.fetch('/weibo', undefined, locale);
5
+ return [t(locale, 'weibo'), '', formatList(data, args.limit || 10)].join('\n');
5
6
  }
6
7
  //# sourceMappingURL=weibo-hot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"weibo-hot.js","sourceRoot":"","sources":["../../src/handlers/weibo-hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAGtD,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAwB;IAC3E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAa,QAAQ,CAAC,CAAC;IACtD,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"weibo-hot.js","sourceRoot":"","sources":["../../src/handlers/weibo-hot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAGtD,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,MAAoB,EAAE,IAAwB,EAAE,MAAe;IAC5F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAa,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzE,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { Locale } from 'zhin.js/i18n';
1
2
  import type { SixtySClient } from '../client.js';
2
3
  export default function (client: SixtySClient, args: {
3
4
  limit?: number;
4
- }): Promise<string>;
5
+ }, locale?: Locale): Promise<string>;
5
6
  //# sourceMappingURL=zhihu-hot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zhihu-hot.d.ts","sourceRoot":"","sources":["../../src/handlers/zhihu-hot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,mBAG5E"}
1
+ {"version":3,"file":"zhihu-hot.d.ts","sourceRoot":"","sources":["../../src/handlers/zhihu-hot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yBAA+B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,MAAM,mBAG7F"}
@@ -1,6 +1,7 @@
1
+ import { messages as t } from '../i18n.js';
1
2
  import { formatList } from '../api.js';
2
- export default async function (client, args) {
3
- const data = await client.fetch('/zhihu');
4
- return ['🔥 知乎热榜', '', formatList(data, args.limit || 10)].join('\n');
3
+ export default async function (client, args, locale) {
4
+ const data = await client.fetch('/zhihu', undefined, locale);
5
+ return [t(locale, 'zhihu'), '', formatList(data, args.limit || 10)].join('\n');
5
6
  }
6
7
  //# sourceMappingURL=zhihu-hot.js.map