Telegram đang là một phần mềm nổi tiếng và phổ biến nhất hiện nay. Nó được nhiều công ty tin tưởng làm phần mềm chat chính. Đối với devops hay sysadmin, chúng ta có thể sẽ cần gửi các thông báo hoặc cảnh báo về hệ thống lên Telegram. Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách gửi các tin nhắn đó bằng các thư viện và cách đơn giản nhất.

Tạo Telegram bot

Bước 1: Chat với BotFather để tạo một bot

  • Tại ô Search của Telegram chọn BotFather
  • Chat /newbot vào khung chat với BotFather
  • Nhập tên cho bot. Ở đây mình chọn là test_bot
  • Chọn username cho bot. Ở đây mình chọn là TenCuaBot

Quá trình tạo bot diễn ra như sau:

Sau khi hoàn tất bạn sẽ nhận được 1 token, và ở ví dụ này của mình sẽ là: Part00000:Part1111111111111111-Part22222222222222

Bước 2: Thêm bot vào group:

  • Chọn group cần thêm
  • Chọn Add member → @your_bot. Ở ví dụ này của mình sẽ là @test_bot
  • Khởi động bot bằng cách chat với bot trong room. Ở ví dụ này của mình sẽ là /my_id @TenCuaBot

Bước 3: Lấy chat_id

Để lấy được chat_id bạn truy cập vào url sau:

https://api.telegram.org/bot[TOKEN]/getUpdates

Ví dụ https://api.telegram.org/botPart00000:Part1111111111111111-Part22222222222222/getUpdates

Tại reponse trả về kiểu json, bạn chú ý đến key có tên là result.chat.id có id bắt đầu bằng dấu - đó chính là chat_id của bạn. Hãy note lại token có được ở Bước 1 và chat_id này nhé. Ở ví dụ này chat_id của mình là -123456789123

Gửi cảnh báo tới Telegram qua API

Sử dụng luôn chính trình duyệt của bạn với method GET của http với cú pháp sau:

https://api.telegram.org/bot[TOKEN]/sendMessage?chat_id=[CHAT_ID]&text=[MY_MESSAGE_TEXT]

Gửi cảnh báo sử dụng curl

Nếu bạn muốn gửi cảnh báo bằng câu lệnh như curl bạn có thể tham khảo:

curl -X POST "https://api.telegram.org/bot[TOKEN]/sendMessage" -d "chat_id=[CHAT_ID]&text=[MY_MESSAGE_TEXT]"

Gửi cảnh báo sử dụng thư viện python-telegram-bot của python

Có rất nhiều thư việc của python hỗ trợ việc gửi message lên telegram. Sau đây mình sẽ sử dụng một thư viện dễ dùng và đơn giản nhất của python.

Cài đặt thư viện:

pip install python-telegram-bot

Sau đây là 1 đoạn code mẫu bạn có thể tham khảo:

import telegram
import random
def send_test_message():
    try:
        random_number = random.randint(0, 1000)
        telegram_notify = telegram.Bot("[TOKEN]")
        message = "`Số random là {}`".format(random_number) 
    
        telegram_notify.send_message(chat_id="[CHAT_ID]", text=message,
                                parse_mode='Markdown')
    except Exception as ex:
        print(ex)
send_test_message()

Tổng kết

Bạn đã tìm hiểu các cách có thể gửi tin nhắn lên Telegram. Nếu có bất kì thắc mắc hoặc câu hỏi gì, xin để lại bình luận.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments