Как определить ответ пользователя на конкретное сообщение бота?
Интересует не конкретная реализация на Go (хотя было бы неплохо), а подход.
Бот задаёт вопрос пользователю, как понять что пользователь ответил именно на заданный вопрос?
MessageID запоминать не вариант, потому что пользователей может быть много, а он как я понял не привязан к конкретному пользователю.
В текущей моей реализации, когда пользователь отвечает на вопрос, то в сущности update нет ни одного идентификатора, по которому можно понять, что пользовательский ввод был именно на конкретный вопрос.
Тут пользовался на днях telegram ботом финансовым, там перед отправкой например хеша транзакции надо нажать кнопку "Отправить хеш" и после вводится что хочешь указать. Соответственно можете сделать так же, сделать кнопку после вопроса "Ответить" и уже все что после нее считать ответом.
А как определить что кнопка прожата конкретным пользователем? Тут наверно два варианта, писать это в БД, либо создавать структуру User и там проставлять флаги нажал / не нажал, но пользователь может вернуться например в другую логику бота (к примеру другой вопрос) и там ввести, придётся флаги менять, какой то костыль.
aibb, если пользователь отвечает просто текстовыми сообщениями, то считать, что он отвечает на последнее. Если пользователь отвечает через цитирование предыдущего сообщения, то в его ответе есть информация об этом предыдущем сообщении.
shurshur, ну а как понять то что пользовательский ввод вообще относится к заданному вопросу ботом? Для этого надо где то хранить состояние пользователя в текущий момент времени