Skip to content

Commit

Permalink
feat: add match docs
Browse files Browse the repository at this point in the history
  • Loading branch information
fletcherist committed Jul 9, 2018
1 parent 0f5a8e9 commit c0cac58
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions examples/matchers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
const Alice = require('../dist/index')
const alice = new Alice()

/*
* Можно запросто создать свой обработчик команд.
*
* Если стандартной функциональности поиска (по строке, массиву строк или регулярке)
* вам по каким-то причинам не хватает, можно написать свой обработчик.
*/

alice.command(ctx => {
if (!ctx.state.number) {
ctx.state.number = 1
}
ctx.state.number++
// Срабатывает каждую чётную по счёту команду
return ctx.state.number % 2 === 0
}, ctx => {
// Контекст сохраняется
ctx.reply(
`Я работаю каждую чётную по счёту команду:
сейчас по счёту ${ctx.state.number}`
)
})

/*
* Можно также использовать асинхронные матчеры
* Например, чтобы сходить в БД
*
* В этом примере пользователь всегда попадёт сюда,
* пока он не авторизуется.
*/
alice.command(async (ctx) => {
return await ctx.isAuthenticated()
}, ctx => ctx.reply('Пожалуйста, введите кодовое слово'))


alice.any(async (ctx) => ctx.reply('А я срабатываю на все остальные'))
alice.listen('/', 8080)

0 comments on commit c0cac58

Please sign in to comment.