oswebex / telegraf-answer

Telegraf Answer Module

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Telegraf Answer

Alpha версия 0.0.1

npm i https://github.com/ioscars/telegraf-answer

Примеры кода

const { Telegraf, Markup: m } = require('telegraf')
const { answerMiddle } = require('telegraf-answer')

// Устанавливаем handlerTimeout, чтобы бот в режиме polling не зависал
const bot = new Telegraf(process.env.BOT_TOKEN, { handlerTimeout: 100 })
// Подключаем мидл
bot.use(answerMiddle({ timeout: 30_000 }))
bot.start(async ({ reply, answerTill, answer }) => {
  try {
    await reply('What is your name?')
    // Будет спрашивать пока возвращается undefined, в функцию приходит message
    const name = await answerTill(async ({ text = '' }) => {
      if (text.length < 4)
        return void await reply('Your name is too short')

      if (text.length > 16)
        return void await reply('Your name is too big')

      return text
    })

    await reply('What is your surname?')
    // Спрашивает один раз, возвращает message
    const { text: surname } = await answer()

    await reply(`Hello, ${name} ${surname}`)
  } catch (e) {
    return reply('Registration is failed.')
  }
})

bot.lauch()
  .then(() => console.log('The bot is working'))

About

Telegraf Answer Module

License:MIT License


Languages

Language:JavaScript 100.0%