Comments 24
Счет на оплату (receipt) работает? Тоже разбираюсь сейчас с платформой, но пока до этого не дошел.
В мессенджер счёт приходит. Оплаты прямо в мессенджере пока либо нет, либо не документирована эта возможность.
А есть какая то возможность получить данные отправителя, имя, емейл, телефон?
В $message['sender']['id'] из примеров выше мы имеем id пользователя, который отправил сообщение боту.

Телефон не получим, а вот имя, фамилию и аватар — можем.
Добавил в SDK метод userProfile.

Теперь получить данные пользователя можно так:
$bot->userProfile($message['sender']['id']);


В ответ вернется объект UserProfile
Хочу сделать плагин для интернет-магазинов, но смущает требование сертификата. А что если поднять промежуточный сервер с сертификатом и api, и через него гонять всех клиентов? Как в таком случае быть с приложением? Оно тоже будет одно единственное для всех или можно как-то извратиться и сделать чтобы у каждого было свое?
CloudFlare тоже может прокатить. Telegram нормально дружит с их сертификатами, насчет фб не знаю.
Интернет-магазин и не может позволить себе установить бесплатный сертификат? Меня это смущает)))
Спасибо, в закладки закину, на досуге попробую прикрутить, у меня в общем есть айпад с интернетом, который не умеет принимать СМС, у мегафона есть сервис UMS, но там блокируются СМС от банков, я клиент 6 инет-банков и мне потребовалось в них заходить даже тогда, когда моя мобилка разрядилась да и вообще не зависеть от телефона. Взял малинку, воткнул в нее модем ZTE, который умеет отвечать на CGI команды JSON ответами, дальше написал типа транспорт на VK, который мне СМС пересылает, но в один прекрасный момент вконтакт падал на полдня и я не мог зайти в банк, пришлось еще разобраться с tg (консольный клиент на telegramm), сейчас еще дублирует в телеграм, а у него есть веб интерфейс. Сама малинка не всегда тоже доступна по белому IP, т.к. при отпадании инета она переключается на мобильный, поэтому делать для нее веб-интерфейс не особо имело смысл.
Ага, только я уже написал все скрипты, а потом прочитал про ботов, в TG сразу на LUA скриптики написал и с базой связку сделал, лень уже было что то перепиливать, да и времени нет лишнего, всё работает и отточено в течении длительного времени.
Интересно, данное решение предусматривает формирование каких-либо логов? Не дебажных, а о действиях, которые совершил пользователь? Допустим, мы говорим о платеже через чат-бот. Или речь идет только о вводе/выводе общей информации?
Не совсем понял о чем речь. Что именно необходимо логировать? То, что пишет пользователь боту?
Так, конечно Вы можете сохранять эти сообщения в лог на своем сервере.

Если речь про логирование на стороне FB — все сообщения привязываются к странице, администратор может просматривать все диалоги с ботом.
По-моему, пока только телеграм смог запустить нормальную бот-платформу
Ну так телеграмм ее запустил уже давно. А фейсбук на прошлой неделе. Как бы пока сравнивать их не корректно :)
Да даже после запуска у телеграма все было просто и понятно. И главное — быстро.
Создал бота, получил ключик, накидал логику(примитив) и добавил в чат — не более часа времени заняло.
Здесь, как и в скайпе, только на модерацию может уйти несколько дней.
С модерацией пока у всех проблемы, кроме телеграмма.
По некоторым мессенджерам мы ждем уже пару недель модерации.
Но это все временные проблемы(надеюсь), т.к. платформы только запускаются.
Вот-вот… Почитал новости о запуске — вдохновился. Садишься писать, и… Ожидайте, ваш звонокбот очень важен для нас, вы следующий на очереди.
Поддержу. Telegram — единственная бот-платформа из тех (немногочисленных) что я смотрел, где бота можно держать на любом устройстве, подключенном к Интернет: не обязателен сайт/домен c ответчиком (Webhooks).
Не хватает отправки изображений (чтоб без заголовков, как в StructuredMessage).
Точно. Добавил.
Использовать можно так:
$bot->send(new ImageMessage($message['sender']['id'], 'https://developers.facebook.com/images/devsite/fb4d_logo-2x.png'));
Предлагаю добавить в FbBotApp инициализацию кнопки «Начать» и в текст самого бота.

Код:
public function setStart($buttons)
	{
		
		$elements = [];

		foreach ($buttons as $btn) {
            $elements[] = $btn->getData();
        }
		
		return $this->call('me/thread_settings', [
            'setting_type' => 'call_to_actions',
            'thread_state' => 'new_thread',
            'call_to_actions' => $elements
        ], self::TYPE_POST);

	}
    public function deleteStart()
    {
        return $this->call('me/thread_settings', [
            'setting_type' => 'call_to_actions',
            'thread_state' => 'new_thread'
        ], self::TYPE_DELETE);
    }

Only those users with full accounts are able to leave comments. Log in, please.