Telegram - một ứng dụng nhắn tin phổ biến rất nhiều người biết đến. Cá nhân sử dụng Telegram từ nhiều năm về trước, ngay từ lần đầu tiên dùng, Telegram đã chiếm trọn cảm tình vì giao diện đơn giản, tập trung vào gọi điện, nhắn tin, nhanh và hỗ trợ đa nền tảng.
Ngoài gọi điện, nhắn tin trao đổi đôi bên, Telegram còn có chức năng trò chuyện qua Nhóm (Group) hoặc Kênh (Channel). Group thì quá quen thuộc rồi, thêm nhiều người vào cuộc hội thoại để cùng nhau trò truyện. Còn Channel là nơi một người nói, vạn người nghe, tham gia vào một kênh để liên tục cập nhật thông tin mới nhất từ người chủ của kênh đó.
Một điều đặc biệt ở Telegram mà nhiều ứng dụng nhắn tin khác không có là hỗ trợ API. Tức là thay vì trò chuyện trực tiếp qua ứng dụng, có thể gọi API để tương tác với cuộc hội thoại, thậm chí là cả Grop hoặc Channel. Không quá ngạc nhiên khi Telegram sản sinh ra rất nhiều con "BOT" - khái niệm để chỉ người dùng không phải là người thật, mà chỉ được lập trình để thực hiện một tác vụ nào đó.
Là một ứng dụng nhắn tin miễn phí, hỗ trợ API, nhanh, không giới hạn dung lượng. Nếu có thể "biến" Telegram thành một kênh thông báo lỗi, theo dõi hệ thống, hay bất kỳ thông tin gì muốn gửi đi ngay lập tức cho nhiều người thì thật là hữu ích. Thật vậy, ngay từ những ngày đầu lập trình tôi đã tham gia vào nhiều hệ thống có sử dụng cảnh báo thông qua Telegram. Vì thế hôm nay, chúng ta hãy cùng nhau tìm hiểu cách tận dụng Telegram trở thành một kênh gửi nhận thông báo tức thì nhé.
Như đã nói Telegram có sẵn API và tài liệu cho việc tích hợp. Bạn đọc tham khảo Telegram APIs. Trong mục này, đáng chú ý là phần Telegram Bot API. Bởi vì sử dụng BOT là cách nhanh nhất để tương tác với Group hoặc Channel. Về cơ bản, bạn có thể điều khiển được BOT thông qua API để gửi tin nhắn. Nhưng để BOT gửi được tin nhắn, trước tiên phải thêm nó vào một nhóm chat hoặc kênh.
BOT có vai trò giống như một người thông thường, nó được tạo ra từ tài khoản người dùng. Khi được thêm vào Channel, BOT có thể gửi tin nhắn vào Channel thông qua API. Thông thường trong hệ thống cảnh báo chỉ cần một người nói và nhiều người nghe, điều này rất phù hợp với tính chất của Channel trong Telegram. Chỉ cần tạo một kênh, đặt tên cho nó, thêm tất cả những người muốn nhận thông báo nào, thêm BOT vào, cho nó quyền gửi tin nhắn và bắt đầu viết mã để BOT tự động gửi thông báo vào kênh.
Các bước thực hiện rất đơn giản. Bạn cần có một tài khoản Telegram.
Đầu tiên cần phải tạo ra một con BOT. Bấm vào @BotFather, chọn "Bắt đầu" rồi nhập vào khung chat /newbot
và làm theo hướng dẫn để hoàn thành việc tạo BOT.
Sau khi tạo BOT thành công bạn sẽ lấy được token
của BOT, sao chép lại cất ở đâu đó.
Tiếp theo thêm mới một kênh.
Thêm BOT vào channel bằng cách bấm vào Tên channel > Subscribers > Add Subscribers > Chọn BOT vừa tạo.
Tiếp theo cần lấy được id
của kênh bằng cách vào Channel > Edit > Invite Links > Sao chép lại Invite Link.
Gửi địa chỉ vừa sao chép vào @username_to_id_bot để xem id
của Channel. Chúng ta cần id
của kênh để sử dụng trong API gửi tin nhắn.
id
là -1001828347283
.
Vậy là xong. Bây giờ hãy thử gọi API sendMessage
thử xem.
$ curl --location --request POST 'https://api.telegram.org/bot5907053822:AAHUed6Tp_XUqnweDYc8ghuZJihf6mtG_X0/sendMessage' \
--header 'Content-Type: application/json' \
--data-raw '{
"chat_id": "-1001828347283",
"text": "Hello World",
"parse_mode": "html"
}'
{"ok":true,"result":{"message_id":3,"sender_chat":{"id":-1001828347283,"title":"2COFFEE DEMO","type":"channel"},"chat":{"id":-1001828347283,"title":"2COFFEE DEMO","type":"channel"},"date":1669134411,"text":"Hello World"}}
Ngay lập tức bạn sẽ thấy tin nhắn gửi đến kênh.
Tạo một hàm sendMessage
để dùng trong dự án.
sendMessage(token: string, chatId: string, message: string) {
return this.http.post({
path: `/bot${token}/sendMessage`,
data: {
chat_id: chatId,
text: message,
parse_mode: "html",
}
});
}
Vì là một dịch vụ nhắn tin cho nên Telegram có một số giới hạn đối với BOT đối với API. Ví dụ như mỗi tài khoản người dùng không thể tạo quá 20 BOTs. Tránh gửi hơn 1 tin nhắn trong vòng 1 giây, tránh gửi quá 20 tin nhắn mỗi phút đến cùng một nhóm hoặc kênh...
Để biết thêm thông tin chi tiết, bạn đọc tham khảo Bots FAQ hoặc Telegram Limits.
Bí mật ngăn xếp của Blog
Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!
Đăng ký nhận thông báo bài viết mới
Bình luận (2)