Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rampatra/jbot
Make Slack and Facebook Bots in Java.
https://github.com/rampatra/jbot
bot bot-framework conversation facebook facebook-bot java java8 jbot messenger-bot messenger-bot-boilerplate slack slack-bot slack-webhooks slackbot slash-commands spring-boot
Last synced: 25 days ago
JSON representation
Make Slack and Facebook Bots in Java.
- Host: GitHub
- URL: https://github.com/rampatra/jbot
- Owner: rampatra
- License: gpl-3.0
- Created: 2016-06-05T16:54:31.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T12:44:27.000Z (almost 2 years ago)
- Last Synced: 2024-05-22T19:29:18.743Z (6 months ago)
- Topics: bot, bot-framework, conversation, facebook, facebook-bot, java, java8, jbot, messenger-bot, messenger-bot-boilerplate, slack, slack-bot, slack-webhooks, slackbot, slash-commands, spring-boot
- Language: Java
- Homepage:
- Size: 43.7 MB
- Stars: 1,198
- Watchers: 54
- Forks: 352
- Open Issues: 77
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-java - JBot - Framework for building chatbots. (GPL-3.0-only) (Projects / Miscellaneous)
README
# JBot [![Build Status](https://travis-ci.org/rampatra/jbot.svg?branch=master)](https://travis-ci.org/rampatra/jbot) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/aa94e04874154ff2bb3d42f2b600ac55)](https://www.codacy.com/gh/rampatra/jbot/dashboard?utm_source=github.com&utm_medium=referral&utm_content=rampatra/jbot&utm_campaign=Badge_Grade) [![Javadocs](http://www.javadoc.io/badge/me.ramswaroop.jbot/jbot.svg?color=orange)](http://www.javadoc.io/doc/me.ramswaroop.jbot/jbot) [![Facebook](https://img.shields.io/badge/social-fb-blue.svg)](https://www.facebook.com/jbotframework/) [![Backers on Open Collective](https://opencollective.com/jbot/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/jbot/sponsors/badge.svg)](#sponsors) [![MIT license](https://img.shields.io/badge/license-GPL_3.0-yellow.svg)](https://raw.githubusercontent.com/ramswaroop/jbot/master/LICENSE)
Make bots in Java.
__JBot__ is a java framework _(inspired by [Howdyai's Botkit](https://github.com/howdyai/botkit))_ to
make Slack and Facebook bots in minutes. It provides all the boilerplate code needed so that you
can make your bot live right away.## Why use JBot?
* Provides you with __all the boilerplate code__ which handles underlying websocket connections and other complexities.
* Supports __extra events__ in addition to all the events supported by Slack/Facebook which makes your work a lot more easier.
* __Receiving & sending messages__ is as easy as defining a `@Controller` and calling `reply()`.
* __Conversation feature__ of JBot makes talking to your bot a breeze. This feature makes JBot different than rest of the Java frameworks out there.
* __Well tested__ with good coverage unit tests.
* And many other features which can't just be mentioned here.**Not satisfied?** Read on...
* JBot got more than __400 stars__ in just 2 days after release.
* It is in the [Hacker News](https://news.ycombinator.com/item?id=12239667) 50 club.
* Chosen by [DZone daily picks](http://mailer.dzone.com/display.php?M=15184241&C=dcebb6887365120539df1fbf19a071ed&S=9043&L=658&N=4604).
* Last but not the least, it's listed on [Slack.com](https://api.slack.com/community)**Still worried?** Open an [issue on Github](https://github.com/rampatra/jbot/issues) and we can discuss.
## JBot for Slack
**Running your SlackBot is just 4 easy steps:**
1. Clone this project `$ git clone https://github.com/rampatra/jbot.git`.
2. [Create a slack bot](https://my.slack.com/services/new/bot) and get your slack token.
3. Paste the token in [application.properties](/jbot-example/src/main/resources/application.properties) file.
4. Run the example application by running `JBotApplication` in your IDE or via commandline:
```bash
$ cd jbot
$ mvn clean install
$ cd jbot-example
$ mvn spring-boot:run
```You can now start talking with your bot ;)
Read the detailed [Slack documentation](https://blog.rampatra.com/how-to-make-a-slack-bot-in-java) to learn more.
## JBot for Facebook
**Similar to Slack, Facebook is simple too but has a few extra steps:**
1. Clone this project `$ git clone [email protected]:rampatra/jbot.git`.
2. Create a [facebook app](https://developers.facebook.com/docs/apps/register#create-app) and a
[page](https://www.facebook.com/pages/create).
3. Generate a Page Access Token for the page (inside app's messenger settings).
4. Paste the token created above in [application.properties](/jbot-example/src/main/resources/application.properties) file.
5. Run the example application by running `JBotApplication` in your IDE or via commandline:
```bash
$ cd jbot
$ mvn clean install
$ cd jbot-example
$ mvn spring-boot:run
```
6. Setup webhook to receive messages and other events. You need to have a public address to setup webhook. You may use
[localtunnel.me](https://localtunnel.me) to generate a public address if you're running locally on your machine.
7. Specify the address created above in "Callback Url" field under "Webooks" setting and give the verify token
as `fb_token_for_jbot` and click "Verify and Save".You can now start messaging your bot by going to the facebook page and clicking on the "Send message" button.
~_If you're too lazy to start now and just want to play around, you can try `jbot-example` by visiting
[JBot facebook page](https://www.facebook.com/jbotframework/) and clicking on the "Send Message" button._~ -- The server is currently downRead the detailed [Facebook documentation](https://blog.rampatra.com/how-to-make-facebook-bots-in-java) to learn more.
## Contributors
This project exists thanks to all the awesome people who contribute. If you want to flaunt your skills and make
the project better, [you can start contributing](/CONTRIBUTING.md), and for any queries please just
[raise an issue](https://github.com/rampatra/jbot/issues) and I would be more than happy to discuss :)## Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/jbot#backers)]
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/jbot#sponsors)]
---
_P.S. For any queries or concerns, you can reach out to me on [Twitter](https://twitter.com/ram__patra). I'll try my best to help 🙏._