โค้ด PHP สำหรับสร้าง Telegram Notify อย่างง่าย

วันที่: 2 เม.ย. 2568 12:05 น.

โค้ด PHP สำหรับสร้าง Telegram Notify อย่างง่าย

หากท่านใดที่ปกติใช้ Line Notify สำหรับทำการแจ้งเตือนต่าง ๆ อยู่แล้วคงทราบแล้วว่า 

LINE ประกาศเตรียมยุติการให้บริการ LINE Notify ตั้งแต่วันที่ 31 มี.ค 2568 เป็นต้นไป ในบทความนี้จึงจะพาหาวิธีหรือเครื่องมือตัวอื่นมาใช้งานแทน ซึ่งอาจจะดีกว่าด้วยนะ ขอแนะนำให้รู้จักกับ Telegram
 
Telegram เป็นแพลตฟอร์มการสื่อสารที่ได้รับความนิยมอย่างมาก โดยเฉพาะสำหรับการแจ้งเตือนอัตโนมัติ (Notification) ในบทความนี้ เราจะมาเรียนรู้วิธีส่งข้อความไปยัง Telegram ด้วย PHP โดยใช้ cURL เพื่อเรียกใช้งาน Telegram Bot API
 
มีขั้นตอนการทำงานดังนี้
 

1. สร้าง Telegram Bot

ก่อนอื่น เราต้องสร้างบอท Telegram และรับ Token เพื่อใช้ในการเชื่อมต่อ API

  1. เปิด Telegram และค้นหา BotFather

  2. พิมพ์คำสั่ง /newbot เพื่อสร้างบอทใหม่

  3. ตั้งชื่อและ Username ของบอท (ต้องลงท้ายด้วย bot เช่น MyNotifierBot)

  4. เมื่อสร้างเสร็จแล้ว BotFather จะให้ Token สำหรับเข้าถึง API

 

2. ค้นหา Chat ID

หากต้องการส่งข้อความไปยังแชทใด ๆ จะต้องรู้ chat_id ของแชทนั้น สามารถหาได้โดยมีขั้นตอนดังนี้

  1. เปิดเว็บเบราว์เซอร์ และเข้า URL: https://api.telegram.org/bot<TOKEN>/getUpdates (<TOKEN> คือโทเคนของคุณ)

  2. ส่งข้อความไปที่บอทของคุณผ่าน Telegram

  3.  รีเฟรช URL ข้างต้น แล้วดูค่า chat_id จาก JSON ที่ได้

 

3. เขียนโค้ด PHP สำหรับส่งข้อความ

เมื่อได้ Token และ Chat ID แล้ว ให้ใช้โค้ด PHP ต่อไปนี้:

function sendTelegramMessage($token, $chat_id, $message, $parse_mode = 'HTML') {
    $url = "https://api.telegram.org/bot$token/sendMessage";
    
    $data = [
        'chat_id' => $chat_id,
        'text' => $message,
        'parse_mode' => $parse_mode
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/x-www-form-urlencoded"]);
    
    $response = curl_exec($ch);
    curl_close($ch);
    
    return $response;
}

 

4. ประเภทข้อความที่สามารถส่งได้

Telegram รองรับการส่งข้อความด้วยรูปแบบต่าง ๆ เช่น HTML และ Markdown โดยสามารถกำหนดค่า parse_mode ได้:

  • HTML – ใช้แท็ก HTML เช่น <b>ตัวหนา</b>, <i>ตัวเอียง</i>

  • Markdown – ใช้ Markdown เช่น **ตัวหนา**, _ตัวเอียง_

ตัวอย่างการส่งข้อความแบบ Markdown:
$message = "*ข้อความตัวหนา* _ตัวเอียง_ `โค้ด`";
$response = sendTelegramMessage($token, $chat_id, $message, "MarkdownV2");

 

5. ทดสอบการทำงาน

ใช้โค้ดด้านล่างเพื่อเรียกใช้งานฟังก์ชันและส่งข้อความ:

$token = "YOUR_BOT_TOKEN";
$chat_id = "YOUR_CHAT_ID";
$message = "Hello, Telegram!";

$response = sendTelegramMessage($token, $chat_id, $message);
echo $response;

แทนที่ YOUR_BOT_TOKEN และ YOUR_CHAT_ID ด้วยค่าจริง จากนั้นรันไฟล์ PHP และดูผลลัพธ์ที่ Telegram! 

ง่ายไหมครับ ติดตรงไหน สอบถามกันได้ครับผม

 

อ้างอิง: https://core.telegram.org/bots

เรื่องอื่น ๆ ที่เกี่ยวข้อง