узнать userID?
ctx.message.from.id
естественно не работает, т.к. никаких сообщений нет.
Как это нет сообщений?
Со стороны пользователя ничего не отправляется.
А что ты хочешь сделать с этим id, и что ты делал с ним до перезапуска бота?
По нажатию кнопки обращается к БД по userID. После перезапуска бота, со стороны пользователя нажимается кнопка, которая была до перезапуска и не пойму, как считать ID.
Это вы мне ?
Не пойму в чем проблема. Сейчас проверил. Бот вообще не запущен. Отправляю сообщение. После, запускаю бот. Бот обрабатывает сообщение и с контекстом все в порядке.
А, если пользователь не отправляет сообщение после остановки бота. Бот запустился, нажимается кнопка, как в этот момент получить ID, сообщение никакое не отправляется.
Тебе приходит апдейт нажатия кнопки или нет?
Ну тогда видимо отправляется action)
Да, action срабатывает, а как в нём узнать ID? Если поставить ctx.message.chat.id то выдаёт ошибку TypeError: Cannot read property 'chat' of undefined
Ищи в в ответе callback_query
Вывел бы уже ctx в консоль, и узнал ctx.callbackQuery.from.id
console.log(ctx)
Не забыл
Во, то что надо, спасибо. Не допёр.
Даже ctx.from.id должно работать
Судя по этому get from () { return (this.message && this.message.from) || (this.editedMessage && this.editedMessage.from) || (this.callbackQuery && this.callbackQuery.from) || (this.inlineQuery && this.inlineQuery.from) || (this.channelPost && this.channelPost.from) || (this.editedChannelPost && this.editedChannelPost.from) || (this.shippingQuery && this.shippingQuery.from) || (this.preCheckoutQuery && this.preCheckoutQuery.from) || (this.chosenInlineResult && this.chosenInlineResult.from) }
Обсуждают сегодня