Development

ส่งการแจ้งเตือนไปยัง Telegram Bot ด้วย N8N

แนะนำวิธีการเชื่อมต่อ Telegram Bot และ N8N เพื่อส่งการแจ้งเตือนไปยัง Telegram สำหรับมือใหม่

Telegram Bot คืออะไร

หลังจากที่ Line Notify ประกาศยุติการให้บริการไป Telegram ก็ขึ้นมาเป็นอันดับต้น ๆ ของการทำ Notification เนื่องด้วยเหตุผลหลัก ๆ คือ FREE และใช้งานส่งได้ไม่จำกัด แต่ผมเองจริง ๆ ย้ายมาใช้ Telegram ได้หลายปีแล้วครับ ช่วงแรก ๆ ก็ใช้ Line Notify แล้วก็ไปใช้ Discord แทน สุดท้ายมาจบที่ Telegram เพราะว่าต้องการจะใช้ Line เฉพาะคุยเรื่องส่วนตัว (ไม่อยากใช้ Line ในการทำงาน) ส่วน Discord ก็อยากเอาไว้ใช้ในการพูดคุยกับเพื่อน ๆ มากกว่า

ข้อดีของ Telegram Bot หลัก ๆ ในส่วนของการพัฒนาถือว่าง่ายมากครับมีทั้งแบบ Polling และ Webhook ให้ใช้งาน หลัง ๆ มาเลยใช้แต่ Telegram เป็นหลักเลยครับ

วิธีการสร้าง Telegram Bot

ทำการ Add telegram ที่ชื่อว่า "BotFather" สามารถสแกน QR Code นี้ได้เลยครับผม โดยที่ BotFater จะเป็น Chat Bot ที่เอาไว้ใช้ในการสร้าง/จัดการ Bot ของเราเองนะครับ

จากนั้นใช้ command /newbot เพื่อเป็นการเริ่มขั้นตอนในการสร้าง Bot ตัวใหม่ขึ้นมา แล้วจะมีการถามชื่อของ Bot ที่เราต้องการจะสร้างขึ้นมานะครับ

เมื่อส่งชื่อไปแล้ว จะมีการถาม username ที่ต้องการใช้งาน ซึ่งจำเป็นต้องมีคำว่า bot ต่อท้าย เช่น demo_n8n_bot หรือ DemoN8NBot

จากนั้นจะได้รับ Token สำหรับจัดการ Bot มานะครับ ซึ่งตรงนี้ต้องรักษาเป็นความลับอย่างดี เพราะถ้าหากมีคนได้ Token นี้ไปจะทำให้สามารถเข้าถึงข้อมูลของ Bot ได้ครับ Copy เอา Token เก็บไว้ แล้วกดตรง t.me/<username> เพื่อไปยัง Chat กับ Bot ได้เลย

จากนั้นเปิด browser แล้วไปที่ https://api.telegram.org/bot<TOKEN>/getUpdates โดยให้แทนที่ <TOKEN> ด้วย token ที่ copy เอาไว้ได้เลยครับ

จากนั้นให้ลองส่ง message อะไรก็ได้ไปยัง telegram bot ของเรา เพื่อค้นหา chat id เพื่อนำไปใช้งานใน N8N

หลังจากพิมพ์เสร็จแล้วเมื่อ refresh หน้าเว็บดูจะพบกับข้อมูลนะครับ ถ้าขึ้นแบบนี้แสดงว่าถูกต้อง แต่ถ้าไม่ขึ้นอาจจะลองเชค URL ดูว่าใส่ token ลงไปถูกรึเปล่า โดย chat id จะอยู่ที่ chat: {id} ตามที่วงเอาไว้ สามารถ copy เก็บไว้ได้เลยครับ

เข้าไปที่ N8N และเลือก Node Send a text message ของ telegram

กดสร้าง Credential ใหม่ และนำ Token จาก Bot Father มาใส่

จากนั้นกรอก Chat ID ที่ copy เก็บเอาไว้และกด "Test Step" ได้เลยครับ

เพียงเท่านี้ก็จะสามารถส่งการแจ้งเตือนไปยัง Telegram ของเราด้วย Telegram Bot ได้แล้ว

สรุป

การส่งแจ้งเตือนไปยัง Telegram Bot ต้องการข้อมูล 2 อย่างคือ Telegram Token และ Chat ID ซึ่งเป็น Chat ของผู้ใช้งานที่ต้องการส่งข้อความไป โดยวิธีนี้ไม่จำเป็นต้องตั้งค่า Webhook ของ Telegram นะครับ ง่าย ๆ และใช้งานได้จริง ย้ายมาใช้ Telegram กันเยอะ ๆ นะครับ ของดีจริง

Related Articles

Simple Paginate
Development

Simple Paginate

Code ตัวอย่างคือการใช้งานใน Express + Typescript + Mongoose
ตั้งค่าให้สามารถเชื่อมต่อ Local Network ได้ ตอนที่เชื่อม openvpn
Development

ตั้งค่าให้สามารถเชื่อมต่อ Local Network ได้ ตอนที่เชื่อม openvpn

แก้ไขไฟล์ openvpn config หากมีการ import เข้าไปใน openvpn gui แล้วสามารถค้นหาไฟล์การตั้งค่าได้ที่
วิธีการลบ .env file ออกจาก git แบบถูกวิธี
Development

วิธีการลบ .env file ออกจาก git แบบถูกวิธี

สมมติว่าเราเผลอ commit ไฟล์ .env ที่มี API key ไปแล้ว และ push ขึ้น GitHub เราต้องรีบลบมันออกทันที เพราะข้อมูลอาจถูกนำไปใช้ได้