@xneizv

(Бот Добавляет лишние символы в беседе) VK API PHP?

Привет, пишу бота для вк, появилась проблема. создал клавиатуру, тестил в лс все ок, при добавлении в группу бот при нажатии на кнопку добавляет значения [club0xxxxxxxx|@ссылка_группы] текст, при написании боту в лс такого нет, то-есть пользователь жмет на клавиатуру и происходит отправка этого добавочного значения, хотелось бы убрать это, кто знает как поступить?

5dae16754d062073398491.png
Нажимаю кнопку
5dae167d695b6400466184.png

Код обработчика
<?php
error_reporting(0);
include 'bot_cfg.php';
include 'bot_functions.php';
if (!isset($_REQUEST)) return;
$data = json_decode(file_get_contents('php://input'));
if (strcmp($data->secret, $brawlerBot['guard_key']) !== 0 && strcmp($data->type, 'confirmation') !== 0) return;
	switch ($data->type) {
    case 'confirmation': 
		echo $brawlerBot['confirmation'];
		break;
    case 'message_reply': 
		header('HTTP/1.1 200 OK');
		echo('ok');
		break;
    case 'message_new':
        $userId = $data->object->peer_id;
		$from = $data->object->from_id;
        $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.8&access_token={$brawlerBot['api_key']}"));
		$uInfo = [ 'name' => $userInfo->response[0]->first_name, 'family' => $userInfo->response[0]->last_name ];
		$fromFunction = sendMessage($mysqli, $data->object->text, $uInfo, $userId, $lang, $data->object->payload,$from);
        $request_params = [
			'random_id' => generateRandomId(),
			'message' => $fromFunction[0],
			'peer_id' => $userId,
			'access_token' => $brawlerBot['api_key'],
			'v' => '5.80',
			'keyboard' => $fromFunction[1],
		];
        $get_params = http_build_query($request_params);
        file_get_contents('https://api.vk.com/method/messages.send?'.$get_params);
		//file_put_contents('logs/mylog.txt', serialize($request_params));
		header('HTTP/1.1 200 OK');
        echo('ok');
        break;
	default:
		header('HTTP/1.1 200 OK');
        echo('ok');
        break;
	}
?>

отрывок Кода генерации клавиатуры
}elseif($getAccount->num_rows == 1 && mb_strtolower($exploded_message) == 'баланс') {
			$udata = $getAccount->fetch_array();
				return  // Вывод баланса
				array(str_replace('%1',$udata['money'], str_replace('%2',$udata['gems'],$lang['balance'])),json_encode([
			  'one_time' => true, 
			  'buttons' => [[
				  ['action' => [ 'type' => 'text', 'payload' => '{"button": "2"}', 'label' => 'Команды', ], 'color' => 'primary', ], 
				  ['action' => [ 'type' => 'text', 'payload' => '{"button": "3"}', 'label' => 'Баланс', ], 'color' => 'primary', ], 
			  ],
			]]));
		  }

Данные из конфига
///........
	'games' => [
		'ruletka_none_money' => ' Внимание, у вас не хватает денег на ставку.',
		'ruletka_none_stavka' => " Внимание, чтобы сделать ставку введите \"Ставка сумма\"\n Пример: Ставка 5000 (✅ вы сделаете ставку на 5000) ",
		'ruletka_format_err' => " Внимание, введите сумму в виде цифр (без лишних символов)\n❗ Например: ставка 1000",
		'ruletka_game_result' => " Рулетка (Вы сделали ставку: %1)\n\nРезультат игры: %2 (✅ Вам зачислено %3 )\nВаш баланс теперь: %4 ",
	],
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 3
@StockholmSyndrome
к сожалению это упоминание в беседах никак не убирается
Ответ написан
Pigeon1235
@Pigeon1235
это никак не убрать
Ответ написан
Комментировать
@r8ze
Лучше просто убери кнопки в беседе, больше мусора.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы