作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一些大文件(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);
关于php - 如何将大文件从 URL 发送到 Telegram 机器人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43256917/
我是一名优秀的程序员,十分优秀!