chinamobile5g 发表于 2024-11-6 23:51:55

刚糊的一个Ks

用 chatgpt 帮我糊了一个 tg 监控 ovh 补货的通知。

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

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

[*]// 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: (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"));复制代码

icon 发表于 2024-11-6 23:56:29

建议看ovh的api
多的我不说了,毕竟这是门生意

小黑 发表于 2024-11-6 23:57:37

用API接口..网页接口不行
页: [1]
查看完整版本: 刚糊的一个Ks