Не пойму почему не отправляет результат работы с циклом
Доброго времени суток всем посетителям данного форума. Работаю с VK API через PHP, для взаимодействия с БД использую redbeanphp Столкнулся с проблемной задачей - сделать добавление всех пользователей в бд,из бесед в которых данные юзеры состоят. Все отлично работает,но есть одно но - после выполнения цикла - скрипт не отправляет отчет -
$vk->SendMessage($peer_id,"Результат цикла добавления пользователей в БД:");
$vk->SendMessage($peer_id,"$resultadds");
$vk->SendMEssage($peer_id,"Время выполнения цикла: ".(microtime(true) - $start)." сек.");
Ниже приведен код всей командочки,в БД заносит более 200 аккаунтов.
Для себя я прикинул,что скрипт выполняется около 5 минут,но при этом заметил то,что скорее всего столкнулся с ограничением от VK - 25 запросов в секунду к API, ибо потом еще куча юзеров добавляется в бд по отправке сообщения в беседу.
Надеюсь на то,что тут есть знающие люди и они помогут =)
if($message == "?addall") {
$checkfromiduser = R::findOne('users', 'user_id = ?', [$id]);
$checkdostyp = $checkfromiduser->dostyp;
if($checkdostyp > 6) {
$start = microtime(true);
$vk->SendMessage($peer_id,"[Инициализация] Инициализирую цикл добавления пользователей в БД.\nЭтот процесс обычно занимает более минуты.");
foreach(range(2000000000,2000000093) as $peer_i) {
$group_id = -190892131;
if($vk->IsAdmin($peer_i,$group_id)) {
$da = $vk->request('messages.getConversationMembers',['peer_id' => $peer_i]);
foreach($da['items'] as $i) {
foreach($da['profiles'] as $ebannaya) {
$idk = $ebannaya['id'];
$userInfo = $vk->request("users.get", ["user_ids" => $idk]);
$first_name = $userInfo[0]['first_name'];
$last_name = $userInfo[0]['last_name'];
$user = R::findOne('users', 'user_id = ?', [$idk]);
if(!$user) {
$idgroup = mb_substr($id,0,1);
if($idgroup == "-") {
} else {
$newUser = R::dispense("users"); // Выбрали таблицу
$newUser->user_id = $idk; // Столбец id пользователя вк
$newUser->nick = ""; // Столбец для ник, для только пришедшего ставим его имя
$newUser->name = $first_name;
$newUser->surname = $last_name;
$newUser->regDate = date("d.m.Y, H:i:s"); // Столбец дата регистрации
$newUser->dostyp = 1; // Столбец в котором можно будет поменять значение на 1 и использовать как проверку на админ доступ к боту
$newUser->isleader = 0;
$newUser->status = "";
$newUser->balls = 0;
$newUser->reprimand = 0;
$newUser->warning = 0;
$newUser->lastupdate = 0;
$newUser->datestate = 0;
$newUser->historywarn = "";
$newUser->historydellwarn = "";
$newUser->historyballs = "";
$newUser->predkurilka = 0;
$newUser->zakrepby = "";
R::store($newUser); // Записали в базу
$chat_data = $vk->request('messages.getConversationsById', ['peer_ids' => $peer_i, 'extended' => 0]);
$title = $chat_data['items'][0]['chat_settings']['title'];
$userInfo = $vk->request("users.get", ["user_ids" => $idk]);
$first_name = $userInfo[0]['first_name'];
$last_name = $userInfo[0]['last_name'];
$resultadds .= "@id$idk ($first_name $last_name) был добавлен в базу данных из беседы
$peer_i\nИсточник: $title\n";
}
}
}
}
}
}
$vk->SendMessage($peer_id,"Результат цикла добавления пользователей в БД:");
$vk->SendMessage($peer_id,"$resultadds");
$vk->SendMEssage($peer_id,"Время выполнения цикла: ".(microtime(true) - $start)." сек.");
}
}