Skip to content

CodeForAfrica/Sourcebot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sourcebot

An open source Facebook Messenger news bot for your Wordpress website To help African news organisations deliver personalized news and engage more effectively via messaging platforms.

Sourcebot version 1.X

Develop

Requirements

First time

  • Run composer install
  • Visit localhost to confirm you see index.php
  • Run cp .env.example .env
  • Edit .env
  • Run phpunit
  • Run ngrok http 80 to get the publicly accessible URL
  • Go to your Facebook App
  • Click Webhooks
  • Select Page from the drop-down
  • Click Subscribe to this topic
  • Enter the publicly accessible URL of your app and /webhook.php
  • Enter the FACEBOOK_VERIFY_TOKEN
  • Click Verify and Save
  • Visit Facebook Messenger
  • Search for your Facebook Page and send it a message

Test

Tests are run with phpunit

Build

Sourcebot is configured to build on CircleCI.

You can run local CircleCI builds with circleci build using the CircleCI CLI.

Deploy

You can deploy Sourcebot to your own web-server or quickly and for free to Heroku.

Deploy

The latest release of Sourcebot is now supported! Changes include:

  • Requires PostgresSQL database, available through add-ons:
  • It also requires an instance of Elasticsearch
  • HEROKU_URL config var renamed to PUBLIC_URL to avoid using Heroku's namespace
  • DATABASE_URL config var will be set for you to access your database

Things you should know

Requirements

Before Deploy

Before deploying you probably want to give your bot a nice home page as web/index.php currently displays this README.md.

After Deploy

Once you have Sourcebot running on a publicly accessible URL you need to set and verify your Facebook App's Webhook.

Local

  • Go to your Facebook App
  • Click Webhooks
  • Select Page from the drop-down
  • Click Subscribe to this topic
  • Enter the URL of your app and /webhook.php
  • Enter the FACEBOOK_VERIFY_TOKEN
    • If you are using Heroku then it was autogenerated and you can get it from the Reveal Config Vars section of your Heroku app's Settings
  • Click Verify and Save
  • Visit Facebook Messenger
  • Search for your Facebook Page and send it a message

HEROKU_URL

  • Go to your Facebook App
  • Click Webhooks
  • Select Page from the drop-down
  • Click Subscribe to this topic
  • Enter the URL of your app and https://YOURAPPNAME.herokuapp.com/
  • Visit Facebook Messenger
  • Search for your Facebook Page and send it a message

Run

To check Sourcebot can connect to your Wordpress go to /wordpress-api-status.php

Contribute

Contributions are welcome and follows the straightforward Github pull request process:

  • Fork
  • Code
  • Test
  • Submit a pull request

Notes

Facebook Page and App

  • Facebook Messenger requires SSL/HTTPS to communicate with Sourcebot.
  • The quickstart guide is useful for setting up your Facebook Page and Facebook App. You do not need to follow the Node.js instructions.
  • Make sure you associate your Facebook App with your Facebook Page in Settings -> Advanced -> App Page.
  • Your Facebook App has to be reviewed for the pages_messaging permission. Before it is approved only Administrators, Developers, and Testers on the Facebook App's Roles page can interact with the bot.
  • You can only have one webhook endpoint setup per Facebook App so you probably want a development and a production Facebook App at least.
  • You can only associate one Facebook App per Facebook Page so you probably want a development and a production Facebook Page at least.

About

An open source newsbot to help African news organisations deliver personalized news and engage more effectively via messaging platforms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 49.8%
  • CSS 45.6%
  • JavaScript 2.9%
  • HTML 1.4%
  • Hack 0.3%