Tôi tìm thấy thư viện php đẹp hoạt động qua telegram-cli https://github.com/zyberspace/php-telegram-cli-client
Có kịch bản sẽ tải xuống tất cả các tin nhắn và tập tin.
<?php
require('vendor/autoload.php');
$telegram = new \Zyberspace\Telegram\Cli\Client('unix:///tmp/tg.sck');
$chat = 'chat_name_that_you_want_to_download';
$limit = 50;
$offset = 0;
function save($msg)
{
$path = '/path/where/you/want/to/store/messages';
file_put_contents($path . '/' . $msg->id, json_encode($msg));
}
function download($telegram, $msg)
{
$response = $telegram->exec('load_' . $msg->media->type, $msg->id);
$msg->media->path = $response->result;
}
while($msgList = $telegram->getHistory($chat, $limit, $offset)) {
$offset += $limit;
foreach($msgList as $msg) {
if (isset($msg->media)) {
download($telegram, $msg, $msg->media->type);
}
save($msg);
}
}
Bạn phải thay đổi hai chuỗi ở đây:
- chat_name_that_you_want_to_d Download
/ đường dẫn / nơi / bạn / muốn / đến / lưu trữ / tin nhắn
- Tập lệnh sẽ lưu mọi tin nhắn (từ trò chuyện "chat_name_that_you_want_to_doad") dưới dạng tệp được tách trong thư mục "/ path / where / you / muốn / to / store / message".
- Mỗi tập tin chứa đại diện json của tin nhắn.
- Đối với các tệp sẽ có "media-> path" với đường dẫn đến tệp đã tải xuống.
- Các tệp sẽ được lưu trữ trong thư mục mặc định của telegram-cli: ~ / telegram-cli / download