Метод Hears
Метод hears
в GramIO позволяет настроить ответы на определенные сообщения. Вы можете определить, какие сообщения должен прослушивать ваш бот и как он должен обрабатывать эти сообщения при их обнаружении. Метод гибкий и может работать с регулярными выражениями, точными строками или пользовательскими функциями.
Основное использование
Использование сопоставителя Regular Expression
(Регулярное выражение)
Вы можете настроить бота на прослушивание сообщений, соответствующих определенному шаблону, используя регулярные выражения. Это полезно, когда вы хотите, чтобы ваш бот отвечал на сообщения, соответствующие определенной структуре.
bot.hears(/hello (.*)/i, async (context) => {
if (context.args) {
await context.send(`Привет, ${context.args[1]}!`);
}
});
В этом примере бот прослушивает сообщения, начинающиеся со слова "привет", за которым следует любой текст. Когда такое сообщение получено, бот извлекает текст после "привет" и отправляет персонализированное приветствие.
Использование сопоставителя String
(Строка)
Если вы хотите, чтобы ваш бот отвечал на конкретное слово или фразу, вы можете использовать строковый триггер.
bot.hears("hello", async (context) => {
await context.send("Добро пожаловать! Введите 'помощь', чтобы увидеть доступные команды.");
});
В этом случае бот прослушивает точное слово "старт" и отвечает приветственным сообщением.
Использование сопоставителя Function
(Функция)
Для более сложных сценариев вы можете использовать функцию для определения триггера. Эта функция проверяет контекст сообщения и решает, запускать ли ответ.
bot.hears(
(context) => context.user.role === "admin",
async (context) => {
await context.send("Здравствуйте, Администратор! Чем я могу вам помочь?");
}
);
Здесь бот проверяет, является ли пользователь администратором. Если да, он отправляет специальное сообщение для администраторов.