Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Не отправляются контактные данные #53

Open
AhmadjoniMuhamad opened this issue Jan 8, 2019 · 7 comments
Open
Labels

Comments

@AhmadjoniMuhamad
Copy link

При запросе контактных данных, и нажатии на кнопку, не отправляются контактные данные пользователя.

$client = $bot->getClient();
$receiverId = $event->getSender()->getId();
$bot->getClient()->sendMessage(
(new \Viber\Api\Message\Text())
->setSender($botSender)
->setReceiver($event->getSender()->getId())
->setMinApiVersion(3)
->setText("Нам необходим Ваш номер телефона.")
->setKeyboard(
(new \Viber\Api\Keyboard())
->setButtons([
(new \Viber\Api\Keyboard\Button())
->setActionType('share-phone')
->setActionBody('reply')
->setText('Отправить номер телефона')
])
)
);

@AhmadjoniMuhamad
Copy link
Author

@Bogdaan FYI

@Bogdaan
Copy link
Owner

Bogdaan commented Jul 15, 2019

укажите пожалуйста полную версию бота (там где есть обработка сообщений)

@n13north
Copy link

n13north commented Sep 6, 2019

Проблема осталась?

@n13north
Copy link

n13north commented Oct 4, 2019

Как обратиться к контакту, получить номер телефона? Есть хоть какой-то пример? Как сообщение телефон не приходит.

@bpartner
Copy link

Не отправляются с десктоп версии, проблема не в апи. Указанный в топике код рабочий. Если нажать на кнопку в телефоне, придет сообщение с типом contact

@n13north
Copy link

Спасибо, но вопрос был именно как потом обратиться к результату. Как отправить телефон уже везде расписано, но нигде как его получить.

@mishak4ever
Copy link

Спасибо, но вопрос был именно как потом обратиться к результату. Как отправить телефон уже везде расписано, но нигде как его получить.

Они отправляются. Просто нужно их обработать.
В классе Bot добавьте метод
public function onContact(\Closure $handler) {
$this->managers[] = new Manager(function (Event $event) {
return (
$event instanceof \Viber\Api\Event\Message && $event->getMessage() instanceof \Viber\Api\Message\Contact
);
}, $handler);
return $this;
}

Затем в файле index.php можете добавлять обработчик такого вида:
->onContact(function ($event) use ($bot, $botSender, $log) {
$clientPhone = $event->getMessage()->getPhoneNumber();
$receiverId = strval($event->getSender()->getId());
})

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants