телеграм), хочу сделать так чтоб после нажатия кнопки у меня регистрировало человека с таким-то телеграм айди в базе данных, регистрацию и проверку есть ли в бд юзер я сделал.
Но как я понял, если юзер отсылает обычное текстовое сообщение на подобее "/start" мне приходит update.Message который не равняется нулю, а если юзер нажимает любую inline кнопку, приходит коллбэк запрос update.CallbackQuery который не равняется нулю, в том же время update.Message равняется нулю, но если я хочу понять что за айди и имя пользователя мне пришло при нажатии на кнопку я получаю айди и имя своего бота, ибо CallbackQuery обрабатывается ботом и там лежат данные бота, а не юзера который нажал кнопку, так вообще должно быть или я делаю что-то не то? При нажатии я хандлю коллбек и отправляю ответный каллбек при помощи AnswerCallbackQuery как указано в доке, чтоб юзер узнал что бот ответил, далее если юзер нажал кнопку я удаляю сообщение и регистрирую пользователя в бд, но всё это до лампочки так как регистрирует не юзера , а бота.
Ничего не понял, можешь посмотреть как я хендлю https://github.com/pepeground/pososyamba_bot/blob/master/internal/app/bot/bot_client.go#L107-L143
В момент нажатия /start, пишите всех в базу. И показывайте своё меню, или что там у вас.
в callbackQuery, емнип, кладётся id толи юзера, который нажал, толи id сообщения, к которому была прикреплена кнопка (но я не уверен). В любом случаей никто не запрещает положить туда guid :)
Обсуждают сегодня