Может быть немного поздно, но для сеансов вы можете использовать Встроенное управление сеансами Telegrafs . Вот пример использования:
const session = require('telegraf/session')
const bot = new Telegraf(process.env.BOT_TOKEN)
bot.use(session())
bot.on('text', (ctx) => {
ctx.session.counter = ctx.session.counter || 0
ctx.session.counter++
return ctx.reply(`Message counter:${ctx.session.counter}`)
})
В основном это работает как в примере выше. Вы инициируете сеанс (bot.use(session());
), затем, когда пользователь пишет, вы используете контекст возвращенного сообщения (ctx
), в котором хранятся все пользовательские данные (имя пользователя, идентификатор, сообщение и т. Д.), И вызываете сеанс из этого ( ctx.session
). Там вы храните ваши обычные переменные данные. Теперь нормальные сеансы активны, пока бот не выключится. Если вам нужны постоянные сеансы, просто импортируйте сторонний менеджер сеансов, как написано в документации.
Итак, чтобы подвести итог:
const session = require('telegraf/session') // import session addon
ctx.session.walletData = 'some data' // store data in session
console.log(ctx.session.walletData) // show data