-
Notifications
You must be signed in to change notification settings - Fork 101
Channel Twilio
Get your Account SID and Auth Token from your Twilio dashboard to fill the form below.
Go on the Phone Numbers section of the console. Create a phone number if you don't already have one by clicking on the + sign. Fill the form below with this phone number.
Go on the Programmable SMS > Messaging Services section of the console, and create a new messaging service by clicking on the + sign. Name it and choose the Chat Bot/Interactive 2-Way use case Once done, pick the Service SID to fill the form below.
Go back on the Phone Numbers section and select your bot phone number. In the Messaging configuration section, set the Configure with block to Messaging Service and fill the Messaging Service block with the name of the service you've created in the previous step.
- Clone and install Connector
$ git clone https://github.com/RecastAI/bot-connector.git
$ cd bot-connector
$ yarn install
$ yarn start-dev
- Create your connector
$ curl -X POST "http://localhost:8080/connectors/" --data "url=connector_url"
- Create your channel
$ curl -X POST \
--data "slug=YOUR_CHANNEL_SLUG" --data "isActivated=true" --data "type=kik" \
--data "apiKey=YOUR_API_KEY" --data "webhook=YOUR_NGROK_URL" --data "userName=YOUR_BOT_NAME" \
"http://localhost:8080/connectors/:connector_id/channels"
A small example of bot:
import express from 'express'
import bodyParser from 'body-parser'
import request from 'superagent'
const app = express()
app.set('port', process.env.PORT || 5000)
app.use(bodyParser.json())
const config = { url: 'http://localhost:8080', connectorId: 'yourConnectorId' }
/* Get the request from the connector */
app.post('/', (req, res) => {
const conversationId = req.body.message.conversation
const messages = [{
type: 'text',
content: 'my first message',
}]
/* Send the message back to the connector */
request.post(`${config.url}/connectors/${config.connectorId}/conversations/${conversationId}/messages`)
.send({ messages, senderId: req.body.senderId })
.end((err, res) => {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
})
app.listen(app.get('port'), () => {
console.log('Our bot is running on port', app.get('port'))
})