สร้าง Telegram Bot ด้วย n8n: แจ้งเตือนและสั่งงาน
คู่มือสร้าง Telegram Bot ด้วย n8n ตั้งแต่สร้าง Bot ผ่าน BotFather จนถึงสร้าง Workflow แจ้งเตือนอัตโนมัติและรับคำสั่งจาก Telegram
Telegram Bot เป็นช่องทางที่ developer และ power user นิยมใช้สำหรับ automation notification เพราะ Telegram API ฟรี, ไม่มี rate limit ที่เข้มงวดเหมือน LINE, และ Bot API ใช้งานง่ายมาก n8n มี Telegram node สำเร็จรูปที่ส่งและรับข้อความได้โดยไม่ต้องเขียนโค้ด server เลย
สิ่งที่ต้องเตรียม
- Telegram account
- n8n instance (cloud หรือ self-host) พร้อม public URL
- เวลาประมาณ 20 นาที
ขั้นตอนที่ 1: สร้าง Telegram Bot ด้วย BotFather
BotFather คือ official bot สำหรับสร้างและจัดการ Bot บน Telegram
- เปิด Telegram แล้วค้นหา
@BotFather - พิมพ์
/newbot - ตั้งชื่อ Bot (ชื่อที่แสดง เช่น “My n8n Bot”)
- ตั้ง username ของ Bot ต้องลงท้ายด้วย
botเช่นmycompany_n8n_bot - BotFather จะส่ง Bot Token กลับมา เก็บไว้ให้ดี อย่าแชร์ให้ใคร
ตัวอย่าง token: 7234567890:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ขั้นตอนที่ 2: ตั้งค่า Telegram Credential ใน n8n
- ใน n8n ไปที่ Settings → Credentials → New
- เลือก “Telegram API”
- ใส่ Bot Token ที่ได้จาก BotFather
- กด Save
ขั้นตอนที่ 3: หา Chat ID
ก่อนส่งข้อความได้ ต้องรู้ Chat ID ของปลายทางก่อน
Chat ID ของตัวเอง (Personal Chat)
- เปิด Telegram แล้วส่งข้อความให้ Bot ที่เพิ่งสร้าง
- เปิด URL ใน browser:
https://api.telegram.org/bot<TOKEN>/getUpdates - หาค่า
message.chat.idในผลลัพธ์ (เป็นตัวเลข เช่น123456789)
Chat ID ของกลุ่ม (Group Chat)
- เพิ่ม Bot เข้ากลุ่ม Telegram ก่อน
- ส่งข้อความใดก็ได้ในกลุ่ม
- เรียก
getUpdatesเช่นเดิม Chat ID ของกลุ่มจะขึ้นต้นด้วย-เช่น-987654321
Workflow 1: ส่งแจ้งเตือนจาก n8n ไปยัง Telegram
ตัวอย่าง: แจ้งเตือนเมื่อมีออเดอร์ใหม่
Webhook Trigger (รับออเดอร์จาก WooCommerce/Shopify)
→ Set node (เตรียมข้อมูลสำหรับข้อความ)
→ Telegram node
Operation: Send Message
Chat ID: -987654321 (กลุ่ม admin)
Text: |
🛒 ออเดอร์ใหม่!
ลูกค้า: {{ $json.customer_name }}
สินค้า: {{ $json.product_name }}
ยอด: {{ $json.total }} บาท
ที่อยู่: {{ $json.shipping_address }}
ตัวอย่าง: แจ้งเตือน Server Error
Error Trigger (รับ error จาก workflow อื่น)
→ Telegram node
Chat ID: 123456789 (ส่วนตัว devops)
Text: |
⚠️ Workflow Error!
Workflow: {{ $json.workflow.name }}
Error: {{ $json.error.message }}
เวลา: {{ $now.toISO() }}
ส่ง Markdown และ HTML
Telegram รองรับ formatting ใน message ตั้ง Parse Mode เป็น Markdown หรือ HTML
Text (Markdown):
*ออเดอร์ใหม่* #{{ $json.order_id }}
- ลูกค้า: `{{ $json.name }}`
- ยอดเงิน: *{{ $json.amount }} บาท*
[ดูรายละเอียด]({{ $json.order_url }})
Workflow 2: รับคำสั่งจาก Telegram และทำงาน
Telegram Bot รับข้อความจากผู้ใช้ได้ผ่าน Webhook ทำให้ใช้ Telegram เป็น “command interface” สำหรับ trigger workflow ต่างๆ
ตั้งค่า Telegram Webhook
n8n Telegram Trigger node จัดการ Webhook registration ให้อัตโนมัติ เพียงแค่
- เพิ่ม Telegram Trigger node
- เลือก Credential
- เลือก Updates:
Message - Activate Workflow
n8n จะลงทะเบียน Webhook กับ Telegram ให้เองโดยอัตโนมัติ
ตัวอย่าง: Bot ที่รับคำสั่งและตอบกลับ
Telegram Trigger (รับทุก message)
→ IF node: text เริ่มต้นด้วย "/" (คำสั่ง)?
→ YES: Switch node (แยกตามคำสั่ง)
→ /status: HTTP Request (ดึงสถานะ server) → Telegram Reply
→ /report: Google Sheets (ดึงยอดขายวันนี้) → Telegram Reply
→ /help: Telegram Reply (แสดงรายการคำสั่ง)
→ NO: Telegram Reply "ส่ง /help เพื่อดูคำสั่ง"
Code ตรวจสอบ Command
// Code node แยกคำสั่งและ arguments
const text = $json.message.text;
const parts = text.trim().split(' ');
const command = parts[0].toLowerCase();
const args = parts.slice(1);
return [{
json: {
command,
args,
chatId: $json.message.chat.id,
userId: $json.message.from.id,
username: $json.message.from.username
}
}];
ตอบกลับ Message เดิม (Reply)
Telegram node
Operation: Send Message
Chat ID: {{ $('Telegram Trigger').item.json.message.chat.id }}
Text: รายงานยอดขายวันนี้: {{ $json.total }} บาท
Reply To Message ID: {{ $('Telegram Trigger').item.json.message.message_id }}
Workflow 3: Bot ส่งรายงานประจำวัน
Schedule Trigger (ทุกวัน 08.00)
→ Google Sheets (ดึงยอดขายเมื่อวาน)
→ Code node (คำนวณสรุป)
→ Telegram node
Chat ID: -987654321 (กลุ่ม admin)
Text: |
📊 รายงานยอดขายเมื่อวาน {{ $now.minus({days:1}).toFormat('dd/MM/yyyy') }}
ยอดขายรวม: {{ $json.total_sales }} บาท
จำนวนออเดอร์: {{ $json.order_count }} รายการ
ออเดอร์เฉลี่ย: {{ $json.avg_order }} บาท
สินค้าขายดี: {{ $json.top_product }}
เพิ่มความปลอดภัย: จำกัดผู้ใช้
ถ้า Bot เป็น private ควรตรวจสอบ User ID ก่อนทำคำสั่ง
// Code node ตรวจสอบสิทธิ์
const allowedUsers = [123456789, 987654321]; // User IDs ที่อนุญาต
const userId = $json.message.from.id;
if (!allowedUsers.includes(userId)) {
// ส่งข้อความปฏิเสธ แล้ว stop workflow
return [{ json: { authorized: false, chatId: $json.message.chat.id } }];
}
return [{ json: { authorized: true, ...($json) } }];
เคล็ดลับเพิ่มเติม
ส่งรูปภาพหรือไฟล์: Telegram node รองรับ Send Photo, Send Document, Send Video เหมาะสำหรับส่งรายงานเป็น PDF หรือส่ง screenshot
Inline Keyboard: ใช้ Reply Markup ใน Telegram node เพื่อสร้างปุ่มที่ผู้ใช้กดได้ในแชท เช่น ปุ่ม “ยืนยัน” / “ยกเลิก” สำหรับ approval workflow
Bot ใน Group vs. Private Chat: Bot ใน group จะรับข้อความได้เฉพาะที่ mention ด้วย @botusername หรือขึ้นต้นด้วย / เท่านั้น ถ้าต้องการรับทุกข้อความ ต้องให้ Bot เป็น admin ใน group
สรุป
n8n + Telegram Bot เป็น combination ที่ทรงพลังสำหรับ developer และ operator ที่ต้องการ notification system ที่ยืดหยุ่น ตั้งแต่ alert อัตโนมัติ ไปจนถึง command bot ที่ trigger workflow ได้จาก Telegram โดยตรง ทดสอบด้วย Telegram personal chat ก่อน แล้วย้ายไปใช้กลุ่มทีมเมื่อพร้อม
บทความที่เกี่ยวข้อง: n8n x Slack: แจ้งเตือนทีมอัตโนมัติ | คู่มือ Webhook ใน n8n ฉบับสมบูรณ์
อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co
Related posts
n8n x Google Calendar: จัดการนัดหมายอัตโนมัติ
ใช้ n8n สร้าง อ่าน อัปเดต และลบ Event ใน Google Calendar อัตโนมัติ เชื่อมกับ Forms, Sheets และระบบจองได้ครบ
n8n x Google Drive: จัดการไฟล์อัตโนมัติ
ใช้ n8n อัปโหลด ดาวน์โหลด คัดลอก และจัดโฟลเดอร์ไฟล์ใน Google Drive อัตโนมัติ ระบบสำรองและแจกจ่ายไฟล์
n8n x LINE: คู่มือเชื่อมต่อ LINE ทำ Automation ครบทุกวิธี
รวมทุกวิธีเชื่อมต่อ LINE กับ n8n ตั้งแต่ LINE Notify, Messaging API, Flex Message ไปจนถึง Rich Menu และ AI Chatbot