Rumah >hujung hadapan web >tutorial js >Meletakkan Bot Telegram Anda pada Cloudflare Workers: Panduan Langkah demi Langkah

Meletakkan Bot Telegram Anda pada Cloudflare Workers: Panduan Langkah demi Langkah

PHPz
PHPzasal
2024-08-19 18:32:031066semak imbas

Deploying Your Telegram Bots on Cloudflare Workers: A Step-by-Step Guide

Adakah anda bersedia untuk membina bot Telegram tanpa perlu bersusah payah mengurus pelayan? Dengan Cloudflare Workers, anda boleh menggunakan bot anda dalam beberapa minit, memanfaatkan platform yang berkuasa dan berskala yang menguruskan semua beban berat. Dalam panduan ini, kami akan memandu anda melalui keseluruhan proses - daripada menyediakan persekitaran pembangunan anda kepada menggunakan bot Telegram yang berfungsi sepenuhnya - semuanya menggunakan templat yang ringkas dan mudah diikuti dalam TypeScript. Mari selami dan aktifkan bot anda.

? Mengapa Memilih Pekerja Cloudflare untuk Bot Telegram Anda?

Cloudflare Workers ialah platform tanpa pelayan yang membolehkan pembangun menjalankan kod JavaScript, TypeScript atau Python di tepi, dekat dengan pengguna anda, dengan kependaman yang minimum. Dengan memanfaatkan platform ini, anda boleh menggunakan bot Telegram yang bukan sahaja sepantas kilat tetapi juga sangat berskala. Tidak perlu mengurus pelayan, mengendalikan penskalaan atau berurusan dengan infrastruktur yang kompleks - Cloudflare menguruskan segala-galanya untuk anda.

? Panduan Langkah demi Langkah untuk Membina Bot Anda

Sekarang mari kita selami prosesnya.

?Buat Projek Pekerja Baharu

  1. Sediakan Persekitaran Pembangunan Anda

Sebelum kami mula membina, anda perlu memasang wrangler, alat baris arahan Cloudflare untuk mengurus Pekerja:

npm install wrangler

Petua: Jika anda tidak memasang npm, anda boleh mendapatkannya dengan mudah dengan memuat turun dan memasang Node.js daripada nodejs.org.

  1. Buat Pekerja Baharu Menggunakan Templat Bot Telegram

Setelah wrangler disediakan, navigasi ke direktori tempat anda mahu fail pekerja anda disimpan. Jalankan arahan berikut untuk mencipta pekerja anda:

npm create cloudflare@latest MY_WORKER_NAME

Ganti MY_WORKER_NAME dengan nama pilihan anda untuk pekerja tersebut. Jika ini kali pertama anda menggunakan wrangler, ia akan menggesa anda untuk menyambung ke akaun Cloudflare anda dan membuat pengesahan melalui tetingkap penyemak imbas-ikut sahaja arahannya.

Apabila digesa untuk templat, pilih Templat daripada repo GitHub dan masukkan:

https://github.com/m-sarabi/cloudflare-telegram-bot

Kemudian pilih Typescript apabila ditanya.

Pastikan anda pergi ke repositori ini dan berikan Bintang ⭐️ sila.

  1. Mulakan Git dan Langkau Deployment

Semasa persediaan, anda akan ditanya sama ada anda mahu menggunakan Git untuk kawalan versi dan jika anda ingin menggunakan pekerja anda dengan segera. Saya cadangkan memilih Tidak untuk kedua-duanya, menangguhkan sehingga kami telah mengkonfigurasi segala-galanya.

Anda sepatutnya melihat mesej: SUCCESS Aplikasi berjaya dibuat!

? Sediakan Bot Telegram Anda dengan @BotFather

  1. Gunakan perintah /newbot untuk mencipta bot anda.
  2. Ikuti gesaan dan ambil perhatian tentang token API yang disediakan.

Seterusnya, kami akan menyediakan pembolehubah persekitaran dalam fail wrangler.toml dalam direktori projek anda. Jadi tambahkan baris ini pada fail:

[vars]
SECRET = "<SECRET>"
TOKEN = "<API_TOKEN>"
  • RAHSIA: Gantikan dengan token rawak yang memastikan permintaan datang daripada webhook yang ditetapkan anda. Ia boleh terdiri daripada 1–256 aksara, termasuk A-Z, a-z, 0-9, _ dan -.
  • API_TOKEN: Gantikan dengan token API yang anda dapat daripada @BotFather.

Selepas menetapkan pembolehubah ini, jalankan arahan ini di dalam direktori projek anda:

npm run cf-typegen

Arahan ini menjana semula fail worker-configuration.d.ts, mencerminkan pembolehubah anda yang baru ditetapkan.

? Menulis Logik Bot Anda

Sekarang, mari kita masuk ke bahagian yang menyeronokkan - mengekodkan bot! Dalam contoh ini kita akan mencipta ini:

Senario: Apabila pengguna menghantar arahan /start, bot memaparkan mesej dengan butang. Selepas menekan butang, bot mengalih keluarnya dan menghantar mesej susulan.

Mengendalikan Perintah /start

Semua fungsi pengendali kemas kini berada dalam direktori src/Telegram/pengendali.

Kami akan mulakan dengan membalas arahan /start dengan mesej dan butang sebaris. Ubah suai src/Telegram/handlers/handleMessage.ts seperti:

import { tg } from '../lib/methods';

export async function handleMessage(message: tgTypes.Message) {
    const messageText = message.text;
    const chatId = message.chat.id;
    if (messageText === '/start') {
        await tg.sendMessage({
            text: 'Welcome to my bot! Press the button to accept my rules!',
            chat_id: chatId,
            reply_markup: {
                inline_keyboard: [
                    [{
                        text: 'I Accept',
                        callback_data: 'accept_rules'
                    }]
                ]
            }
        });
    }
}

Coretan kod ini menghantar mesej dengan butang papan kekunci sebaris menggunakan kaedah tg.sendMessage.

Mengendalikan Penekanan Butang Sebaris

Apabila pengguna menekan butang sebaris, kami mahu bot mengakui tindakan ini. Ubah suai src/Telegram/handlers/handleCallbackQuery.ts:

import { tg } from '../lib/methods';

export async function handleCallbackQuery(callbackQuery: tgTypes.CallbackQuery) {
    const data = callbackQuery.data;
    const messageId = callbackQuery.message?.message_id;
    const chatId = callbackQuery.message?.chat.id;
    if (messageId && chatId) {
        if (data === 'accept_rules') {
            await tg.editMessageReplyMarkup({
                chat_id: chatId,
                message_id: messageId,
                reply_markup: undefined
            });
            await tg.sendMessage({
                chat_id: chatId,
                text: 'Thanks for accepting my rules.'
            });
        }
    }
}

Kod ini mendengar pertanyaan data accept_rules dan pada perlawanan mengalih keluar butang sebaris dan menghantar mesej susulan menggunakan kaedah tg.editMessageReplyMarkup.

? Mendaftarkan Webhook Anda

Dengan logik bot anda disediakan, sudah tiba masanya untuk menggunakan pekerja anda dan menyambungkannya ke Telegram melalui webhook.

  1. Jalankan wrangler deploy untuk menggunakan pekerja anda.
  2. Navigasi ke papan pemuka Cloudflare anda dan pilih Pekerja & Halaman.
  3. Di sebelah nama projek anda, klik Lawati.
  4. Dalam bar URL, tambahkan /registerWebhook (cth., https://my-project.my-username.workers.dev/registerWebhook) dan tekan enter. Jika anda melihat "Webhook didaftarkan", anda telah melakukannya dengan betul!

Setelah digunakan dan didaftarkan, anda boleh berinteraksi dengan bot anda di Telegram. Mulakan dengan mengklik Mula (atau hantar /mula), dan anda akan melihat mesej alu-aluan dengan butang sebaris.

? Kesimpulan

Membina dan menggunakan bot Telegram tidak pernah semudah ini terima kasih kepada Cloudflare Workers. Dengan mengikuti panduan ini, anda telah memanfaatkan kuasa teknologi tanpa pelayan untuk mencipta bot yang bukan sahaja berskala dan pantas tetapi juga mudah diselenggara.

Sama ada anda membina bot ringkas untuk kegunaan peribadi atau menggunakan sesuatu yang lebih kompleks untuk perniagaan, templat ini menyediakan asas yang kukuh. Selamat mengekod!

? Sumber & Bacaan Lanjut

  • Dokumentasi Pekerja Cloudflare
  • API Bot Telegram
  • Repositori GitHub untuk Templat

Atas ialah kandungan terperinci Meletakkan Bot Telegram Anda pada Cloudflare Workers: Panduan Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn