立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 33|回复: 2

刚糊的一个Ks

[复制链接]

刚糊的一个Ks

[复制链接]

20

主题

84

回帖

710

积分

高级会员

积分
710
chinamobile5g

20

主题

84

回帖

710

积分

高级会员

积分
710
2024-11-6 23:51:55 | 显示全部楼层 |阅读模式
用 chatgpt 帮我糊了一个 tg 监控 ovh 补货的通知。

1. 在 Telegram 上找到 BotFather。
2. 创建一个新机器人并记录下给定的 Token。
3. 获取你的 Telegram 用户 ID,你可以通过向你的机器人发送消息并调用 https://api.telegram.org/bot/getUpdates API 来查看你的消息和用户 ID。

在 deno.land 创建一个 playground,填入以下代码,修改部分变量直接运行就行了。

[ol]
  • // bot.ts
  • // 1. 配置 Telegram bot 和 API
  • const TELEGRAM_TOKEN = "";  // 填入你的 Telegram Bot Token
  • const CHAT_ID = "Chat-id";  // 填入你要发送消息的 Chat ID
  • const API_URL = "https://www.ovh.com/engine/apiv6/dedicated/server/datacenter/availabilities/?excludeDatacenters=true&planCode=25skleb01&server=25skleb01";  // 填入你要请求的 API 地址
  • // 2. 发送 Telegram 消息的函数
  • async function sendTelegramMessage(message: string) {
  •   const url = `https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage`;
  •   const body = JSON.stringify({
  •     chat_id: CHAT_ID,
  •     text: message,
  •   });
  •   const res = await fetch(url, {
  •     method: "POST",
  •     headers: {
  •       "Content-Type": "application/json",
  •     },
  •     body: body,
  •   });
  •   if (res.ok) {
  •     console.log("Message sent to Telegram successfully.");
  •   } else {
  •     console.error("Failed to send message to Telegram.");
  •   }
  • }
  • // 3. 请求 API 并检查响应是否包含 'available' 字段
  • async function checkApiAndNotify() {
  •   try {
  •     const response = await fetch(API_URL);
  •     const data = await response.json();
  •     const nvme = data.find(item => item.storage === 'softraid-2x450nvme');
  •     if (nvme.datacenters.some(item => item.availability !== 'unavailable')) {
  •       const message = `The KS-LE-B Nvme is restored. Check it out here: [Click here](https://eco.ovhcloud.com/en-ie/kimsufi/ks-le-b/)`
  •       sendTelegramMessage(message);
  •     } else {
  •       console.log("Service is not available.");
  •     }
  •   } catch (error) {
  •       console.error("Error while fetching API or sending message:", error);
  •   }
  • }
  • // 4. 设置定时任务,周期性请求 API
  • setInterval(checkApiAndNotify, 60 * 1000); // 每分钟检查一次
  • Deno.serve((req: Request) => new Response("Hello Ovh"));[/ol]复制代码
  • 回复

    使用道具 举报

    5

    主题

    2401

    回帖

    5343

    积分

    论坛元老

    积分
    5343
    icon

    5

    主题

    2401

    回帖

    5343

    积分

    论坛元老

    积分
    5343
    2024-11-6 23:56:29 | 显示全部楼层
    建议看ovh的api
    多的我不说了,毕竟这是门生意
    回复

    使用道具 举报

    50

    主题

    280

    回帖

    1794

    积分

    金牌会员

    积分
    1794
    小黑

    50

    主题

    280

    回帖

    1794

    积分

    金牌会员

    积分
    1794
    2024-11-6 23:57:37 | 显示全部楼层
    用API接口..网页接口不行
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-12-23 04:23 , Processed in 0.015966 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表