oda-telegram
v1.0.25
Published
This module will create a webhook server that could act as a middleware between oracle digital assistant and Telegram Bot.
Downloads
13
Readme
Oracle Digital Assistant / Telegram Bot integration
This module will create a webhook server that could act as a middleware between oracle digital assistant and Telegram Bot.
installation
npm install oda-telegram
Useage
const telegram = require('oda-telegram');
require('dotenv').config()
const options = {
port: process.env.PORT, //required
bot_webhook_url: process.env.BOT_WEBHOOK_URL, //required
bot_webhook_secret: process.env.BOT_WEBHOOK_SECRET, //required
telegram_token: process.env.TOKEN, //required
outbound_url: 'your/bot/endpoint' //optional, defaults to '/bot/receive' if not mentioned.
//isAutoNumberingPostback: true //optional, setting this to false will allow buttons for list type of selection.
//pushNotificationUrl: '/send/push/notification'
//private_key_path: __dirname+'/server.key', //optional
//certificate_path: __dirname+'/server.crt', //optional
}
telegram.startServer(options);
Important
- Keep autonumberingpostback as true in ODA, as cards are not supported in telegram.
- there is no "Inbound URL" required in telegram, as is the case with many such implementations of middlewares.
- [TEMPORARY] If you have cards in your bot, then turn AutoNumberPostback to true from ODA skill, as well as from the service options, if you don't have cards and only buttons, then you can keep it false.
Endpoint
"https://api.yourServer.com/your/bot/endpoint", This is the endpoint on which the webhook will be receiving messages from the oracle digital assistant. You need to create a webhook channel on ODA and use such url in the "Outgoing Webhook URI" column.
HTTPS server
- To create an HTTPS server with the help of this library you just need to specify the full path of your ssl certificate and private key.
- If ssl certificate and private key are not included, the server will by default be an HTTP server.
Sending Push Notifications
- You can now send push notification from within your system to any user if you have their chat ID saved somewhere in your databases.
- send a post request to '/send/push/notification' with body
{chatId: '123456',message: 'Your thing is done'}
Some useless detailes ;)
- [REQUIRED]port: => The port on which you want to run the server.
- [REQUIRED]bot_webhook_url: => ODA channel url.
- [REQUIRED]bot_webhook_secret: => ODA channel secret.
- [REQUIRED]telegram_token: => Token provided by BotFather Telegram Bot.
- [OPTIONAL]private_key_path: => The complete path for ssl private key (server.key) file if available.
- [OPTIONAL]certificate_path: => The complete path for ssl certificate (server.crt) file if available.
Upcoming :)
- Attachments including Images and Documents ARE supported, but no other attachments will be allowed as of now.
Whats new?
- Typing actions are now included.
- Cards and images are now supported.
- Now you can change bot's outbound url.