EPIC | Обработчики команд
mikheevshow opened this issue · 0 comments
mikheevshow commented
Опциональные параметры
При указании обрабатываемой команды в handleCommand можно использовать шаблон команды с опциональным
параметром.
@HandleCommand("/product#?{id}")
public Send product(@CommandParamer("id") Long id) { // Нужно иметь ввиду, что объект может быть null и падать
// в случае если разработчик пытается использовать команду с опционалом и примитивный тип в параметре метода
return Send.carousel() ...
}
В этом случае обработчик обрабатывает два вида команд /product
и /product#12
Параметр "потреблять от" (consumesFrom)
Если возникает необходимость для одной команды иметь различные методы обработки, можно использовать параметры consumesFrom
и consumesFromAllExcept
для аннотации @HandleCommand
.
// Будет обрабатывть команды /product только из телеги
@HandleCommand("/product", consumesFrom="TELEGRAM")
public Send consumesOnlyFromTelegram() {
return Send.carouser() ...
}
// и
// Будет обрабатывть команды /product от всех, кроме телеги
@HandleCommand("/product", consumesFromAllExcept="TELEGRAM")
public Send consumesOnlyFromTelegram() {
return Send.carouser() ...
}