You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式回复Telegram机器人?Telegram API/JavaScript实现指引

编程方式回复Telegram机器人(Telegram API/JavaScript实现)

核心逻辑

编程回复Telegram机器人,本质是通过Telegram提供的API向目标机器人的对话窗口发送消息。如果需要针对性回复某条特定消息,需额外指定该消息的message_id参数。

必备准备

  • 自行创建Telegram机器人:通过@BotFather完成注册,获取专属API_TOKEN
  • 获取目标机器人的chat_id:给目标机器人发一条消息后,调用getUpdates接口即可提取该ID,也可通过@userinfobot查询

直接调用Telegram Bot API

Telegram Bot API提供sendMessage接口,用于发送消息,支持回复指定消息:

基础请求格式(POST)

https://api.telegram.org/bot<API_TOKEN>/sendMessage

关键请求参数

  • chat_id: 目标机器人的对话ID(支持数字ID或@用户名)
  • text: 要发送的消息内容
  • reply_to_message_id: 可选参数,填入需回复的消息ID,实现“回复”动作

curl示例请求

curl -X POST https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage \
-d chat_id="123456789" \
-d text="这是给你的回复内容" \
-d reply_to_message_id="98765"

JavaScript实现(Node.js环境)

方式1:原生fetch调用(无第三方依赖)

直接通过HTTP请求调用API,无需额外安装库:

const API_TOKEN = '你的机器人API_TOKEN';
const TARGET_CHAT_ID = '目标机器人的chat_id';
const REPLY_MESSAGE_ID = '需回复的消息ID(可选)';

async function sendReply() {
  const url = `https://api.telegram.org/bot${API_TOKEN}/sendMessage`;
  const payload = {
    chat_id: TARGET_CHAT_ID,
    text: '通过JavaScript发送的回复',
    ...(REPLY_MESSAGE_ID && { reply_to_message_id: REPLY_MESSAGE_ID })
  };

  try {
    const response = await fetch(url, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(payload)
    });
    const result = await response.json();
    console.log('消息发送成功:', result);
  } catch (error) {
    console.error('发送失败:', error);
  }
}

sendReply();

方式2:使用第三方库node-telegram-bot-api

该库封装了Bot API,调用更简洁:

  1. 安装依赖
npm install node-telegram-bot-api
  1. 代码示例
const TelegramBot = require('node-telegram-bot-api');

const API_TOKEN = '你的机器人API_TOKEN';
const TARGET_CHAT_ID = '目标机器人的chat_id';
const REPLY_MESSAGE_ID = '需回复的消息ID(可选)';

const bot = new TelegramBot(API_TOKEN, { polling: false });

async function sendReply() {
  try {
    await bot.sendMessage(TARGET_CHAT_ID, '通过第三方库发送的回复', {
      reply_to_message_id: REPLY_MESSAGE_ID
    });
    console.log('回复发送成功');
  } catch (error) {
    console.error('发送失败:', error);
  }
}

sendReply();

注意事项

  • 确保机器人的API_TOKEN正确且机器人处于正常状态
  • chat_id需为目标机器人的有效对话ID,使用@用户名时需确认对方机器人已设置公开用户名
  • 若要回复特定消息,需先通过getUpdates接口或消息监听事件获取目标消息的message_id

内容的提问来源于stack exchange,提问作者taftaf2007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:45:40