Регулярное выражение для исключения реакции на определенные слова

Регулярное выражение для исключения можно применить, если в ответ почти на все, что пришлет пользователь, должен приходить определенный экран или текст и есть слова-исключения, на которые бот реагировать не должен или должен реагировать по-другому.

Чтобы бот отвечал на все слова, кроме определенных, можно использовать такое регулярное выражение:

^(?!var|cost$).+

где var и cost — слова, на которые бот не должен реагировать.

Например, в боте есть Главное меню и нужно, чтобы Шаблон срабатывал на любой ввод от пользователя, кроме команд Главного меню.

Также сделаем исключение для команды /start которая запускает бота.

В этом случае используем в боте исключительно инлайн кнопки из компонента Кнопки, так как на нажатие текстовых кнопок (Кнопки с подсказками) событие Шаблон тоже будет реагировать, как и на текст от пользователя.

Добавим наше регулярное выражение в событие Шаблон с типом данных Регулярное выражение, чтобы исключить реакцию события на пункт меню и /start.

^(?!/start|/menu$).+

Рекомендуем добавлять /start в любом случае, даже если в главном меню нет такой команды, чтобы у пользователя была возможность перезапустить бота.

Была ли статья полезна?

Да Нет