Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Vk api php удаление сообщения после ввода команды

Vani Abobusov Ученик (215), на голосовании 2 года назад
у меня есть бот на php и я сделал команду /kick он исключается людей из беседы, но я бы хотел сделать чтобы после написания команды /kick бот снячало удалил мое сообщение для всех, а потом исключил человека что бы он не понял кто именно его кикнул

вот код если что
// Создаем необходиммые переменные

$peer_id = $data->object->peer_id; // Узнаем ИД беседы 2000000.....

$id = $data->object->from_id; // Узнаем ид пользователя который отправляет команду

$message = $data->object->text; // Текст самого сообщения

$is_admin = [681421067, 559968714, 666118367]; // создаем массив с ID's наших будущих админов через запятую

$chat_id = $peer_id - 2000000000;



if ($data->type == 'message_new') { // Если это новое сообщение то выполняем код указанный в условии





if (mb_substr($message,0,5) == '/kick'){ // Образаем сообщение и сравниваем что получилось



if (in_array($id, $is_admin)) { // С помощью in_array проверяем схожесть переменной $id с массивом с ID's



$kick_id = mb_substr($message ,6); // еще раз обрезаем и получаем все что написано после /kick_

$kick_id = explode("|", mb_substr($kick_id, 3))[0];



if($kick_id == ""){

$vk->sendMessage($peer_id, );



} else {



$vk->request('messages.removeChatUser', ['chat_id' => $chat_id, 'member_id' => $kick_id]);

$vk->sendMessage($peer_id, );



}

} else {

$vk->sendMessage($peer_id, );



}

}

}
Голосование за лучший ответ
злобная дичь с атомного леса Гуру (2711) 2 года назад
https://dev.vk.com/method/messages.delete

+ доп
$text = rand(0,2) ? "/kick 2000 90" : "щас кину кого-то";

if(preg_match('|(?<key>\/[a-z]+)\s+(?<val>.*)|is', $text, $cmd))
echo "Выполняю: {$cmd['key']} с параметром: {$cmd['val']}";
else
echo "/key .* (не найден отправляю текст): {$text}";
Похожие вопросы