blob: b968fbbd3f93ed56cd9431ee394b8e6d50045bed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<?php
require_once __DIR__.'/common.php';
$message_ids = array_slice($argv, 1);
if (empty($message_ids))
fatalError('no message ids');
$url = 'https://api.vk.com/method/messages.getById';
$fields = [
'message_ids' => implode(',', $message_ids),
'access_token' => ACCESS_TOKEN,
'v' => '5.109'
];
list($code, $body) = httpPost($url, $fields);
if ($code != 200)
fatalError('api returned '.$code);
$response = json_decode($body, true);
if (!empty($response['error']))
fatalError('api error: '.$response['error']['error_msg']);
foreach ($response['response']['items'] as $item) {
$id = (int)$item['id'];
$dir_n = $id % 100;
$cur_dir = ARCHIVE_DIR.'/messages/api/'.$dir_n;
if (!file_exists($cur_dir)) {
if (!mkdir($cur_dir, 0755, true))
fatalError('failed to mkdir('.$cur_dir.')');
}
file_put_contents($cur_dir.'/'.$id.'.txt', json_encode($item, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT));
}
sleep(1);
|