All Projects → Weetbix → Facebot

Weetbix / Facebot

Licence: mit
Slackbot for facebook messaging integration in slack

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Facebot

Botkit
Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.
Stars: ✭ 10,555 (+11498.9%)
Mutual labels:  slack, facebook-messenger, facebook
Jbot
Make Slack and Facebook Bots in Java.
Stars: ✭ 1,148 (+1161.54%)
Mutual labels:  slackbot, slack, facebook
Awesome Bots
The most awesome list about bots ⭐️🤖
Stars: ✭ 2,864 (+3047.25%)
Mutual labels:  slackbot, slack, facebook-messenger
Slacker
Slack Bot Framework
Stars: ✭ 495 (+443.96%)
Mutual labels:  slackbot, slack
Matterbridge
bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
Stars: ✭ 4,452 (+4792.31%)
Mutual labels:  slack, facebook-messenger
Wdt Emoji Bundle
Slack like emoji picker with apple/ios, twitter/twemoji, google, emojione, facebook, messenger emoji support
Stars: ✭ 411 (+351.65%)
Mutual labels:  slack, facebook
SlackWebhooksGithubCrawler
Search for Slack Webhooks token publicly exposed on Github
Stars: ✭ 21 (-76.92%)
Mutual labels:  slack, slackbot
Caprine
Elegant Facebook Messenger desktop app
Stars: ✭ 6,170 (+6680.22%)
Mutual labels:  facebook-messenger, facebook
Fb Messenger Cli
fb-messenger-cli, console Facebook messenger
Stars: ✭ 665 (+630.77%)
Mutual labels:  facebook-messenger, facebook
Slack Machine
A sexy, simple, yet powerful and extendable Slack bot
Stars: ✭ 91 (+0%)
Mutual labels:  slackbot, slack
Obed Bot
🍴 Obed Slack Bot, na požiadanie kontroluje aktuálnu ponuku denného menu reštaurácii. [only for slovak|czech users]
Stars: ✭ 32 (-64.84%)
Mutual labels:  slackbot, slack
messenger
💬 A PHP library for Facebook Messenger
Stars: ✭ 53 (-41.76%)
Mutual labels:  facebook, facebook-messenger
iou-slack-bot
💸 IOU Slack Bot - Keep track of your debts with your peers.
Stars: ✭ 13 (-85.71%)
Mutual labels:  slack, slackbot
Messer
💬 Command-line messaging for Facebook Messenger
Stars: ✭ 415 (+356.04%)
Mutual labels:  facebook-messenger, facebook
Perfect-Authentication
OAuth2 Implementations with Facebook, Google, LinkedIn, Slack, SalesForce and GitHub providers.
Stars: ✭ 14 (-84.62%)
Mutual labels:  slack, facebook
Restfb
RestFB is a simple and flexible Facebook Graph API client written in Java.
Stars: ✭ 681 (+648.35%)
Mutual labels:  facebook-messenger, facebook
Slack Ruby Client
A Ruby and command-line client for the Slack Web, Real Time Messaging and Event APIs.
Stars: ✭ 957 (+951.65%)
Mutual labels:  slackbot, slack
Chatblocks
Declarative Messenger chatbot framework
Stars: ✭ 48 (-47.25%)
Mutual labels:  facebook-messenger, facebook
facebook-send-api-emulator
Facebook Messenger Emulator & Facebook Send API Emulator functionality allowing you to test web hooks on developer's machine.
Stars: ✭ 24 (-73.63%)
Mutual labels:  facebook, facebook-messenger
dienstplan
Slack bot app for duty rotations
Stars: ✭ 14 (-84.62%)
Mutual labels:  slack, slackbot

Facebot image

Facebot is a Slack bot for facebook messenger integration. It allows you to link slack channels to facebook messenger, and communicate to them through slack.

Features

  • Connect slack channel to a facebook messenger channels
  • Messages appear using friends names and profile pictures
  • Supports all message types: Images, Stickers, Gifs, Thumbs & Audio messages
  • Facebook<-->Slack Emoji support
  • Channel links persist between restarts

Restrictions

  • Only 1 facebook account can login and is authorised to use the bot. Multi-user support could be added in the future but facebook-chat-api requires logins to use plaintext email and password, so these are passed and environment variables for a single account.
  • For privacy, you can only link completely private slack channels (just you and facebot) to messenger. The person you want to link must be a facebook friend.

Running the bot

Run on Heroku for free

You can immediately deploy and start using the bot by clicking the button below:

Deploy

You will need to enter your slack bot API key, facebook details and slack username, and it will begin running on a free heroku instance.

Downloading

You can download the package from npm with:

npm install facebot

Environment Variables

Facebot requires the following environment variables:

Variable Description
BOT_API_KEY The slack bot API key, for the bot user you want to run facebot
BOT_NAME The name of your slack bot
AUTHORISED_USERNAME The slack username for the authorised user. The authorised user should be the owner of the Facebook account. Only the authorised user can interact with Facebot (link channels etc).
FACEBOOK_EMAIL Email address for the Facebook account you want to use
FACEBOOK_PASSWORD Password for the Facebook account you want to use
DATABASE_URL URL for a postgres or mysql database to save and load data from, see details below for format. This reduces the number of sign in messages you may receive by using existing cookies and tokens, and keeps channel links persistent through bot restarts. If this is not set the bot will still function, but you will lose channel links between sessions (if not using file based storage).
DEBUG_MESSAGES False by default. Set this to true to receive debug direct messages from Facebot

DATABASE_URL

  • For mysql DATABASE_URL should be a json string that will be decoded. For all possible options see: https://github.com/mysqljs/mysql#connection-options . An example of a simple block would be: '{"host":"localhost","user":"me","password":"secret","database":"my_db"}'
  • For postgres this should be the the connection string that is given to pg.Client.

Running Locally

You can test or run Facebot locally with node bin/run_local_storage.js

You will still need to setup the environment variables described above (without DATABASE_URL). run_local_storage.js will use the local file system to store the login data and any channel links, this is usually not appropriate when running on a PaaS such as Heroku.

Using the Bot

Commands

image

Linking Chats

To link a slack channel to a Facebook friend, create a new private channel and invite Facebot. Then send @facebot chat FriendNameHere to link incoming and outgoing messages.

image

Contributing

Pull requests more than welcome!

Some things to keep in mind

Yarn

This project uses yarn to lock down dependencies, so when adding another dependency remember to update the yarn.lock file

Prettier

In order to keep the code formatting and style consistent this project uses Prettier to enforce formatting.

Prettier is installed as a dev dependency, and a pre-commit hook is setup to automatically run and prettify staged files just before commiting.

Running Prettier Manually

Check out the Prettier docs for instructions on how to run Prettier from the commandline, or inside your editor using a plugin.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].