Как сделать команды для чат-бота?
Игорь, Пенза 1,4 тыс. просм.
Подскажите, у меня простой бот в Телеграме, отвечает только текстом на любое сообщение. Хочу, чтобы по конкретным словам вроде /price или /help он показывал заранее заготовленный ответ, а не гонял все через нейросеть. Как это устроить?
Марина Соколова аналитик по внедрению ИИ
ответил
Команды в чат-боте — это заранее заданные триггеры, на которые бот реагирует по жесткому правилу, а не генерирует ответ через нейросеть каждый раз заново. Это и быстрее, и надежнее: пользователь получит одинаковый корректный ответ на /price всегда, а не то, что модель придумает в конкретный момент.
Логика простая: перед тем как передать сообщение в нейросеть, код бота проверяет, не совпадает ли текст с одной из зарегистрированных команд. Если совпадает, выполняется отдельная функция — показать прайс, вывести меню, начать сценарий записи, и до модели дело вообще не доходит.
Как это сделать на практике, если бот в Telegram:
- Через BotFather (служебный бот Telegram) регистрируется список команд командой /setcommands — тогда они появляются в подсказке над полем ввода.
- В коде бота, обычно на Python через библиотеку aiogram или python-telegram-bot, на каждую команду вешается свой обработчик: строка «/price» ведет к функции, которая просто отправляет текст с ценами.
- Все, что не совпало ни с одной командой, можно по-прежнему отправлять в нейросеть для свободного ответа — получится гибрид: жесткие команды для частых вопросов и ИИ для всего остального.
Если пишете бота без программиста, в конструкторах вроде BotHelp или SaleBot команды настраиваются визуально: создаете блок сценария и привязываете к нему ключевое слово или команду через настройки триггера, без единой строчки кода.
Задать свой вопрос
Вопросы проходят модерацию. Ответ эксперта публикуется на сайте в течение пары дней.
Вопрос отправлен на модерацию. После проверки он появится на сайте вместе с ответом эксперта.