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

如何用Node.js结合Telegram Bot API实现点击文本复制功能

在Node.js中实现Telegram机器人发送点击可复制文本

下面针对Node.js环境下两种常用的Telegram机器人开发库,给出具体实现方案:

1. 使用node-telegram-bot-api库

  • 先安装依赖:
    npm install node-telegram-bot-api
    
  • 核心是通过指定消息解析模式,将需要复制的文本用行内代码格式包裹,示例代码:
    const TelegramBot = require('node-telegram-bot-api');
    const botToken = '你的机器人令牌';
    const bot = new TelegramBot(botToken, { polling: true });
    
    // 监听/gettoken命令
    bot.onText(/\/gettoken/, (msg) => {
      const chatId = msg.chat.id;
      // 用MarkdownV2格式,反引号包裹的文本会变成点击可复制样式
      const copyableText = `\`你的专属令牌或需要复制的文本\``;
      bot.sendMessage(chatId, copyableText, { parse_mode: 'MarkdownV2' });
    
      // 也可以用HTML格式,用<code>标签包裹
      // const copyableTextHtml = `<code>你的专属令牌或需要复制的文本</code>`;
      // bot.sendMessage(chatId, copyableTextHtml, { parse_mode: 'HTML' });
    });
    
  • 注意:如果用MarkdownV2格式,文本里的特殊字符(比如_、*、[等)需要转义,避免解析错误。

2. 使用Telegraf库

  • 先安装依赖:
    npm install telegraf
    
  • 实现代码示例:
    const { Telegraf } = require('telegraf');
    const bot = new Telegraf('你的机器人令牌');
    
    // 处理/gettoken命令
    bot.command('gettoken', (ctx) => {
      // MarkdownV2格式发送点击可复制文本
      ctx.reply(`\`你的专属令牌或需要复制的文本\``, { parse_mode: 'MarkdownV2' });
    
      // 或者用HTML格式
      // ctx.reply('<code>你的专属令牌或需要复制的文本</code>', { parse_mode: 'HTML' });
    });
    
    bot.launch();
    

原理说明

Telegram对行内代码格式(Markdown的包裹、HTML的<code>标签)的渲染逻辑就是点击文本即可自动复制到剪贴板,和@BotFather发送令牌的效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:38:26