มาเปลี่ยน Notification ให้อยู่บน Telegram แบบง่ายๆกัน

เกริ่นการมาของบทความนี้กันหน่อยนะครับ เนื่องจาก Line Notify จะปิดให้บริการในวันที่ 31 มีนาคม 2025 ทำให้ต้องใช้คำว่าซวยแล้ว ซวยยังไงก็คือ Alert ทุกอย่างของระบบใช้ตัว Line Notify หมดเลย ไม่ว่าจะเป็น Alert ระดับ System หรือ Alert ระดับ Application รวมไปถึง Features ต่างๆอีกมากมาย

และคงมีอีกหลายคนสงสัยทำไมถึงไม่ใช้ Line OA ต้องบอกว่าไหนๆก็ต้องได้ Code ใหม่แล้วไป Code ที่มันฟรีดีกว่าไหมซึ่ง Telegram คือคำตอบ (ของผมเอง) ซึ่งถ้าเป็น Line Notify มันไม่จำเป็นต้อง Code เลยเป็นอะไรที่หน้าเสียดายจริงๆแทนที่จะเก็บตัง

Telegram เป็นแพลตฟอร์มที่ช่วยให้ธุรกิจหรือบุคคลสามารถสื่อสารและสร้างความสัมพันธ์กับลูกค้าได้อย่างมีประสิทธิภาพ สามารถใช้ได้ทั้งบนมือถือ คอมพิวเตอร์ และเว็บเบราว์เซอร์ โดยมีจุดเด่นสำคัญดังนี้

จุดเด่นของ Telegram

  1. ความปลอดภัย (Security)
    Telegram ใช้การเข้ารหัสแบบ End-to-End สำหรับฟีเจอร์ Secret Chat และใช้โปรโตคอลการเข้ารหัส MTProto ซึ่งถูกออกแบบมาให้มีความปลอดภัยสูง
  2. รองรับกลุ่มขนาดใหญ่
    สามารถสร้างกลุ่มแชทที่มีสมาชิกได้สูงสุดถึง 200,000 คน และยังมีฟีเจอร์ Channel สำหรับเผยแพร่เนื้อหาให้สมาชิกได้ไม่จำกัดจำนวน
  3. Bot Integration
    Telegram รองรับ Bot API ซึ่งนักพัฒนาสามารถสร้างบอทเพื่อทำงานอัตโนมัติ เช่น แจ้งเตือน ส่งข้อมูล หรือใช้ในระบบตอบกลับอัตโนมัติ
  4. ความเร็วและความเสถียร
    Telegram ออกแบบมาให้ทำงานได้รวดเร็วและลื่นไหล แม้ในสภาพแวดล้อมที่มีความเร็วอินเทอร์เน็ตต่ำ
  5. Cloud-based
    Telegram เป็นแอปที่ทำงานแบบ Cloud-based ซึ่งหมายความว่าผู้ใช้สามารถเข้าถึงข้อความ ประวัติการแชท และไฟล์ต่าง ๆ ได้จากทุกอุปกรณ์ที่ล็อกอินไว้
  6. ส่งไฟล์ขนาดใหญ่ได้
    สามารถส่งไฟล์ได้ทุกประเภท (ภาพ วิดีโอ เอกสาร ฯลฯ) และรองรับไฟล์ขนาดใหญ่สูงสุดถึง 2 GB ต่อไฟล์

และที่เราจะหยิบมาใช้คือ Bot Integration เป็น Features ที่คล้ายๆ Line พอสมควร

จุดเด่นของบอทโครตโหดใน Telegram

  1. Users สามารถคุยกับบอทตรงๆได้ อารมณ์คล้ายๆ Line OA เลย
  2. สามารถ Invite Bot เข้ากลุ่มได้ซึ่งกลุ่มมีขนาดใหญ่ได้ถึง 200,000 คน
  3. 1 กลุ่มมีบอทได้สูงสุด 50 ตัวแม่เจ้าโครตพ่อโครตแม่โหดอันนี้
  4. ส่งข้อความฟรีสำหรับกลุ่มสมมุติมี 500 กลุ่มก็สามารถวนลูปส่งหาพร้อมๆกันได้แต่อาจจะติด limit ถ้าส่งหาเฉพาะกลุ่มติด limit ที่ 30 request / sec แต่สามารถทำลายข้อจำกัดตรงนี้ได้ด้วยเงินตกประมาณ 0.07 บาท ต่อข้อความซึ่งจะขยาย limit เป็น 1000 request / sec
  5. ส่งข้อความฟรีสำหรับบุคคลแต่อาจจะติด limit ถ้าส่งหาเฉพาะคนติด limit ที่ 30 request / sec แต่สามารถทำลายข้อจำกัดตรงนี้ได้ด้วยเงินตกประมาณ 0.07 บาท ต่อข้อความซึ่งจะขยาย limit เป็น 1000 request / sec

มาเริ่มกันเลยดีกว่าครับ

ขั้นตอนแรกให้ Search BotFather ใน App Telegram
จากนั้น /start ก็จะมีคำสั่งให้เราเลือกใช้มากมาย
จากนั้น /newbot มันก็จะให้เราใส่ชื่อให้บอท
หลังจากสร้างเสร็จก็จะได้ Channel ID กับ Channel Secret ออกมาเป็นที่เรียบร้อย
const express = require("express");
const bodyParser = require("body-parser");
const axios = require("axios");

const app = express();
const port = 3000;
const TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN";
const WEBHOOK_URL = "https://your-server.com/webhook";

app.use(bodyParser.json());

// Route สำหรับรับ webhook จาก Telegram
app.post("/webhook", async (req, res) => {
const { message } = req.body;
if (message && message.text) {
console.log(`Received message: ${message.text}`);
const chatId = message.chat.id;
console.log(`Chat ID : ${chatId}`)

await axios
.post(`https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage`, {
chat_id: chatId,
text: `You said: ${message.text}`,
})
}

res.sendStatus(200);
});


// ตั้งค่า webhook ให้กับ Telegram Bot
app.get("/set-webhook", async (req, res) => {
await axios
.post(
`https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/setWebhook`,
{
url: WEBHOOK_URL,
}
)

res.sendStatus(200);
});

app.listen(port, () => {
console.log(`Server running on port ${port}`);
});

อันนี้คือ Code สำหรับรับ Event Webhook กับ Set Webhook

ก่อนอื่น Run Ngrok ก่อนเพื่อที่เราจะได้มี https เพื่อ Set Webhook และ รับ Event Webhook ได้ หรือใครใช้ตัวอื่นตามสดวกเลยไม่จำเป็นต้อง Ngrok อย่างเดียว

ผม Run ngrok http 3000

เมื่อผมได้ https และ Token จาก Telegram กลับไปแก้ Code

const TELEGRAM_BOT_TOKEN = "7956769794:AAGJPskR3OCGquWQ5LtMM2.....";
const WEBHOOK_URL = "https://d952-2405-9800-bca0-1655-29e7-c9dd-4f80-2cf7.ngrok-free.app/webhook";
node index.js

จากนั้น Run Code Nodejs ของเรา

ถ้า Run ได้จะขึ้นตามนี้
จากนั้นนำ url :3000/set-webhook นำไปใส่ใน Browser หรือ Postman ก็ได้ตามสดวก

ขั้นตอนติดตั้ง Webhook ที่ Bot ก็เสร็จแล้วคราวนี้เรามาสร้างกลุ่มแล้ว Invite Bot เข้าไปกัน

คลิกที่ปุ่มนี้เพื่อสร้างกลุ่ม
สร้างกลุ่มเสร็จแล้วสุดยอดไหมได้ตั้ง 200,000 members ไลน์กลุ่มให้แค่ 500 เอง
จากนั้นให้มา Add Bot ที่เราสร้างเข้ามา

และเมื่อ บอทเข้ามาแล้วไม่มี Event อะไรเข้า Webhook เลยไม่ต้องตกใจ

กลับมาที่ BotFather แล้วพิมพ์ /mybots จากนั้น Click Bot ที่จะให้รับ Event ในกลุ่มได้
กด Bot Settings
กด Group Privacy
ถ้ามันขึ้น Turn on แสดงว่าถูกต้องแล้ว
จากนั้น Event จะเข้า Webhook แล้ว
และเราจะได้ Chat ID และมีค่าเป็นลบตอนนี้ถือว่าเราได้ Chat ID เพื่อไปทำ curl ทำ Notification เรียบร้อยแล้ว
curl -X POST https://api.telegram.org/bot7956769794:AAGJPskR3OCGquWQ5Lt...../sendMessage \
-H "Content-Type: application/json" \
-d '{
"chat_id": "-4706103584",
"text": "Hello World"
}'
จากนั้นเราก็จะได้รับข้อความ Hello World เรียบร้อยแล้ว

เพียงเท่านี้เราก็จะได้ Alert ไว้ใช้ดังเดิมแล้วฟรีเหมือนเดิมและยังสามารถใช้ curl เหมือนสมัย Line Notify ได้เหมือนเดิมแถม No Limit อาจจะ Limit แค่เรื่อง 30 request / sec เท่านั้นเอง อยากปลด Limit ก็สามารถซื้อข้อความได้ตกที่ราคาข้อความละ 0.07 บาท จะเปลี่ยนเป็น 1000 request / sec

จบไปแล้วนะครับสำหรับบทความนี้ใครกำลังหาช่องทางสื่อสารกับลูกค้าก็สามารถเอาไปประยุคใช้ได้นะครับไม่ว่าจะทำเป็น ระบบแชท, Task Automation Bot, Bot สำหรับจัดการข้อมูลส่วนตัว และอื่นๆอีกมากมายที่สำคัญฟรี

--

--

Responses (1)