TopDev

Cách tạo BOT telegram khi bị chặn tại Việt Nam

minhu 📖 4 phút đọc 💬 2 phản hồi

Để tạo và sử dụng Bot Telegram khi bị chặn tại Việt Nam, bạn cần vượt qua rào cản kết nối do việc chặn Telegram. Dưới đây là hướng dẫn chi tiết, gồm 2 phần:



🔐 Phần 1: Vượt chặn Telegram để tạo và quản lý bot#

✅ Cách 1: Dùng VPN (đơn giản và hiệu quả nhất)#

  • Cài đặt VPN trên máy tính hoặc điện thoại.

    Gợi ý VPN miễn phí: ProtonVPN, Windscribe, Psiphon.

    • VPN trả phí: NordVPN, ExpressVPN, Surfshark.
  • Kết nối tới máy chủ nước ngoài (Singapore, Nhật, Mỹ…).

  • Mở Telegram => Tìm đến @BotFather để tạo bot như bình thường.

✅ Cách 2: Dùng Telegram bản Portable hoặc bản Mod#

  • Một số bản Telegram "mod" (phiên bản sửa đổi) hoặc bản "Portable" có thể vượt chặn.

  • Tìm Telegram bản Portable từ các diễn đàn công nghệ như Reddit, GitHub (nhưng cẩn thận virus).

✅ Cách 3: Dùng Telegram Web thông qua proxy/VPN#



🤖 Phần 2: Tạo Telegram Bot#

Bước 1: Mở @BotFather#

Gõ trên Telegram: @BotFather → Bấm Start

Bước 2: Tạo bot mới#

Gõ lệnh:

/newbot

BotFather sẽ hỏi bạn:

  • Tên bot (hiển thị): Gõ tên bất kỳ, ví dụ: Trợ Lý Ảo

  • Username bot: Phải kết thúc bằng bot, ví dụ: TroLyAoBot

Sau đó bạn sẽ nhận được Token API, trông như sau:

123456789:AAH-HRANDOMSTRINGANDMORE



🛠️ Phần 3: Kết nối bot với mã nguồn (NodeJS, Python, Java…)#

Ví dụ Python dùng python-telegram-bot:

` from telegram.ext import ApplicationBuilder, CommandHandler

async def start(update, context): await update.message.reply_text("Xin chào! Tôi là trợ lý ảo của bạn.")

app = ApplicationBuilder().token("TOKEN_BOT_CỦA_BẠN").build() app.add_handler(CommandHandler("start", start)) app.run_polling() `

Lưu ý: Bạn cần chạy đoạn code này trên máy chủ hoặc máy tính có thể kết nối được Telegram, nghĩa là:

  • Chạy server ở nước ngoài (VD: thuê VPS Singapore)

  • Hoặc chạy tại Việt Nam nhưng qua proxy/VPN



🧠 Gợi ý thêm:#

  • Nếu bạn cần tạo bot nhắn tin tự động, trả lời người dùng, lưu trữ dữ liệu => có thể kết hợp với Firebase, MongoDB, hoặc Google Sheets.

  • Nếu bạn không muốn tự code, có thể dùng nền tảng như Manybot, Chatfuel, Teleflow (nhiều nền tảng nước ngoài, cần VPN để truy cập).

2 phản hồi

  1. minhu #1

    Hiện nay Telegram đang chặn ở VN nên anh em ko thế call đc api của tele Đây là giải pháp mình đang làm

    Bước 1: Cần có server mà việt nam không chặn (server ngoài việt nam) Bước 2: post https://api.telegram.org/bot bị chặn Bước 3: Xây dựng API trung giam

    ` public static void SendAlertTelegram(String content) {
    try { String strTeleContentChat = content; String strBotCode = "813014xxxxxxxx:AAFN-F2QZ75SJzH76EwRg5Vxxxxxxxxx;
    String strGroupID = "-1002480153xxx";
    String strJson = "{"chat_id": "" + strGroupID + "", "text": "" + strTeleContentChat + "", "disable_notification": false }"; PostJsonApiTelegram(strJson, "https://api.telegram.org/bot" + strBotCode + "/sendMessage"); } catch (Exception e) { }
    }

    public static String PostJsonApiTelegram(String data, String strUrl) {

        HttpClient httpClient = null;
        HttpPost post = null;
        InputStream inputStream = null;
        String responseStr = "";
        try {
            String postUrl = strUrl;
            System.out.println("---postUrl:" + postUrl + "-----");
            httpClient = HttpClientBuilder.create().build();
            post = new HttpPost(postUrl);
            StringEntity entity = new StringEntity(data, ContentType.APPLICATION_JSON);
            post.setEntity(entity);
            post.addHeader("Content-Type", "application/json; charset=utf-8");
            HttpResponse response = httpClient.execute(post);
            int status = response.getStatusLine().getStatusCode();
            if (status != 200) {
                System.out.println("status != 200 ");
            }
            HttpEntity entity2 = response.getEntity();
            if (entity2 != null) {
                String webpage = EntityUtils.toString(entity2, StandardCharsets.UTF_8);
                responseStr = webpage;
            }
            return responseStr;
        } catch (Throwable e) {
            e.printStackTrace();
        } finally {
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return responseStr;
    }
    

    `

    Sửa https://api.telegram.org/bot => http://domaincuaban.com/api => hứng các nội dung và gửi đi

  2. minhu ✎ đã sửa #2

    Code PHP nếu bạn nào cần

    ` <?php // Bật hiển thị lỗi (chỉ bật khi dev) ini_set('display_errors', 1); error_reporting(E_ALL);

    // Kiểm tra phương thức POST if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Lấy dữ liệu JSON từ body $input = json_decode(file_get_contents("php://input"), true);

    if (isset($input['content']) && !empty($input['content'])) {
        $content = $input['content'];
        $result = sendAlertTelegram($content);
        
        echo json_encode([
            'status' => 'success',
            'message' => 'Tin nhắn đã được gửi.',
            'telegram_response' => $result
        ]);
    } else {
        http_response_code(400);
        echo json_encode([
            'status' => 'error',
            'message' => 'Trường content bị thiếu hoặc rỗng.'
        ]);
    }
    

    } else { http_response_code(405); echo json_encode([ 'status' => 'error', 'message' => 'Chỉ hỗ trợ phương thức POST.' ]); }

    // Hàm gửi tin nhắn Telegram function sendAlertTelegram($content) { $botToken = "813014xxxxxxxx:AAFN-F2QZ75SJzH76EwRg5Vxxxxxxxxx"; $chatId = "-1002480153xxx"; $url = "https://api.telegram.org/bot{$botToken}/sendMessage";

    $data = [
        'chat_id' => $chatId,
        'text' => $content,
        'disable_notification' => false
    ];
    
    $jsonData = json_encode($data);
    
    return postJsonApiTelegram($jsonData, $url);
    

    }

    // Hàm POST dữ liệu JSON function postJsonApiTelegram($data, $url) { $ch = curl_init($url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json; charset=utf-8'
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    
    curl_close($ch);
    return [
        'http_code' => $httpCode,
        'response_body' => $response
    ];
    

    } ?>

    `

Bài liên quan trong #Tin tức

✓ Đã sao chép link