telegram webhook
Ucapkan selamat tinggal kepada mod pengundian dan terima Telegram Webhook yang cekap! Tidak seperti kaedah pengundian yang meminta kemas kini secara berterusan daripada pelayan Telegram, Webhook membenarkan Telegram untuk menolak kemas kini terus ke pelayan anda, dengan itu mengurangkan penggunaan sumber pelayan dan meningkatkan kecekapan dengan ketara. Dalam artikel sebelum ini, saya menerangkan cara menggunakan Node.js untuk membina robot Telegram dan menggunakan kaedah pengundian untuk mendapatkan kemas kini. Walaupun pendekatan ini berfungsi, jika anda mencari kebolehskalaan, walaupun anda tidak mengalami had kadar pada masa ini, beralih kepada webhooks akan memastikan bot anda berjalan dengan lebih cekap dan boleh mengendalikan peningkatan trafik dengan mudah, mengurangkan beban pada pelayan anda.
Pertimbangan utama untuk Telegram Webhook
Apabila menggunakan webhooks, pastikan anda memberi perhatian kepada perkara berikut:
Port yang dibenarkan
Telegram hanya menyokong empat port webhook. Walaupun sebab sekatan ini tidak jelas pada masa ini, ia mungkin berubah pada masa hadapan. Port yang disokong pada masa ini ialah:
- 443 (HTTPS disyorkan)
- 80
- 88
- 8443
Pengendalian webhook yang betul memerlukan salah satu port ini tersedia dan boleh diakses. Jika anda tidak menyatakan port secara eksplisit, webhook akan lalai ke port 8443.
Had Pelayan
Memandangkan hanya empat port dibenarkan, bilangan aplikasi yang menggunakan webhooks tidak boleh melebihi empat pada pelayan yang sama.
Prasyarat
Sebelum anda mula menyediakan, sila pastikan anda mempunyai yang berikut:
- Node.js dipasang: Jika ia belum dipasang, muat turun dan pasang Node.js daripada nodejs.org.
- Akaun Telegram: Anda memerlukan akaun Telegram untuk mendapatkan token bot dan berinteraksi dengan bot anda.
- Ngrok untuk URL HTTPS: Telegram memerlukan webhooks untuk menggunakan titik akhir HTTPS. Gunakan Ngrok untuk mendedahkan pelayan tempatan anda kepada internet.
Kod lengkap boleh didapati di Github.
Tetapan Webhook Telegram (contoh Node.js)
// 导入Telegram Bot API const TelegramBot = require('node-telegram-bot-api'); // 使用您的机器人令牌替换 const token = 'your telegram token'; // 请查看我的文章,了解如何在Telegram上从@BotFather获取机器人令牌 const WEB_HOOK_URL = 'https://localhost:3000/telegram-bot-webhook'; // 注意:它在localhost上无法工作,因此请使用ngrok之类的隧道服务。 // 创建使用Webhook的机器人 const bot = new TelegramBot(token, { webHook: { port: 88, // Telegram Webhook允许的端口:443、80、88、8443 }, }); // 初始化Webhook const initWebHook = async () => { const webhookInfo = await bot.getWebHookInfo(); if (webhookInfo.url !== WEB_HOOK_URL) { await bot.setWebHook(WEB_HOOK_URL, { max_connections: 100, }); } }; initWebHook(); // 监听任何消息 bot.on('message', (msg) => { const chatId = msg.chat.id; // 简单命令处理 if (msg.text.toLowerCase() === '/start') { bot.sendMessage(chatId, '欢迎!今天我能如何帮助您?', { reply_markup: { keyboard: [['/start', '/help']], }, }); } else if (msg.text.toLowerCase() === 'hello') { bot.sendMessage(chatId, `你好,${msg.from.first_name}!`); } else { bot.sendMessage(chatId, "我不确定如何回应。"); } }); // 导出机器人模块 module.exports = bot;
Penghalaan Telegram Webhook
const express = require("express"); const app = express(); const bot = require("./bot"); // 解析POST请求的JSON主体 app.use(express.json()); app.get("/", (req, res) => { res.send("Hello World"); }); app.post("/telegram-bot-webhook", (req, res) => { bot.processUpdate(req.body); res.sendStatus(200); }); app.listen(process.env.PORT || 3000, () => { console.log("服务器正在3000端口运行"); });
Ringkasan
Bertukar kepada webhooks boleh menghapuskan isu pengehadan kadar Telegram dan menjadikan bot anda lebih cekap. Cuma pastikan anda mengkonfigurasi pelayan anda dengan betul, menggunakan port yang dibenarkan dan selamatkan sambungan anda menggunakan HTTPS.
Ikuti saya untuk dimaklumkan apabila artikel saya seterusnya diterbitkan ?.
Atas ialah kandungan terperinci telegram webhook. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom
