slack-texts
v0.2.5
Published
Receive text alerts for Slack messages
Downloads
8
Readme
slack-texts
Receive text messages for conversations on Slack channels using Twilio.
You can import it as a package (see below), or use it directly from the command-line.
Quick start
Install via npm:
$ npm install --save slack-texts
Import the package and specify keys:
var slack_texts = require('slack-texts');
var keys = {
slack: {
token: '<slack-token>'
},
twilio: {
sid: '<twilio-sid>',
token: '<twilio-token>',
phone: '<twilio-phone>'
}
};
var options = {
team_name: 'go-team',
ignore_case_keywords: true,
keywords: ['economy', 'responsive'],
channel_names_to_monitor: ['announcements', 'development'],
send_to_contacts: [
{ phone: '+10000000000' },
{ phone: '+19999999999' },
{ phone: '+15555555555' }
]
};
var st = slack_texts.init(keys, options);
st.start(); // Async call.
// Do other stuff here, if necessary.
Run:
$ node app.js
Features
- Specify phone numbers to send messages to
- Monitor a specific list (or all) channels
- Use only messages that contain specified keywords
Documentation
init()
Initializes and returns a new slack_texts instance. It the same as calling
new slack_texts(..)
.
var slack_texts = require('slack-texts');
var st = slack_texts.init(keys, options);
The two arguments are:
keys:
Twilio and Slack API keys, as shown in the Quick start section. All fields are required.
options:
Configuration for the
slack_texts
instance. The default values are shown below.{ // The team name to display in text messages. // Type: string. team_name: '', // Whether to ignore case when filtering messages by keyword. // Type: boolean. ignore_case_keywords: true, // Keywords to filter messages by. If a messages contains any // of the keywords, it will be used for text notifications. // To disable keyword filtering, leave the property undefined // or use an empty array. // // Type: Array<string>. keywords: [], // The channels to listen to. If a message is sent to these channels, // it will be used for text notifications (subject to other // configuration). To listen to all channels, leave the property // undefined or use an empty array. // // Type: Array<string>. channel_names_to_monitor: [], // List of objects, each object containing a phone field (string). // Text messages will be sent to these phones. // // Type: Array<Object> send_to_contacts: [] }
start()
Listens for new messages asynchronously, and dispatches text messages depending on the provided options. The method takes no arguments.
var slack_texts = require('slack-texts');
var st = slack_texts.init(keys, options);
st.start();
Contributing
Pull requests are welcome.
- Fork the repository
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
You can also create an issue for new features and bug fixes.
License
The MIT License. Please see the LICENSE file at the root of this repository.