Telegram Bot tự động - Tạo Bot Telegram đầu tiên
Telegram là một nền tảng nhắn tin khá phổ biến vì nó miễn phí, nhanh, lưu trữ không giới hạn.
Tuy nhiên, có thể bạn chưa biết, Telegram còn hỗ trợ tạo bot, viết code để đọc/gửi tin nhắn tự động. Rất nhiều anh em sử dụng Telegram để quản lý quy trình vì nó có rất nhiều ưu điểm:
- API miễn phí: Không giới hạn tin nhắn hay files ảnh, video, audio... (khác với SMS tốn phí!)
- Dễ cài đặt: Việc tạo bot, cài đặt cho bot trò chuyện chỉ mất 10-15 phút (nhanh và dễ hơn nhiều so với Facebook/Zalo...)
- Real-time: Xử lý tin nhắn và trả lời ngay lập tức, không cần chờ phải hay refresh
- Security cao: End-to-end encryption, an toàn gần như tuyệt đối
- Interactive: Tạo buttons/link để tương tác ngay trong chat
Với n8n, bạn có thể tạo Telegram Bot để đọc/gửi tin nhắn tự động, tích hợp với các hệ thống khác mà không cần viết dòng code nào luôn!

Tạo Bot Telegram với BotFather
Trước khi có thể tích hợp Telegram với n8n, bạn cần tạo một con bot Telegram để gửi/nhận tin nhắn.
Quá trình này cũng khá đơn giản. Bạn sẽ sử dụng BotFather. Đây là "ông trùm" quản lý tất cả bot trên Telegram. Bạn cần "xin phép" nó để tạo con bot của riêng mình!
1. Gặp gỡ BotFather
-
Mở Telegram và tìm @BotFather

-
Bắt đầu cuộc trò chuyện (gõ
/start):
-
Yêu cầu tạo bot mới (gõ
/newbothoặc bấm vào command/newbottrong tin nhắn là được):
2. Điền thông tin cho bot
Bạn sẽ lần lượt trả lời 2 tin nhắn của BotFather để tạo Bot.
-
BotFather sẽ hỏi tên bot (Tên gì cũng được):
👤 BotFather: How are we going to call it? 🧑💻 Bạn gõ: N8N Course Bot (hoặc tên gì tuỳ bạn) -
BotFather sẽ hỏi username (phải kết thúc bằng "bot", nếu không sẽ không tạo được):
👤 BotFather: Now let's choose a username. It must end in `bot`. 🧑💻 Bạn gõ: n8n_course_bot
Xong rồi đây, bạn sẽ nhận được Bot Token và một link của bot đã tạo (Ví dụ <t.me/n8n_course_bot>):
🔑 Use this token to access the HTTP API:
1234567890:ABCdefGHIjkXXXXwxYZ1234567890
🔒 Bot Token này quan trọng như mật khẩu để n8n hoặc các chương trình khác ra lệnh cho bot của bạn. Nhớ giữ kĩ chứ đừng để lộ nhé!
Nếu quên, bạn có thể tìm lại BotFather, sau đó tuỳ chỉnh bot hoặc lấy lại token bằng lệnh /mybot, sau đó bấm vào API token để lấy lại:

3. Kết nối n8n với Telegram Bot
-
Từ trang chủ, bấm dấu
+ở góc trên bên trái ->Credentials -
Tìm
Telegram API
-
Dán
Bot Tokenvừa lấy được vào ôAccess Token:
-
Đặt tên cho credential ở góc trên bên trái, sau đó bấm nút
Save. n8n sẽ thử kết nối với bot của bạn.
Nếu thấy hiện
Connection tested successfullynhư trong hình là ok rồi! n8n đã có thể tích hợp với bot của bạn để bắt đầu nhận tin nhắn, tự động trả lời.
Thử nhận tin nhắn từ Telegram
Từ n8n, bạn có thể tích hợp với Telegram để gửi tin nhắn, hình ảnh, file, và nhiều tính năng khác. Có 2 nhóm tính năng chính:
Triggers: Kích hoạt Workflow khi có tin nhắn mới cho bot hoặc trong channel, hoặc khi người dùng bấm nút chọnActions: Gửi tin nhắn, hình ảnh, file, ...
Trong bài này, ta sẽ thử nhận tin nhắn từ Telegram với Trigger (on message) node.
Trigger (on message) - Kích hoạt Workflow khi có tin nhắn mới
-
Tạo workflow đơn giản. Bấm vào
Add First Step->On app event-> Gõ tìmTelegram-> ChọnTrigger (on message)
-
Bấm
Execute step. n8n sẽ chờ tin nhắn mới từ Telegram để kích hoạt workflow.
-
Từ Telegram, gửi tin nhắn bất kì (hoặc
/startđể test) cho bot của bạn -
Quay lại n8n, bạn sẽ thấy workflow đã được kích hoạt.
- Output sẽ bao gồm các thông tin về tin nhắn đã nhận được (thông tin người gửi, thời gian, tin nhắn, ...)

- Output sẽ bao gồm các thông tin về tin nhắn đã nhận được (thông tin người gửi, thời gian, tin nhắn, ...)
Output của node Trigger (on message)
Đây là output của node Trigger (on message).
[
{
"update_id": 744628102,
"message": {
"message_id": 780,
"from": {
"id": 622132332,
"is_bot": false,
"first_name": "Harry",
"last_name": "Pham",
"username": "codedao",
"language_code": "en"
},
"chat": {
"id": 622132332,
"first_name": "Harry",
"last_name": "Pham",
"username": "codedao",
"type": "private"
},
"date": 1764600952,
"text": "/start",
"entities": [
{
"offset": 0,
"length": 6,
"type": "bot_command"
}
]
}
}
]
Đây là một số trường quan trọng mà các bạn cần lưu ý.
| Trường | Ý nghĩa | Giá trị mẫu |
|---|---|---|
message.message_id |
ID của tin nhắn trong cuộc trò chuyện (dùng để edit/xoá) | 780 |
message.from.id |
ID của người gửi tin nhắn | 622132332 |
message.from.username |
Username Telegram của người gửi | codedao |
message.chat.id |
Chat ID - quan trọng nhất, dùng để reply hoặc gửi tin | 622132332 |
message.chat.type |
Loại chat: private, group, supergroup, hoặc channel |
private |
message.date |
Thời gian gửi tin nhắn | 1764600952 |
message.text |
Nội dung tin nhắn | /start |
message.entities |
Các thành phần đặc biệt trong tin nhắn (commands, links, mentions...) |
Mỗi cuộc trò chuyện giữa người dùng và bot được tính là 1 chat. Để gửi tin nhắn, bạn cần biết Chat ID để bot biết gửi tin nhắn vào cuộc trò chuyện nào!
- Nếu bạn invite bot vào 1 group, ta sẽ có
Chat IDđể gửi vào group đó. - Nếu bạn dùng
Telegramđể gửi tin nhắn tới account Telegram cá nhân, hãy lưu Chat ID này lại để dùng nó trong tất cả workflow gửi tin nhắn. (Chat ID này lộ cũng không quá nguy hiểm, vì phải có token mới gửi được tin nhắn)
Tạm kết
Sau bài học này, bạn đã biết cách tạo, cấu hình Telegram Bot và thử đọc tin nhắn được gửi tới.
Ở bài tiếp theo, chúng ta sẽ học thêm về cách gửi lại tin nhắn, tạo workflow cơ bản và một số điểm cần lưu ý khi dùng Telegram Node.
