This repository has been archived by the owner on Nov 26, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 101
Channel Telegram
Jerome Houdan edited this page Apr 3, 2017
·
5 revisions
Download the client for your OS on the Telegram website. Launch Telegram and create a new account :
On the left panel search for BotFather.
Ask BotFather to create your bot by typing the command /newbot
in the conversation panel.
Answer every question directly in the chat to configure your bot.
Ask BotFather to get your token by typing the command /token
in the conversation panel.
Copy your token, you will need it to create your channel.
- 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'))
})