Bước 1. Tạo Telegram Bot
1. Mở BotFather
Tìm bot chính thức:
@BotFather
2. Tạo bot
Gửi lệnh
/newbot
BotFather sẽ yêu cầu:
Đặt tên bot
Ví dụ
Salekit Notification
Đặt Username
Ví dụ
salekit_notify_bot
Điều kiện:
- Phải duy nhất
-
Kết thúc bằng
bothoặcBot -
Chỉ gồm chữ, số và dấu
_
Ví dụ hợp lệ
salekit_notify_bot
SalekitNotifyBot
3. Nhận Bot Token
BotFather sẽ trả về
Done! Congratulations on your new bot.
Use this token to access the HTTP API:
123456789:AAExxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Đây là Bot Token dùng để gọi Telegram API.
Bước 2. Kiểm tra Bot
Mở
https://t.me/<username_bot>
Ví dụ
https://t.me/salekit_notify_bot
Nhấn
Start
Sau khi người dùng nhấn Start, bot mới được phép gửi tin nhắn cho người đó.
Trường hợp 1: Gửi tin nhắn cho một người
Bước 1. Người dùng nhấn Start
Ví dụ
https://t.me/salekit_notify_bot
↓
Start
↓
Bot đã được phép gửi tin.
Bước 2. Lấy chat_id
Gọi API
curl "https://api.telegram.org/bot<TOKEN>/getUpdates"
Ví dụ kết quả
{
"ok": true,
"result": [
{
"message": {
"chat": {
"id": 837611133,
"first_name": "Lien",
"type": "private"
}
}
}
]
}
Trong đó
chat_id = 837611133
Lưu giá trị này vào database.
Bước 3. Gửi tin nhắn
curl -X POST "https://api.telegram.org/bot<TOKEN>/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id":837611133,
"text":"Xin chào từ Telegram Bot!"
}'
Trường hợp 2: Gửi tin nhắn vào Group
Bước 1. Thêm bot vào Group
Vào Group
Add Members
↓
Tìm
@salekit_notify_bot
↓
Add
Bước 2. (Khuyến nghị) Thêm bot làm Admin
Trong Group
Group Info
↓
Administrators
↓
Add Admin
↓
Chọn Bot
Nếu chỉ gửi tin nhắn thì thông thường bot không cần toàn quyền quản trị, nhưng việc thêm làm Admin sẽ giúp tránh một số giới hạn trong nhóm hoặc supergroup.
Bước 3. Gửi một tin nhắn bất kỳ trong Group
Ví dụ
hello
Bước 4. Lấy chat_id của Group
curl "https://api.telegram.org/bot<TOKEN>/getUpdates"
Ví dụ
{
"ok": true,
"result": [
{
"message": {
"chat": {
"id": -1001234567890,
"title": "Salekit Test",
"type": "supergroup"
}
}
}
]
}
Trong đó
chat_id = -1001234567890
Lưu lại giá trị này.
Bước 5. Gửi tin nhắn
curl -X POST "https://api.telegram.org/bot<TOKEN>/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id":-1001234567890,
"text":"Xin chào mọi người!"
}'
Một số API thường dùng
Lấy thông tin bot
curl "https://api.telegram.org/bot<TOKEN>/getMe"
Lấy webhook
curl "https://api.telegram.org/bot<TOKEN>/getWebhookInfo"
Xóa webhook (để dùng getUpdates)
curl "https://api.telegram.org/bot<TOKEN>/deleteWebhook"
Lấy các cập nhật
curl "https://api.telegram.org/bot<TOKEN>/getUpdates"
Lưu ý quan trọng
1. Bot không thể chủ động nhắn cho người chưa Start
Nếu người dùng chưa từng nhấn Start, khi gọi sendMessage sẽ nhận lỗi:
{
"ok": false,
"error_code": 403,
"description": "Forbidden: bot can't initiate conversation with a user"
}
2. Bot phải được thêm vào Group trước
Nếu bot chưa tham gia Group thì không thể gửi tin nhắn.
3. chat_id của Group luôn là số âm
Ví dụ
-1001234567890
4. chat_id của người dùng là số dương
Ví dụ
837611133
Luồng hoạt động đề xuất cho hệ thống (Fchat/Salekit)
Merchant
│
│ Tạo Bot bằng BotFather
▼
Nhập Bot Token vào hệ thống
│
▼
Hệ thống gọi setWebhook
│
▼
Telegram
│
├── Người dùng nhấn Start
│ │
│ └── Webhook trả về chat_id của người dùng
│
└── Bot được thêm vào Group hoặc có tin nhắn trong Group
│
└── Webhook trả về chat_id của Group
│
▼
Lưu chat_id vào Database
│
▼
Gọi sendMessage(chat_id, text)
│
▼
Telegram gửi tin nhắn tới người dùng hoặc Group


Nhận xét
Đăng nhận xét