Jadual Kandungan
Pertimbangan utama untuk Telegram Webhook
Port yang dibenarkan
Had Pelayan
Prasyarat
Tetapan Webhook Telegram (contoh Node.js)
Penghalaan Telegram Webhook
Ringkasan

telegram webhook

Jan 19, 2025 pm 08:36 PM

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;
Salin selepas log masuk

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端口运行");
});
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Ganti aksara rentetan dalam javascript

periksa jQuery jika tarikh sah periksa jQuery jika tarikh sah Mar 01, 2025 am 08:51 AM

periksa jQuery jika tarikh sah

jQuery mendapatkan padding/margin elemen jQuery mendapatkan padding/margin elemen Mar 01, 2025 am 08:53 AM

jQuery mendapatkan padding/margin elemen

10 Tab Accordion JQuery 10 Tab Accordion JQuery Mar 01, 2025 am 01:34 AM

10 Tab Accordion JQuery

10 patut diperiksa plugin jQuery 10 patut diperiksa plugin jQuery Mar 01, 2025 am 01:29 AM

10 patut diperiksa plugin jQuery

HTTP Debugging dengan Node dan HTTP-Console HTTP Debugging dengan Node dan HTTP-Console Mar 01, 2025 am 01:37 AM

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial Persediaan API Carian Google Custom

jQuery tambah bar scroll ke div jQuery tambah bar scroll ke div Mar 01, 2025 am 01:30 AM

jQuery tambah bar scroll ke div

See all articles