在电报机器人之间共享消息

时间:2018-03-07 09:04:23

标签: node.js telegram telegram-bot

我正在使用node-telegram-bot-api
我有两个这样的电报机器人:

  const TelegramBot = require('node-telegram-bot-api');
  let bot1 = new TelegramBot(token1, { polling: true });
  let bot2 = new TelegramBot(token2, { polling: true });

我在这两个机器人之间建立联系,以bot1收到的邮件应该由bot2发送给用户,反之亦然 类似的东西:

bot1.on('message', (msg) => {
    if (msg.video) { // video in this case
         bot2.sendVideo(user2_chatid, msg.video.file_id);
    }
});

在上面的代码中,我尝试使用user2将视频发送到bot2bot1收到视频后 使用file_id来引用贴纸是可以的,但对于照片,视频,声音等,我收到此错误

错误的文件标识符/指定的HTTP URL

看起来电报对于机器人和他们可以共享的数据是私密的,这意味着file_id是私有的,只有自己的机器人才能访问 如何在电报机器人之间共享这些数据? 除了在服务器上某处保存照片和视频然后发送它们之外,我更喜欢一种方法

1 个答案:

答案 0 :(得分:0)

https://core.telegram.org/bots/api#sending-files

  

file_id对于每个机器人都是唯一的,不能从一个机器人转移到另一个机器人。

所以我猜答案是否定的,除非我将文件保存在某处,然后使用bot2再次上传,然后发送 对我来说,更好的解决方案是为两个用户使用相同的bot(bot1),这样我就可以轻松地将收到的文件发送给任何已经开始与机器人聊天的用户