编程语言
首页 > 编程语言> > php-如何从URL向Telegram bot发送大文件?

php-如何从URL向Telegram bot发送大文件?

作者:互联网

我有一些大文件(MP4和Zip格式),我想通过Telegram机器人将其发送到我的聊天室,我使用以下代码:

file_get_contents('https://api.telegram.org/bot[[app:token]]/sendDocument?chat_id=24523586&document='.$fileAddress);

但是它只能发送小于50MB的小文件!但是我知道通过file_id发送的文档没有文件大小限制.您可以看到this page
现在如何为文件创建file_id?我的文件已上传到服务器上,并且正在使用PHP.

解决方法:

Telegram bot API只能通过url参数发送小于20 MB的文件,您应该查找Sending Files部分.

如果要发送20-50 MB的文件,则应下载并重新上传到Telegram bot API服务器.
您可以参考这个简单的代码

$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.telegram.org/bot131210513:AXXXXXX/sendDocument?caption=Hello+World&chat_id=24523586',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: multipart/form-data'
    ],
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => [
        'document' => curl_file_create('/etc/hosts', 'plain/text', 'Hosts-file.txt')
    ]
]);
$data = curl_exec($curl);
curl_close($curl);

标签:telegram-bot,telegram,php-telegram-bot,php
来源: https://codeday.me/bug/20191026/1933831.html