twitterdev / Twitter Webhook Boilerplate Node
Programming Languages
Projects that are alternatives of or similar to Twitter Webhook Boilerplate Node
Twitter Webhook Boilerplate Node
Starter web app for consuming events via Account Activity API (beta).
Note: This application is only compatible with the DM-only beta version of the Account Activity API. The DM-only beta will end on August 16, 2018 and this app will no longer be fully funcional. Please see this project for updated example code to get started with the Account Activity API.
Dependencies
- A Twitter app created on apps.twitter.com
- Node.js
- Heroku CLI (optional)
Create and configure a Twitter app
-
Create a Twitter app on apps.twitter.com
-
On the Permissions tab > Access section > enable Read, Write and Access direct messages.
-
On the Keys and Access Tokens tab > Your Access Token section > click Create my access token button.
-
On the Keys and Access Tokens tab, take note of the
consumer key
,consumer secret
,access token
andaccess token secret
.
Setup & run the Node.js web app
-
Clone this repository:
git clone https://github.com/twitterdev/twitter-webhook-boilerplate-node.git
-
Install Node.js dependencies:
npm install
-
Create a new
config.json
file based onconfig.sample.json
and fill in your Twitter keys and tokens. -
Run locally:
node index
-
Deploy app. To deploy to Heroku see "Deploy to Heroku" instructions below.
Take note of your webhook URL. For example:
https://your.app.domain/webhooks/twitter
Configure webhook to receive events via the API
-
Create webhook config. Update
WEBHOOK_URL
in source code.node example_scripts/webhook_management/create-webhook-config.js
Take note of returned
webhook_id
. -
Add user subscription. Update
WEBHOOK_ID
in source code.node example_scripts/webhook_management/add-subscription.js
Subscription will be created for user the context provided by the access tokens.
-
Test configuration by sending a DM to or from the subscribed account. You should receive a message event on your deployed webhook app.
Example Scripts
See the example scripts in the example_scripts
directory to:
- Send Direct Messages.
- Manage webhook configs and subscriptions.
- Setup Welcome Message deeplinks and defaults.
Deploy to Heroku (optional)
-
Init Heroku app.
heroku create
-
Run locally.
heroku local
-
Configure environment variables. Set up an environment variable for every property on config.json. See Heroku documentation on Configuration and Config Vars.
-
Deploy to Heroku.
git push heroku master
Note: The free tier of Heroku will put your app to sleep after 30 minutes. On cold start, you app will have very high latency which may result in a CRC failure that deactivates your webhook. To trigger a CRC request and re-validate, run the following script with your WEBHOOK_ID
:
node example_scripts/webhook_management/trigger-crc-request.js