我正在使用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
将视频发送到bot2
,bot1
收到视频后
使用file_id来引用贴纸是可以的,但对于照片,视频,声音等,我收到此错误
错误的文件标识符/指定的HTTP URL
看起来电报对于机器人和他们可以共享的数据是私密的,这意味着file_id
是私有的,只有自己的机器人才能访问
如何在电报机器人之间共享这些数据?
除了在服务器上某处保存照片和视频然后发送它们之外,我更喜欢一种方法
答案 0 :(得分:0)
https://core.telegram.org/bots/api#sending-files
file_id对于每个机器人都是唯一的,不能从一个机器人转移到另一个机器人。
所以我猜答案是否定的,除非我将文件保存在某处,然后使用bot2
再次上传,然后发送
对我来说,更好的解决方案是为两个用户使用相同的bot(bot1),这样我就可以轻松地将收到的文件发送给任何已经开始与机器人聊天的用户