Приветствую друзья, изначально проблема была в том, что бот отправляет одно сообщение несколько раз, причиной тому стал параметр random_id, который должен быть каждый раз уникальным, а у меня был 'random_id' => 0. Теперь, когда проблема найдена, пытаюсь сделать генерацию random_id, но почему-то бот все равно отправляет несколько сообщений. Проблемы в уникальности $random_id нет, так как я его вывожу через var_damp и вижу что каждый раз новое число. Странно то, что если я вручную ставлю число какое-то значение, например, 1, 2, 3 и т.д. то все работает, и он отправляет 1 раз, только после этого каждый раз его надо менять, но опять же, если делать это вручную то все работает, так почему же не работает с обычной генерацией. Код прилагаю ниже:
$random_id = rand(1,9999999999999999);
// Отправляемое сообщение
$message = 'Здравствуйте, ' . $user_name . '! Вы запросили привязку данного аккаунта к аккунту на ресурсе SUDRUS. Ваш код подтверждения ' . $code . '. Введите его на сайте, чтобы подтвердить этот метод отправки уведомлений.';
function send($id, $msg, $token, $version, $random_id){
$url = 'https://api.vk.com/method/messages.send';
$params = array(
'user_id' => $id,
'message' => $msg,
'access_token' => $token,
'v' => $version,
'random_id' => $random_id
);
$result = file_get_contents($url, false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($params)
)
)));
}
send($user_id, $message, $token, $api_version, $random_id);
var_dump($random_id);
echo 'OK';