嘟嘟社区

写个了网页关键词检测,从此传家宝不再错过


  1. addEventListener("scheduled", event => {
  2.   event.waitUntil(checkKeywordsAndNotify());
  3. });
  4. async function checkKeywordsAndNotify() {
  5.   const url = ‘https://hostloc.com’;  // 要检测的网页URL
  6.   const keyword = ‘全球主机交流’;  // 要检测的关键词
  7.   const telegramToken = ‘##’;  // TG机器人Token
  8.   const chatId = ‘##’;  //要推送的TG用户ID
  9.   
  10.   try {
  11.     const urlWithTimestamp = `${url}?t=${Date.now()}`;
  12.    
  13.     const response = await fetch(urlWithTimestamp, {
  14.       method: ‘GET’,
  15.       headers: {
  16.         ‘Cache-Control’: ‘no-cache’,
  17.         ‘Pragma’: ‘no-cache’
  18.       }
  19.     });
  20.     const text = await response.text();
  21.     if (!text.includes(keyword)) {
  22.       await sendTelegramNotification(telegramToken, chatId, `关键词 "${keyword}" 已从 ${url} 上消失`);
  23.     }
  24.   } catch (error) {
  25.     await sendTelegramNotification(telegramToken, chatId, `获取或处理URL时出错: ${error.message}`);
  26.   }
  27. }
  28. async function sendTelegramNotification(token, chatId, message) {
  29.   const telegramUrl = `https://api.telegram.org/bot${token}/sendMessage`;
  30.   const response = await fetch(telegramUrl, {
  31.     method: ‘POST’,
  32.     headers: { ‘Content-Type’: ‘application/json’ },
  33.     body: JSON.stringify({
  34.       chat_id: chatId,
  35.       text: message
  36.     })
  37.   });
  38.   return response.json();
  39. }

复制代码

1,无需服务器,丢进cloudflare的workers
2,设定→触发程序→Cron

可以检测传家宝是否补货,也可以检测自己的网站是不是掉线了

很多机器人可以直接检测啊 就是关键字不好搞
有个缺点,一旦传家宝补货了,机器人会一直提醒你。数据库可以解决这个问题,但是想法就是简单稳定快捷。数据库增加了不确定因素

燕十三丶 发表于 2024-9-18 20:55
很多机器人可以直接检测啊 就是关键字不好搞

别人的能跟自己建的比啊