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