Skip to content

Метод Hears ​

Метод hears в GramIO позволяет настроить ответы на определенные сообщения. Вы можете определить, какие сообщения должен прослушивать ваш бот и как он должен обрабатывать эти сообщения при их обнаружении. Метод гибкий и может работать с регулярными выражениями, точными строками или пользовательскими функциями.

Основное использование ​

Использование сопоставителя Regular Expression (Регулярное выражение) ​

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

ts
bot.hears(/hello (.*)/i, async (context) => {
    if (context.args) {
        await context.send(`Привет, ${context.args[1]}!`);
    }
});

В этом примере бот прослушивает сообщения, начинающиеся со слова "привет", за которым следует любой текст. Когда такое сообщение получено, бот извлекает текст после "привет" и отправляет персонализированное приветствие.

Использование сопоставителя String (Строка) ​

Если вы хотите, чтобы ваш бот отвечал на конкретное слово или фразу, вы можете использовать строковый триггер.

ts
bot.hears("hello", async (context) => {
    await context.send("Добро пожаловать! Введите 'помощь', чтобы увидеть доступные команды.");
});

В этом случае бот прослушивает точное слово "старт" и отвечает приветственным сообщением.

Использование сопоставителя Function (Функция) ​

Для более сложных сценариев вы можете использовать функцию для определения триггера. Эта функция проверяет контекст сообщения и решает, запускать ли ответ.

ts
bot.hears(
    (context) => context.user.role === "admin",
    async (context) => {
        await context.send("Здравствуйте, Администратор! Чем я могу вам помочь?");
    }
);

Здесь бот проверяет, является ли пользователь администратором. Если да, он отправляет специальное сообщение для администраторов.