Coder Social home page Coder Social logo

mokrane1989 / messenger4j-spring-boot-quickstart-template Goto Github PK

View Code? Open in Web Editor NEW

This project forked from messenger4j/messenger4j-spring-boot-quickstart-template

0.0 1.0 0.0 68 KB

Template for a Facebook Messenger Chatbot using Java, Spring Boot, and messenger4j. Write Chatbots within minutes ๐Ÿ”ฅ

License: MIT License

Shell 19.14% Batchfile 13.58% Java 67.28%

messenger4j-spring-boot-quickstart-template's Introduction

messenger4j-spring-boot-quickstart-template

This project is an application skeleton for a Facebook Messenger Chatbot using Java, Spring Boot, and messenger4j. You can use it to quickly bootstrap your chatbot projects and write your first Messenger Chatbot within minutes.

It's a pre-configured Maven project containing a sample chatbot application and all required dependencies.

The sample application is a port of the official Messenger Platform NodeJS Showcase. For information on how to setup your chatbot you can follow along with the Setup Guide.

Getting Started

Prerequisites

  • Git
  • JDK 8 or later
  • Maven 3.0 or later

Clone

To get started you can simply clone this repository using git:

git clone https://github.com/messenger4j/messenger4j-spring-boot-quickstart-template.git
cd messenger4j-spring-boot-quickstart-template

Configuration

In order to get your chatbot working you have to provide the following settings:

messenger4j.appSecret = ${MESSENGER_APP_SECRET}
messenger4j.verifyToken = ${MESSENGER_VERIFY_TOKEN}
messenger4j.pageAccessToken = ${MESSENGER_PAGE_ACCESS_TOKEN}

The configuration is located in src/resources/application.properties.

With the default configuration you can provide these values through the environment variables MESSENGER_APP_SECRET, MESSENGER_VERIFY_TOKEN, and MESSENGER_PAGE_ACCESS_TOKEN.

Build an executable JAR

You can run the application from the command line using:

mvn spring-boot:run

Or you can build a single executable JAR file that contains all the necessary dependencies, classes, and resources with:

mvn clean package

Then you can run the JAR file with:

java -jar target/*.jar

Instead of mvn you can also use the maven-wrapper ./mvnw to ensure you have everything necessary to run the Maven build.

Deploying to Heroku - Step by Step Setup Guide

Please note that the following example names are already in use and are just for illustration purposes.

Prerequisites

  • Git
  • Heroku CLI (for detailed information refer to Heroku CLI)

Clone Repo and Create Heroku App

  1. execute git clone https://github.com/messenger4j/messenger4j-spring-boot-quickstart-template.git
  2. execute cd messenger4j-spring-boot-quickstart-template
  3. execute heroku create <heroku app name>, e.g. heroku create messenger4j-heroku-app

Create Facebook Page

  1. open https://www.facebook.com/pages/create
  2. select a suitable Category, e.g. Brand or Product --> Product / Service
  3. enter a Name (the name of the Chatbot), e.g. Messenger4j Demo

Create and Configure Facebook App

  1. open https://developers.facebook.com/apps
  2. click the 'Add a New App' button
  3. enter the Display Name, e.g. messenger4j-fb-app
  4. select the Category: 'Apps for Messenger'
  5. click the 'Create App ID' button
  6. Section 'Token Generation': Select your created FB Page, e.g. Messenger4j Demo
  7. copy the 'Page Access Token' to the clipboard
  8. execute heroku config:set MESSENGER_PAGE_ACCESS_TOKEN=<page access token>
  9. navigate to 'Dashboard'
  10. copy the 'App Secret' to the clipboard
  11. execute heroku config:set MESSENGER_APP_SECRET=<app secret>
  12. use a randomly generated string as 'Verify Token', e.g. retgdkfjsjklsklj34qdfs
  13. execute heroku config:set MESSENGER_VERIFY_TOKEN=<verify token>
  14. execute git push heroku master
  15. navigate back to 'Messenger'
  16. Section 'Webhooks': Click the 'Setup Webhooks' button
  17. enter the Callback URL: https://<heroku app name>.herokuapp.com/callback, e.g. https://messenger4j-heroku-app.herokuapp.com/callback
  18. enter the generated Verify Token, e.g. retgdkfjsjklsklj34qdfs
  19. select the following Subscription Fields: messages, messaging_postbacks, messaging_optins, message_deliveries, message_reads, messaging_account_linking, message_echoes
  20. click the 'Verify and Save' button
  21. Section 'Webhooks': Select your created FB Page to subscribe your webhook to the page events, e.g. Messenger4j Demo
  22. click the 'Subscribe' button

Test your new Chatbot

  1. open https://www.messenger.com
  2. search for your Chatbot using the name of your created FB Page, e.g. Messenger4j Demo
  3. send a message, e.g. Hello Chatbot, receipt, gif, generic

For more information on how to deploy Spring Boot Apps to Heroku please refer to the Spring Boot Heroku Guide.

License

This project is licensed under the terms of the MIT license.

messenger4j-spring-boot-quickstart-template's People

Contributors

holymiracle avatar maxgrabenhorst avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.