Пишу бота на php для VK. Задача стоит такая: боту пишут "Привет", он отвечает "Пока", но только через 2 часа.
Вот часть кода, которая отвечает за отправку ответного сообщения, если ему пишут "Привет".
case strstr($message,'Привет') :
$request_params = array(
'message' => "Пока",
'user_id' => $user_id,
'access_token' => $token,
'v' => '5.0'
);
$get_params = http_build_query($request_params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/messages.send');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $get_params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);curl_close($ch); break;
Если все оставить в таком виде, то все прекрасно – бот работает, мгновенно отвечает и жизнь хороша.
Как заставить его делать это через час/два после получения сообщения?
Sleep(10) – работает. (но я так понимаю, что эта функция в любом месте скрипта заставляет его замирать на 10 секунд)
А если его ставить больше, то запросы начинают сыпаться по несколько раз, бот может начать отправлять сообщения по 3-4 раза.
В какую сторону тут думать?