@mrisid

Бот отправляет сам по себе сообщения,что делать!?

Всё работало идеально,но вдруг бот начал глючить,после того как я его перенёс на новый хост он шлёт на 1 сообщение а ещё и разные всякие сообщения сам по себе,помогите люди добрые !
<?php

include "vk_api.php";  // vk_api addon


const VK_KEY = "";  // Token Group
const ACCESS_KEY = "";  // VK Group Key
const VERSION = ""; // API Version


// buttons
const BTN_1 = [["command" => 'btn_1'], "Проблемы с модпаком", "green"];
const BTN_2 = [["command" => 'btn_2'], "Проблемы с IP", "green"];
const BTN_3 = [["command" => 'btn_3'], "Проблемы с сервером", "green"];
const BTN_5 = [["command" => 'btn_5'], "Проблемы с сайтом", "green"];
const BTN_6 = [["command" => 'btn_6'], "Задать вопрос", "green"];
const BTN_7 = [["command" => 'btn_7'], "Не помогло", "red"];


$vk = new vk_api(VK_KEY, VERSION); 
$data = json_decode(file_get_contents('php://input')); 

if ($data->type == 'confirmation') { 
    exit(ACCESS_KEY); 
}
$vk->sendOK(); 
// vars
$peer_id = $data->object->peer_id;// Id user
$message = $data->object->text; // text user
// vars

if ($data->type == 'message_new') { // create check new message
    if($message == 'Проблема') {
$vk->sendButton($peer_id, "Выберите к чему относится ваша проблема 	&#128421;", [[BTN_1], [BTN_2], [BTN_3], [BTN_5], [BTN_6], [BTN_7]]);

        }
    if($message == 'проблема') {
$vk->sendButton($peer_id, "Выберите к чему относится ваша проблема 	&#128421;", [[BTN_1], [BTN_2], [BTN_3], [BTN_5], [BTN_6], [BTN_7]]);

        }
        


    if($message == 'Проблемы с модпаком') {
$vk->sendButton($peer_id, "Временно не доступно &#128224;");
    exit;
        }
    if($message == 'Проблемы с IP') {
$vk->sendButton($peer_id, "Временно не доступно &#128224;");
	exit;
        }
        
    if($message == 'Проблемы с сервером') {
$vk->sendButton($peer_id, "Временно не доступно &#128224;");
	exit;
        }
        
    if($message == 'Проблемы с сайтом') {
$vk->sendButton($peer_id, "Временно не доступно &#128224;");
	exit;
        }
        
    if($message == 'Задать вопрос') {
$vk->sendButton($peer_id, "Задайте интересующий вас вопрос,\nсотрудники тех.поддержки обязательно вам ответят&#128172;");
	exit;
        }
        
    if($message == 'Не помогло') {
$vk->sendButton($peer_id, "Опишите вашу проблему,\nсотрудники тех.поддержки обязательно вам ответят&#128172;");
	exit;
        }
}
  • Вопрос задан
  • 371 просмотр
Пригласить эксперта
Ответы на вопрос 1
@2bllk
Проблема в том, что если возникают какие-то проблемы при принятии ответа от Вашего сервера сервером ВК, то ВК может отправить на сервер несколько запросов, если он не получил удачный ответ от Вашего сервера. И Ваш сервер покорно принимает дублированный запрос и отправляет сообщение. Этот запрос может спокойно прилететь спустя несколько недель. Поэтому необходимо использовать при отправке сообщения параметр, который выделен на приложенном скриншоте.
P.S.: надеюсь, у Вас будет работать (у меня поначалу все работало, а потом что-то как-то не вышло)5da36f80bdde1145673890.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы