@SynopticU

Как в telegram получить Контакт самого получателя сообщения, а не кого-то из его книжки?

Бот отправляет пользователю сообщение с запросом сообщить контакты этого пользователя. Стандартный reply_markup: $keyboard = [ 'keyboard' => [[['text'=>'Отправить мой номер телефона', 'request_contact'=> true]]]];
Как удостовериться, что пользователь именно нажал на эту кнопку и выслал СВОЙ контакт, а не открыл адресную книгу и прислал чужой контакт?

Для сокращения пути хождения по граблям:
1) android и desktop клиенты, когда возвращают на webhook контакт, заодно передают reply_to_message на сообщение бота. Это идеально решает задачу, но на iOS это поле не возвращается. Проверял на 7 и 11.
2) force_reply не работает с клавиатурой
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
@402d
начинал с бейсика на УКНЦ в 1988
тид оттправителя должен быть тем же, что и в присланном контакте.
Да . Не 100% защита. Подделать может кто-то сможет. Но оригинальный клиент делает так. А когда из адресной книжки, то они не совпадут. Так что пока Вы "Неуловимый Джо" сойдет
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg
Любые ответы на любые вопросы
Никак, потому что это было бы дырой в безопасности самой тележки, позволяющей разного рода классным пацанам-ботоводам вытаскивать телефоны участников групп, и потом спамить их.

Кроме того, а зачем насильно заставлять пользователя светить тем же номером, на котором у него телеграм? У параноиков вроде меня, телега зарегана на отдельную симку, которая стоит в нокио 3310, который большую часть времени лежит в сейфе без батарейки.

Косвенно, вы можете послать на этот номер СМС с кодом, и попросить юзера его ввести.
Если вы будете пытаться слать код на акк телеги, связанный с этим номером (да еще и делать это с того же акка, к которому привязан бот), вас под торжественный марш забанят к едрене фене вместе с ботом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы