Не пойму почему не работает автокик
Привет всем обитателям данного форума,столкнулся с mysql в коде моего бота. Выбрал для взаимодействия с базой - RedBeanPhp. Все команды по типу R::find и т.д работают.
Решил сделать автокик с проверкой на включенность в базе данных. То бишь. Если в базе за определенной беседой в автокике стоит число 1 - то вышедшего кикает. если 0 - не кикает
if($chat_act->type == 'chat_kick_user'){
$exec = R::exec("SELECT `auto_kick` FROM `settings` WHERE `peer_id` = $peer_id");
$exec = $exec["auto_kick"];
if($exec == 1) {
if($from_id == $member_id) {
$vk->request('messages.removeChatUser', ['chat_id' => $chat_id, 'member_id' => $chat_act->member_id]);
}
}
}
В базе данных естественно все хорошо,проверял во вкладке SQL - запрос работает. Буду рад,если кто-нибудь откликнется о моей проблеме и поможет мне. Заранее благодарю за помощь.
Ответы (1 шт):
Приветствую еще раз всех форумчан. Решил проблему таким образом. Решил использовать не R::Exec, а R::Find Ниже показываю решение.
if($chat_act->type == 'chat_kick_user'){
$select_autokick = R::findOne('settings', 'peer_id = ?', [$peer_id]);
$auto_kick = $select_autokick->auto_kick;
if($auto_kick == 1) {
if($from_id == $member_id) {
$vk->request('messages.removeChatUser', ['chat_id' => $chat_id, 'member_id' => $chat_act->member_id]);
}
}
}
Суть данного решения - $select_autokick = R::findOne('settings', 'peer_id = ?', [$peer_id]); - нахожу в базе данных в таблице настроек бесед айди беседы,затем.
$auto_kick = $select_autokick->auto_kick;
- выбираю определенный столбец,а дальше - все как по накатанной. Сравниваю значение в $autokick с 1. Если 1 - кикает. 0 - не кикает
