Skip to main content

Kocoji's Blog

Sử dụng Telegram Bot để gửi tới Group chat Topic

Bài viết này dành cho những bạn là quản trị trên một Telegram SuperGroup⚡, có sử dụng Topic và đang tìm cách đưa bot của mình gửi vào Topics cụ thể. Nếu bạn chưa biết Topics là gì, có thể xem qua bài giới thiệu tính năng tại bài viết trên 🔗Telegram’s blog. Trường hợp như bạn đang sử dụng Telegram Client bản cũ chưa hỗ trợ Topics, bạn có thể để ý thì nội dung hiển thị trên Client này sẽ là tin nhắn mới “Reply” lại phần tin Tạo Topics của Quản trị viên.

Tóm gọn nhất về bài viết này: Sử dụng param: message_thread_id cho method: sendMesssage. Chi tiết về method sendMessage và các params khác mà bạn có thể truyền vào tại link docs của Telegram⚙️.

Như trên mình có ghi là sử dụng message_thread_id, ngoài ra thì cho bạn nào không biết thì chúng ta cũng cần thêm param chat_id, đây là 2 thuộc tính cần có để Bot chúng ta biết được nó cần gửi tin vào Group gì, và thuộc Topic nào. Vậy làm thế nào để lấy được message_thread_idchat_id? 🤔

Cũng đơn giản thôi! gần như là một bước duy nhất! Từ Telegram Client > Group > Topic, Tại thanh Tiêu đề, tìm tới nút Copy Topic link, thông tin trên clipboard sẽ có giá trị như sau: https://t.me/c/1234567890/12345

⚠️Trong đó:

  • 1234567890: là chat_id. Với Group chat thì chúng ta thêm tiền tố là -100, vậy giá trị cho chat_id cuối cùng sẽ là: -1001234567890
  • 12345: là message_thread_id

Vậy là lấy đủ 2 điều kiện tối thiểu, bạn có thể sử dụng CURL để tạo test request tới Telegram rồi, hãy nhớ cập nhật lại giá trị Telegram bot_token, chat_id, textthread_id! 😉

BOT_TOKEN="0123456789:AAHpn8JKuROKEtcLuU2LnbnOlXXXXXXXXXX"
CHAT_ID="-1001234567890"
THREAD_ID="12345"

curl -XPOST \
     -H 'Content-Type: application/json' \
     -d '{"chat_id": "$CHAT_ID","message_thread_id": "$THREAD_ID", "text": "Hello from CURL"}' \
     https://api.telegram.org/bot$BOT_TOKEN/sendMessage

Cũng đừng quên là method sendMessage còn hỗ trợ nhiều param khác, cũng như các method sendXX khác(image,poll) - như mình có dẫn link Doc của Telegram ở trên. Nếu cần thêm tính năng này, bạn có thể tham khảo và bổ sung vào sử dụng nhé! Cảm ơn bạn đã ghé thăm và đọc bài viết này!