Создание ботов Facebook Messenger с помощью Python менее чем за 60 минут

  1. Кодирование нашего бота
  2. От базового приложения Flask до бота
  3. Сделай свой бот на Facebook
  4. Хостинг
  5. Тестирование бота
  6. Что дальше?

Чатботы волшебны. Боты могут быть удивительным продуктом, который позволяет людям создавать новые впечатления от отчетности личные новости в предоставление женской медицинской информации , Когда я впервые узнал о ботах, я никогда не думал, что смогу сделать их самостоятельно. Тем не менее, я быстро покопался в документации Facebook Messenger и начал изучать, как с небольшим количеством Python 3 и Flask можно быстро запустить и запустить бот.

Мы рассмотрим все, от основ работы роботов до создания нашего собственного базового бота Facebook Messenger. В частности, мы будем делать базовую версию Black Girl Magic Bot бот Facebook Messenger, который отправляет пользователям изображения, плейлисты и, как правило, вздымающиеся сообщения, чтобы напомнить им, насколько они удивительны. Если вы заинтересованы в копании кода для бота, вы можете раскошелиться на него и поиграть с ним через GitHub ,

После того, как вы загрузили вышеуказанные файлы, вам необходимо установить следующие библиотеки:

Кодирование нашего бота

С помощью колба мы можем создать конечную точку - причудливый способ ссылки на веб-сайт. Например, на http://twilio.com/try-twilio конечной точкой является «/ try-twilio». Когда пользователь отправляет нам сообщение, Facebook отправляет эти данные в нашу конечную точку, где мы отправляем ответ обратно Facebook, чтобы показать пользователю.

Для начала мы создадим простое приложение Flask под названием app.py. Если вы не использовали Flask веб-фреймворк прежде, вы должны посмотреть на их вступление чтобы понять, как работает фреймворк.

Когда приведенный выше код запускается из командной строки, набрав python3 app.py, вы получите сообщение, в котором говорится что-то похожее на это:

Если вы перейдете по ссылке, указанной при запуске приложения (в этом примере http://127.0.0.1:5000/ ) в браузере вы увидите загрузку страницы с надписью «Hello World!». С помощью этих нескольких строк кода мы создали веб-приложение, которое отображает «Hello World» для любого пользователя, переходящего по указанной ссылке. Чтобы построить этого бота, мы будем строить эту базовую структуру, чтобы обрабатывать запросы пользователей и возвращать на них ответы.

От базового приложения Flask до бота

Для обработки отправки сообщений обратно пользователю, который общается с нашим ботом, мы будем использовать PyMessenger библиотека для обработки отправки ответов пользователям.

Поскольку сейчас у нас установлены необходимые библиотеки Python, пришло время написать нашего бота.
Для целей бота, которого мы сделаем в этом руководстве, мы будем использовать небольшой список Python с несколькими ответами.

Чтобы создать бота, нам сначала нужно обработать два типа запросов, GET и POST. В нашем случае мы будем использовать запросы GET, когда Facebook проверяет токен проверки бота. Развернув наше базовое приложение Flask, мы перейдем к нашей функции receive_message в app.py и добавим следующие строки кода:

В этом разделе вам может быть интересно: что именно hub.verify_token «? Это относится к токену, который мы создадим, а также предоставим Facebook, который они будут использовать для проверки того, что бот отвечает только на запросы, отправленные Messenger. Позже в этой статье мы обсудим, как настроить эту переменную.

Если бот не получает запрос GET, он, вероятно, получает запрос POST, когда Facebook отправляет вашему боту сообщение, отправленное пользователем. Для этого мы будем следовать приведенному выше утверждению if с помощью else, который будет принимать данные, отправленные Facebook, и сообщать нам сообщение, отправленное нам пользователем:

После написания этих начальных шагов мы переходим к проверке сообщения от Facebook, а также к генерации и отправке ответа пользователю. Facebook требует, чтобы у вашего бота был токен подтверждения, который вы также предоставляете ему, чтобы гарантировать, что все запросы, полученные вашим ботом, исходят от них:

Как только мы узнаем, что мы отправляем обратно пользователю, нам нужно написать метод, который фактически отправляет это сообщение пользователю. Библиотека PyMessenger делает это проще для нас, обрабатывая запросы POST в соответствии с Messenger API ,

Теперь, когда у нас есть все эти фрагменты кода, мы можем собрать их все вместе для создания нашего бота.

Сделай свой бот на Facebook

Мы написали большую часть кода для бота, но теперь нам нужно подключить его к Facebook и сделать его общедоступным. Чтобы люди могли сообщать о вашем боте, вам нужно создать Facebook страница (и учетную запись Facebook, если у вас ее еще нет). Как только вы сделали страницу, перейдите к Facebook для разработчиков веб-сайт и создать учетную запись разработчика.
Мы написали большую часть кода для бота, но теперь нам нужно подключить его к Facebook и сделать его общедоступным

Затем нажмите «Добавить новое приложение» на панели в правом верхнем углу страницы, выберите имя для своего приложения (например, BlackGirlMagicBot) и укажите адрес электронной почты. Затем нажмите «Добавить новое приложение» на панели в правом верхнем углу страницы, выберите имя для своего приложения (например, BlackGirlMagicBot) и укажите адрес электронной почты

Затем, когда на следующей странице появится запрос о типе продукта, который вы создаете, нажмите кнопку «Настроить» в опции Messenger.
Затем, когда на следующей странице появится запрос о типе продукта, который вы создаете, нажмите кнопку «Настроить» в опции Messenger
Перейдите на страницу настроек вашего приложения слева и заполните Основную информацию на вкладке Настройки. Это должно выглядеть так:

Далее мы получим информацию, необходимую для того, чтобы наш бот следовал рекомендациям Facebook. Сгенерируйте токен доступа для страницы Facebook на вкладке Messenger.
Далее мы получим информацию, необходимую для того, чтобы наш бот следовал рекомендациям Facebook
Вкладка находится в левом углу страницы. Когда вы выберете свою страницу из выпадающего меню, будет автоматически создан токен доступа к странице.

Вернитесь к файлу app.py и укажите токен доступа, в котором находится текущий заполнитель текста ACCESS_TOKEN.

Хостинг

Теперь, когда у нас написан наш код и заполнены необходимые разделы Facebook, нам нужно где-то разместить наш код. Для этого урока мы будем использовать ngrok, отличный инструмент, который позволяет нам запускать код на нашем компьютере локально, но сделать его доступным для всех. Эта ссылка будет работать до тех пор, пока на нашем компьютере будут работать программа и ngrok. Важно отметить, что ngrok предназначен для базового тестирования и не должен использоваться для размещения вашей программы при ее публичном выпуске.

Чтобы начать работу с ngrok, следуйте инструкциям Вот ,

Теперь, чтобы наш бот работал публично с Ngrok, нам нужно сначала запустить приложение - открыть окно терминала и запустить приложение с python3 app.py. Однажды ваш Приложение для колб начинает работать, ищите цифры (или номер порта) в конце ссылки, которую вы видите.
Теперь, чтобы наш бот работал публично с Ngrok, нам нужно сначала запустить приложение - открыть окно терминала и запустить приложение с python3 app

Теперь откройте второе окно терминала или вкладку и введите «ngrok http [number]», где number - это последние цифры в сгенерированном коде веб-сайта (в этом примере, где ссылка, предоставляемая flask, - «http://127.0.0.1:5000» / «Вы наберете« ngrok http 5000 »). Как только вы это сделаете, после раздела «Пересылка» появится экран со ссылкой - обязательно скопируйте ссылку, начинающуюся с «https». Эта ссылка - то, что мы можем предоставить Facebook, когда кто-то отправляет боту сообщение.
Теперь откройте второе окно терминала или вкладку и введите «ngrok http [number]», где number - это последние цифры в сгенерированном коде веб-сайта (в этом примере, где ссылка, предоставляемая flask, - «http://127

Вернитесь к экрану разработчика Facebook и предоставьте эту ссылку, чтобы, когда наша страница получала сообщение, Facebook знал, куда отправить сообщение. Перейдите на вкладку Webhooks и нажмите «Изменить подписку». Вы должны увидеть экран, подобный приведенному ниже:

Для URL обратного вызова скопируйте и вставьте ссылку, созданную ngrok, в поле.

Помните заполнитель VERIFY_TOKEN, который у нас есть в файле app.py? Чтобы защитить своего бота, Facebook требует наличия токена подтверждения. Когда пользователь отправляет сообщение вашему боту, Facebook отправит вашему боту сообщение вместе с этим токеном проверки для вашего приложения Flask, чтобы проверить и убедиться, что сообщение является подлинным запросом, отправленным Facebook. Выберите строку, которую вы хотите использовать для вашего токена проверки, и замените местозаполнитель в файле app.py своим кодом (например, «TESTINGTOKEN» может быть вашим токеном проверки, но я бы порекомендовал что-то более сложное, чтобы кто-то угадал), и поместите тот же самый токен (без кавычек) в поле Verify Token.

Для полей подписки обязательно проверьте поля сообщений, messaging_postbacks, message_deliveries, messaging_pre_checkouts.

Когда вы закончите, нажмите «Подтвердить и сохранить».

Теперь на той же странице настроек Messenger нам нужно подключить веб-крючок к нашей странице в Facebook. Выберите свою страницу и нажмите «Подписаться», чтобы завершить процесс.
Теперь на той же странице настроек Messenger нам нужно подключить веб-крючок к нашей странице в Facebook

После этого шага завершается создание нашего бота ... его тестирование.

Тестирование бота

Теперь, когда мы закончили писать код и настраивать наше приложение для Facebook, пришло время протестировать этого бота. Если вы зайдете на свою страницу в Facebook, вы сможете протестировать бота, отправив ему сообщение. Если у вас все настроено правильно, вы должны получить сообщение обратно со своей страницы.
Теперь, когда мы закончили писать код и настраивать наше приложение для Facebook, пришло время протестировать этого бота

Бот Black Girl Magic правильно отправляет пользователям различные сообщения, которые мы добавляли всякий раз, когда пользователь отправляет сообщение.

Что дальше?

Congrats! Вы сделали свой первый бот Facebook Messenger. Теперь вы можете начать создавать ботов, чтобы помочь пользователям выполнять различные задачи. В то время как в этом уроке мы запускаем бот локально с помощью Ngrok, в следующем уроке мы обсудим хостинг бота через Heroku. Когда вы будете готовы, вы можете завершить процесс одобрения Facebook Messenger и получить одобрение вашего бота для отправки сообщений всем пользователям. С будущим ботов возможности безграничны. Я был взволнован, увидев, как они могут помочь пользователям и с нетерпением ждем, что боты сделают люди дальше.

Надеюсь, вам понравилось учиться создавать бота на Python. Если вам понравился этот пост, вы можете подписаться на меня на GitHub @wessilfie ,

Py?
Что дальше?
О школе
О школе

О школе

Школа была открыта в 1959г. Первые выпускники были выпущены в 1966 г. Учредителем является МНО РТ, Горисполком. Координаты школы: Республика Татарстан, 420012, г. Казань, ул. Муштари д.6.
История

История

Школа № 18 была создана в 1959 году, как первая школа в республике Татарстан с углублённым изучением английского языка. Реформирование школьного образования проводится в школе по
Похожие новости /   Комментарии

    Обновления сайта

    Здравствуйте. Сегодня наконец то мы обновили наш сайт. Теперь на сайте доступны библиотеки для чтения, Вы всегда можете задать вопрос администратору сайта. Получить консультацию на все интересующие вопросы. Ознакомится с новыми событиями и новостями. В дальнейшем сайт будет наполнятся свежими новостями и статьями.

    О школе

    Школа была открыта в 1959г. Первые выпускники были выпущены в 1966 г. Учредителем является МНО РТ, Горисполком. Координаты школы: Республика Татарстан, 420012, г. Казань, ул. Муштари д.6. Полное название- Средняя школа №18 с углублённым изучением английского языка Директор: Шевелёва Надия Магсутовна. Научный руководитель: Русинова Сазида Исмагиловна,

    История

    Школа № 18 была создана в 1959 году, как первая школа в республике Татарстан с углублённым изучением английского языка. Реформирование школьного образования проводится в школе по эволюционному пути, избегая резких преобразований, опасных в этой системе человеческой деятельности. С этой целью 7 лет школа работала в условиях экспериментальной площадки, где