Dịch vụ này hoạt động như một proxy trong suốt cho API Telegram Bot. Nó cho phép bạn bỏ qua các hạn chế mạng và tạo middleware cho các ứng dụng bot Telegram của mình.
Để sử dụng proxy này, bạn chỉ cần thay thế api.telegram.org
bằng URL của worker này trong các lệnh gọi API của mình.
💡
Ví dụ:
URL API Telegram gốc:
https://api.telegram.org/bot{YOUR_BOT_TOKEN}/sendMessage
Sử dụng proxy này:
https://telegramvn.click/bot{YOUR_BOT_TOKEN}/sendMessage
Kiểm tra Thông tin Bot
Nhập token bot của bạn bên dưới và nhấp vào "Kiểm tra Kết nối" để xác minh kết nối với API Telegram thông qua proxy.
Kết quả sẽ hiển thị ở đây...
Tính năng
Proxy này cung cấp các tính năng sau để nâng cao trải nghiệm phát triển bot của bạn:
- Hỗ trợ tất cả các phương thức API Telegram Bot.
- Xử lý cả yêu cầu GET và POST.
- Hỗ trợ CORS đầy đủ cho các ứng dụng dựa trên trình duyệt.
- Proxy trong suốt các phản hồi: Các phản hồi từ Telegram được chuyển tiếp trực tiếp mà không bị thay đổi.
- Duy trì mã trạng thái và tiêu đề gốc từ phản hồi của Telegram.
Sử dụng Nâng cao
Proxy này linh hoạt để hỗ trợ nhiều trường hợp sử dụng nâng cao:
Xử lý Webhook
Bạn có thể cấu hình Telegram Webhook của mình để trỏ trực tiếp đến URL proxy của worker. Điều này hữu ích nếu máy chủ của bạn bị giới hạn mạng hoặc bạn muốn xử lý các yêu cầu webhook thông qua một điểm cuối proxy:
https://api.telegram.org/bot{YOUR_BOT_TOKEN}/setWebhook?url=https://telegramvn.click/bot{YOUR_BOT_TOKEN}/webhook
Tải lên Tệp
Proxy này hỗ trợ tải lên tệp thông qua các phương thức API Telegram như sendPhoto
, sendDocument
, v.v. Đảm bảo rằng yêu cầu của bạn sử dụng multipart/form-data
đúng cách.
Tải xuống Tệp
Để tải xuống tệp được gửi từ Telegram (ví dụ: sau khi gọi getFile
), bạn có thể sử dụng endpoint /file/bot{token}/{file_path}
thông qua proxy:
Bước 1: Lấy đường dẫn tệp từ Telegram (ví dụ: thông qua phương thức getFile
):
https://telegramvn.click/bot{YOUR_BOT_TOKEN}/getFile?file_id={FILE_ID}
Bước 2: Sử dụng đường dẫn tệp đã nhận để tải xuống tệp:
https://telegramvn.click/file/bot{YOUR_BOT_TOKEN}/{FILE_PATH_FROM_GETFILE_RESPONSE}
Lưu ý Quan trọng
⚠️
Bảo mật Token: Proxy này hoàn toàn trong suốt. Nó không lưu trữ, ghi nhật ký hoặc sửa đổi các token bot của bạn. Tất cả các yêu cầu được chuyển tiếp trực tiếp đến máy chủ API của Telegram. Tuy nhiên, hãy luôn bảo vệ token bot của bạn và không bao giờ chia sẻ công khai.
ℹ️
Lưu ý về Bộ nhớ Cache: Trang tài liệu này được cấu hình để lưu vào bộ nhớ cache trong 1 giờ (Cache-Control: public, max-age=3600
). Nếu bạn thực hiện các thay đổi đối với worker và không thấy chúng ngay lập tức, hãy thử xóa bộ nhớ cache của trình duyệt hoặc đợi một thời gian.
Khắc phục Sự cố
Nếu bạn gặp sự cố khi sử dụng proxy, hãy xem xét các điểm sau:
- Kiểm tra URL Worker: Đảm bảo rằng bạn đang sử dụng đúng URL của worker đã triển khai.
- Token Bot Chính xác: Xác nhận rằng token bot trong yêu cầu của bạn là chính xác và hợp lệ.
- Kết nối Mạng: Đảm bảo rằng môi trường nơi bot của bạn đang chạy có thể truy cập được URL của worker.
- Kiểm tra Nhật ký Worker: Nếu bạn đang sử dụng Cloudflare Workers hoặc một dịch vụ tương tự, hãy kiểm tra nhật ký của worker để biết bất kỳ lỗi nào được ghi lại.
- Định dạng Yêu cầu: Đảm bảo rằng yêu cầu của bạn tuân thủ định dạng API Telegram Bot (ví dụ: sử dụng
application/json
cho các yêu cầu POST với JSON).
Ví dụ Mã
Dưới đây là một ví dụ JavaScript đơn giản về cách gửi tin nhắn bằng proxy:
// Ví dụ JavaScript
fetch('https://telegramvn.click/bot{YOUR_BOT_TOKEN}/sendMessage', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
chat_id: "123456789",
text: "Xin chào từ Proxy API Telegram Bot!"
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Lỗi khi gửi tin nhắn:', error));
// Ví dụ cURL
// curl -X POST \
// -H "Content-Type: application/json" \
// -d '{"chat_id": "123456789", "text": "Xin chào từ cURL qua proxy!"}' \
// https://telegramvn.click/bot{YOUR_BOT_TOKEN}/sendMessage
Ví dụ nâng cao: Xử lý dữ liệu phản hồi (Array Cyber)
Ví dụ này minh họa cách lấy các cập nhật (updates) từ Telegram và duyệt qua chúng, giả định bạn đang xử lý một "mảng" các sự kiện hoặc tin nhắn. Điều này thường là cần thiết trong các ứng dụng bot phức tạp hơn.
// Ví dụ JavaScript: Lấy và xử lý cập nhật
async function processUpdates(workerUrl, botToken) {
const proxyUrl = `https://${workerUrl}/bot${botToken}/getUpdates`;
try {
const response = await fetch(proxyUrl);
const data = await response.json();
if (response.ok && data.ok && data.result && Array.isArray(data.result)) {
console.log('Tổng số cập nhật:', data.result.length);
data.result.forEach(update => {
console.log('ID cập nhật:', update.update_id);
if (update.message) {
console.log('Tin nhắn từ:', update.message.from.first_name);
console.log('Nội dung:', update.message.text);
} else if (update.callback_query) {
console.log('Callback Query từ:', update.callback_query.from.first_name);
console.log('Dữ liệu:', update.callback_query.data);
}
// Thêm logic xử lý cho các loại cập nhật khác ở đây
});
return data.result; // Trả về mảng các cập nhật
} else {
console.error('Phản hồi không hợp lệ hoặc không có kết quả:', data);
return null;
}
} catch (error) {
console.error('Lỗi khi lấy cập nhật:', error);
return null;
}
}
// Cách gọi:
// const YOUR_WORKER_URL = window.location.host; // Thay thế bằng URL worker thực tế của bạn
// const YOUR_BOT_TOKEN = 'YOUR_BOT_TOKEN_CỦA_BẠN'; // Thay thế bằng token bot của bạn
// processUpdates(YOUR_WORKER_URL, YOUR_BOT_TOKEN);