wechat-work.ts 535 B

12345678910111213141516171819202122
  1. export interface WechatWorkConfig {
  2. readonly webhookUrl: string;
  3. }
  4. export async function sendWechatWork(
  5. config: WechatWorkConfig,
  6. content: string,
  7. ): Promise<void> {
  8. const response = await fetch(config.webhookUrl, {
  9. method: "POST",
  10. headers: { "Content-Type": "application/json" },
  11. body: JSON.stringify({
  12. msgtype: "markdown",
  13. markdown: { content },
  14. }),
  15. });
  16. if (!response.ok) {
  17. const body = await response.text();
  18. throw new Error(`WeCom send failed: ${response.status} ${body}`);
  19. }
  20. }