← กลับหน้าโปรเจคทั้งหมด
ระดับ: START+
บอทเตือนราคาทองคำแท่งและรูปพรรณ (Real-time Thai Gold Alert)
ดึงราคาประกาศสมาคมค้าทองคำแบบเรียลไทม์ เปรียบเทียบการปรับราคา แจ้งเตือนเข้า Telegram พร้อมคำนวณส่วนต่างทันทีที่ราคามีการเปลี่ยนแปลง
Node.jsCheerio Web ScraperTelegram Bot APICron
📋 ภาพรวม
ระบบติดตามราคาทองคำของสมาคมค้าทองคำแห่งประเทศไทย (Gold Traders Association) เช็กความเคลื่อนไหวทุก 5 นาที หากสมาคมฯ ประกาศปรับราคา (เช่น ปรับขึ้น +100 หรือปรับลง -50) บอทจะคำนวณส่วนต่างและส่งข้อความแจ้งเตือนเข้า Telegram พร้อมสรุปภาพรวมของวันทันที
⚙️ ทำงานอย่างไร
- ตั้งเวลาทำงานทุก 5 นาทีในช่วงเวลาตลาดเปิด (09:00 - 17:30 น.)
- ยิง Request ไปยังหน้าประกาศราคาสมาคมค้าทองคำ ดึงตัวเลขล่าสุด
- เปรียบเทียบกับราคาที่บันทึกไว้ในหน่วยความจำล่าสุด
- หากราคาเปลี่ยนแปลง: ส่งข้อความเสียงเตือนพร้อมสัญลักษณ์ 🟢 / 🔴 และระบุครั้งที่ปรับของวัน
- บันทึกสถิติเพื่อใช้วิเคราะห์แนวโน้มรายสัปดาห์
🔧 วิธีติดตั้ง
## ติดตั้งไลบรารี
```bash
npm install cheerio node-fetch dotenv
```
💻 ซอร์สโค้ดโปรเจกต์ (Production Code)
🔒
ซอร์สโค้ดสงวนสิทธิ์เฉพาะสมาชิก START ขึ้นไป
กรุณาสมัครสมาชิกและเลือกแพ็กเกจ เพื่อปลดล็อกโค้ดเต็ม 100% พร้อมคู่มือภาษาไทย
📜 โค้ดทุกชิ้นเป็น Licensed Source Code — เมื่อปลดล็อกแล้วโค้ดจะฝังใบอนุญาตผูกกับบัญชีของคุณ ใช้ได้เฉพาะธุรกิจของตนเอง ห้ามนำไปแจกจ่ายหรือขายต่อ (ผิดเงื่อนไข = ระงับสิทธิ์ทันที)
import fetch from "node-fetch";
import * as cheerio from "cheerio";
const TELEGRAM_TOKEN = process.env.TELEGRAM_BOT_TOKEN || "";
const TELEGRAM_CHAT_ID = process.env.TELEGRAM_CHAT_ID || "";
// เก็บประวัติราคาล่าสุดใน Memory
let lastPriceState = {
barBuy: 0,
barSell: 0,
ornamentBuy: 0,
ornamentSell: 0,
updateTime: "",
};
// 1. ดึงราคาทองคำจากสมาคมค้าทองคำ
async function fetchCurrentGol⚙️ ค่าที่ต้องตั้ง (Environment)
## ตัวแปรในไฟล์ .env
```env
TELEGRAM_BOT_TOKEN=123456789:ABCdefGhIJKlmNoPQRstUVwxYZ
TELEGRAM_CHAT_ID=-1001234567890
```
🚀 วิธีใช้งาน
## การรันเซิร์ฟเวอร์
รันแบบวนลูปทุก 3 นาทีด้วย `setInterval`:
```js
import { checkAndNotifyGoldPrice } from "./gold-bot.js";
// ตรวจสอบทุก 3 นาที
setInterval(checkAndNotifyGoldPrice, 3 * 60 * 1000);
checkAndNotifyGoldPrice();
```
ต้องการนำโค้ดโปรเจกต์นี้ไปต่อยอดธุรกิจ?
สมัครสมาชิก START ขึ้นไป เพื่อเข้าถึงโค้ดและเทมเพลตทั้งหมดแบบไม่จำกัด
ดูตารางราคาสมาชิก