palm
🌴 A Tree, that can talk.
Install
$ yarn add palm
Usage
const palm = // talking option used for communications (telegram or cli for now) talk: '<option>' // if telegram, pass credentials (no need for cli) telegram: host: 'https://api.telegram.org/bot' // the default one token: '<token>' // your telegram API Bot token parent: '<telegram_id>' // your telegram ID to send messages to // Init listenerpalm // Send messages// If using within telegram, palm will send message to `parent` id// specified in settingspalm
Development
Setup
- Clone -
git clone https://github.com/frenchbread/palm.git && cd palm
- NPM install -
yarn install
- Test -
yarn run test
(Modifytest.js
file)
Build
$ yarn run build
API
new Palm(options)
Returns palm
instance
options
talk
(String) - talking option to be used by palm to receive/send messages. Currently supported: cli
, telegram
or rocketchat
NOTE! The second option is a config provided for specific "talking option". Use one of the following:
cli
- none
telegram
- (Object)
{
url: '<api_url>',
token: '<your_bot_token>',
parent: '<your_telegram_id'
}
rocketchat
- (Object)
{
url: '<full_api_url>', => e.g. https://<host>/api/v1
user: '<your_username>',
password: '<your_password>'
}
Methods
palm.listen()
Fires a listener that listens and responds to messages
palm.addCoco(coco)
Add custom responder (called coco
)
coco
- (Object)
const customCoco = // Enabled flag - Boolean enabled: true // Coco name - String name: 'Hi' // Coco description - String details: 'My custom coco' // Keywords that indicate that this coco will be used - Array keywords: 'hi' 'bye' // Function to be executed when responding to message - Function { let text2Send = '' if text === 'hi' text2Send = 'Hi, there.' else if text === 'bye' text2Send = 'Ok, bye.' return Promise } palm
palm.send(options)
Programmatic way to send a message.
options
to
- (Number)
Telegram userId
to send message to.
text
- (String)
Message text to be sent.
Author
- Damir Mustafin @frenchbread