Size: a a a

Боты на Telegraf

2020 November 09

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
ik
по идее лучше редис не? сессия же часто меняется
сессия это то, что не должно хорониться, она на то и сессия
источник

i

ik in Боты на Telegraf
ну вот например инфа авторизован юзер или нет в сессии же хранится?
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
в сессии хорониться, а сессия хорониться не должна
источник

i

ik in Боты на Telegraf
а если персистент сессия нужна? чтоб при перезапуске бота не терялись данные
источник

i

ik in Боты на Telegraf
что мне каждый раз когда что то меняется бд долбить? это же неэффективно делать не?
источник

OS

Oscar S in Боты на Telegraf
ik
что мне каждый раз когда что то меняется бд долбить? это же неэффективно делать не?
источник

i

ik in Боты на Telegraf
🙄
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
команду ему шли на сокет/систему/телегу, стопает обработчики, пусть хоронит сессию на хард
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
ik
что мне каждый раз когда что то меняется бд долбить? это же неэффективно делать не?
ваще-т это вебскал, так и нужно нынче
источник

DE

Daniil Ekzaryan in Боты на Telegraf
ik
что мне каждый раз когда что то меняется бд долбить? это же неэффективно делать не?
Не оптимизируйте пока не надо
источник

DE

Daniil Ekzaryan in Боты на Telegraf
Поставь базу поближе
источник

DE

Daniil Ekzaryan in Боты на Telegraf
И все будет ок
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
это ведь у тебя постгря через секвалайз да?
источник

i

ik in Боты на Telegraf
ноде постгрес
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
Josh Dies 🥭 [man go]
telegraf sessions session mysql sequelize

const Sessions = sequelize.define('sessions', {
 id: {
   allowNull: false,
   primaryKey: true,
   type: DataTypes.STRING(40)
 },
 session: {
   type: DataTypes.JSON
 },
 expires: {
   type: DataTypes.DATE
 }
})


sessionConfig = {
 store: {
   get: key => Sessions.findOne({ where: { id: key } }),
   set: (key, session) =>
     Sessions.findOne({ where: { id: key } })
     .then(s => s ? s.update(session) : Sessions.create({ id: key, ...session }))
 }
}

bot.use(session(sessionConfig))
типатого
источник

i

ik in Боты на Telegraf
прикольно, это пример пг сессии?
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
да тут мног под бд разные
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
Josh Dies 🥭 [man go]
const SessionSchema = new mongoose.Schema(
 {
   key: String,
   session: {},
   expires: Date
 },
 {
   timestamps: { createdAt: true, updatedAt: true }
 }
)

const Session = mongoose.model('Session', SessionSchema)



const sessionStore = {
 get: key => db.Session.findOne({ key }),
 set: (key, session) => db.Session.updateOne({ key }, { $set: session }, { upsert: true })
}

bot.use(session({ store: sessionStore }))

у меня работает
.
источник

ТК

Таймураз Кайтмазов... in Боты на Telegraf
ik
почему?
не получится вот здесь в первую миддлварь положить цикл на авторизацию?
Цикл на авторизацию?
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
Таймураз Кайтмазов
Цикл на авторизацию?
и пусть вер мир подождёт, ммм данон
источник