Я получаю VK сообщения, в которых содержатся команды. Например, в VK пишу боту "Привет", он по Switch отвечает на это команду "Что тебе здесь нужно?".
Если я напишу "Привет!", то ответа я уже не получаю. Как правильно написать код так, чтобы он принимал за команду сообщение, которое содержит в себе определенное слово или словосочетание? ЧТобы, например, на "Привет!" был ответ как на "Привет" (потому что основная часть текста есть).
Записаны команды так:
switch ($bot->command) {
case 'привет!':
case 'здравствуйте!':
$bot->message
->text('Здравствуйте! Я всего лишь Бот, но постараюсь Вас понять.')
// ->setKeyboard($defaultKeyboard)
->send();
break;
case 'clickbutton':
$bot->message
->keyboard()
->row()
->button('Главное меню', 'primary', ['command' => 'start'])
->one_time() //false by default
->text('Вызвана команда "clickbutton" с параметром "'.$bot->payload['parametr'].'"')
->send();
break;
}
Надеюсь, понятно объяснил, что искал.
Switch имхо, не для тех целей используется. Тут лучше подойдёт if-else.
if (strpos($bot->command, 'привет') !== false
|| strpos($bot->command, 'здравствуйте') !== false
|| **другие варианты**): {
...
}
else if (strpos($bot->command, '**другое слово**') !== false): {
...
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как написать условие которое будет это проверятьНапример если за месяц что-то добавилось в БД то выполнить то-то, например вывести Hello World?
Вопрос по поводу функций, связанных с кодировкойПолучаю данные curl()-ом с сайта, кодировка на котором установлена windows-1251
Всём приветЕсть сайт на котором хранятся виртуальные финансы для сайта и система зачисления, вывода, перевода между пользователями и т