{"_id":"botimize","_rev":"27-8f22cba98cb97d9715183495e0833c06","name":"botimize","time":{"modified":"2022-06-13T04:59:29.181Z","created":"2016-08-25T02:36:59.208Z","0.0.1":"2016-08-25T02:36:59.208Z","0.0.2":"2016-09-09T03:04:09.005Z","0.1.0":"2016-09-09T16:20:26.663Z","0.2.0":"2016-09-14T03:22:40.734Z","0.2.1":"2016-09-26T06:01:26.325Z","0.3.0":"2016-09-28T07:11:50.108Z","0.3.1":"2016-09-29T04:30:37.821Z","0.4.0":"2016-10-25T12:50:00.098Z","0.4.1":"2016-12-12T15:12:51.707Z","0.4.2":"2016-12-13T13:02:18.442Z","0.5.0-beta":"2017-06-07T08:40:43.565Z","0.5.0":"2017-06-16T15:56:05.020Z","1.0.0":"2017-07-24T17:37:26.856Z","1.0.1":"2017-08-08T14:44:57.115Z","1.0.2":"2017-08-11T08:41:11.413Z"},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"darkbtf","email":"darkbtf@gmail.com"},{"name":"godgunman","email":"godgunman@gmail.com"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"dist-tags":{"latest":"1.0.2"},"description":"The sdk of botimize","readme":"# [botimize](http://botimize.io) - Analytics built to optimize your bots\n\n[![build status](https://img.shields.io/travis/botimize/botimize-sdk-js/master.svg?style=flat-square)](https://travis-ci.org/botimize/botimize-sdk-js)\n[![npm version](https://img.shields.io/npm/v/botimize.svg?style=flat-square)](https://www.npmjs.com/package/botimize)\n\n## Table of contents\n\n- [Setup](#setup)\n- [Usage](#usage)\n- [Initialization](#initialization)\n- [Log incoming messages](#log-incoming-messages)\n- [Log outgoing messages](#log-outgoing-messages)\n- [Send notifications](#send-notifications)\n- [References & Full Examples](#references--full-examples)\n\n## Setup\n\n* Create a free account at [Botimize](http://botimize.io) to get an API key.\n* Install botimize SDK with `npm`:\n\n  ```shell\n  npm install --save botimize\n  ```\n\n## Usage\n\n### Initialization\n\nUse Botimize API key to create a new botimize object, and `<PLATFORM>` should be `facebook`, `telegram`, `line` or `generic`.\n\n  ```javascript\n  const botimize = require('botimize')('<YOUR-BOTIMIZE-API-KEY>', '<PLATFORM>');\n  ```\n  ```javascript\n  const botimize = require('botimize')('NS1W0O5YCIDH9HJOGNQQWP5NU7YJ0S0S', 'facebook');\n  ```\n\n### Log incoming messages:\n\nThe log incoming message put into `logIncoming()` is slightly different from the body received from platform webhook but not complicated. For the sake of convience, the body sent are avaliable for both string and object type.\n\n#### Facebook\n\n- Use data format structure listed as below, where the messageBody is getting from [Facebook request body example](https://developers.facebook.com/docs/messenger-platform/webhook-reference#format).\n\n```javascript\nlet data = {\n  ...messageBody,\n  accessToken,\n};\nbotimize.logIncoming(data);\n```\n```javascript\nlet data = {\n  \"object\": \"page\",\n  \"entry\": [\n    {\n      \"id\": \"247349599062786\",\n      \"time\": 1492541234486,\n      \"messaging\": [\n        {\n          \"sender\": {\n            \"id\": \"1846048872078817\"\n          },\n          \"recipient\": {\n            \"id\": \"247349599062786\"\n          },\n          \"timestamp\": 1492541234394,\n          \"message\": {\n            \"mid\": \"mid.$cAAC6AFgUYTphs6kk2lbgmPaOon0R\",\n            \"seq\": 3915,\n            \"text\": \"hello facebook\"\n          }\n        }\n      ]\n    }\n  ],\n  accessToken: 'EAAXUgsVmiP8BAMcRWxLa1N5RycMzZBfjwiekoqCik6pZASPsnmkJtG29gp5QXdyMaKfFg0iZCIDlqhfhTZCLqRKuM4hUCfdZBcxl8GzKgZA0AwI8syxG49M9OaZCsjyZC8FPg30yIRDFG5hp9jNNtvqtWW0KKzB9a59rTkZBsgz2oe4QZDZD',\n};\nbotimize.logIncoming(data);\n```\n\n#### Telegram\n\n- Use data format structure listed as below, where the messageBody is getting from [Telegram request body example](https://core.telegram.org/bots/api#getting-updates).\n\n```javascript\nlet data = {\n  ...messageBody,\n  token,\n};\nbotimize.logIncoming(data);\n```\n```javascript\nlet data = {\n   \"update_id\":596819141,\n   \"message\":{\n      \"message_id\":27,\n      \"from\":{\n         \"id\":161696362,\n         \"first_name\":\"Kuan-Hung\",\n         \"username\":\"godgunman\"\n      },\n      \"chat\":{\n         \"id\":161696362,\n         \"first_name\":\"Kuan-Hung\",\n         \"username\":\"godgunman\",\n         \"type\":\"private\"\n      },\n      \"date\":1492511288,\n      \"text\":\"hello telegram\"\n   },\n   token: '308726257:AAHnmJpvkAepqirk82ZOrgtF6Hz2ijbRavA',\n};\nbotimize.logIncoming(data);\n```\n\n#### Line\n\n- Use data format structure listed as below, where the messageBody is getting from [LINE request body example](https://devdocs.line.me/en/#webhook-event-object).\n\n```javascript\nlet data = {\n  ...messageBody,\n  channelAccessToken,\n};\n```\n```javascript\nlet data = {\n   \"events\":[\n      {\n         \"type\":\"message\",\n         \"replyToken\":\"6a37af4d99a94ce9bbe9184171398b70\",\n         \"source\":{\n            \"userId\":\"Uc76d8ae9ccd1ada4f06c4e1515d46466\",\n            \"type\":\"user\"\n         },\n         \"timestamp\":1492439626890,\n         \"message\":{\n            \"type\":\"text\",\n            \"id\":\"5952264121603\",\n            \"text\":\"hello\"\n         }\n      }\n   ],\n   channelAccessToken: 'GxvuC0QfatJ0/Bv5d3DoVbUcfVd6MXLj9QY8aFHSqCYJkZhKG6u5I5dtbKZBNMbmLmwKox1Ktd0Kcwfsxm9S5OmIwQoChcV1gPlK/1CI8cUe3eqaG/UrqL65y1Birb6rnssT0Acaz+7Lr7V2WVnwrQdB04t89/1O/w1cDnyilFU=',\n};\nbotimize.logIncoming(data);\n```\n\n#### Generic\n```javascript\napp.post('/webhook', function (req, res)) {\n  const incomingLog = {\n    timestamp: '<TIME OF MESSAGE(in milliseconds)>',\n    recipient: {\n      id: '<UUID_OF_RECIPIENT>',\n      name: '<NAME_OF_RECIPIENT>'\n    },\n    sender: {\n      id: '<UUID_OF_SENDER>',\n      name: '<NAME_OF_SENDER>'\n    },\n    message: {\n      type: '<MESSAGE_TYPE>', // 'text', 'image', 'audio', 'video', 'file', 'location'\n      text: '<MESSAGE_CONTENT>'\n    }\n  };\n  botimize.logIncoming(incomingLog);\n  // ...\n}\n  ```\n\n### Log outgoing messages\n\nFor logging outgoing message, Botimize SDK provides two methods to parse the data. This is a little different from `logIncoming()` because outgoing messages have token for sending message to client. **\"Fortunately\"**, there are three platforms and have three differents ways to authorize by using token. **\"Unfortunately\"**, one easy way is all Botimize needs.\n\n[Request](https://github.com/request/request) is a popular nodejs package to make HTTP calls, so if you already use request to your project and send outgoing message, it will be very convenient to log outgoing message. If not, don't worry you just need to do a little change.\n\n#### Facebook \n- For those who already use request to your poject: Put options of request into `logOutgoing()`.\n  ```javascript\n  let options = {\n    uri: 'https://graph.facebook.com/v2.6/me/messages',\n    qs: { access_token: accessToken },\n    method: 'POST',\n    json: true,\n    body: messageBody,\n  };\n  request(options, function (error, response, body) {\n    botimize.logOutgoing(options, {parse: 'request'});\n    ...\n  });\n  ```\n\n- For those who are not using request to send outgoing messages: Use data format structure listed as below.\n  ```javascript\n  let data = {\n    ...messageBody,\n    accessToken,\n  };\n  botimize.logOutgoing(data, {parse: 'pure'});\n  ```\n  ```javascript\n  let data = {\n    recipient: { id: '1487766407960998' },\n    message: 'hello facebook messenger',\n    accessToken: 'EAAXUgsVmiP8BAMcRWxLa1N5RycMzZBfjwiekoqCik6pZASPsnmkJtG29gp5QXdyMaKfFg0iZCIDlqhfhTZCLqRKuM4hUCfdZBcxl8GzKgZA0AwI8syxG49M9OaZCsjyZC8FPg30yIRDFG5hp9jNNtvqtWW0KKzB9a59rTkZBsgz2oe4QZDZD'\n  };\n  botimize.logOutgoing(data, {parse: 'pure'});\n  ```\n\n\n#### Telegram\n- For those who already use request to your poject: Put options of request into `logOutgoing()`.\n  ```javascript\n  let options = {\n    uri: `https://api.telegram.org/bot${token}/sendMessage`,\n    method: 'POST',\n    json: true,\n    body: messageBody,\n  };\n  request(options, function (error, response, body) {\n    botimize.logOutgoing(options, {parse: 'request'});\n    // ...\n  });\n  ```\n- For those who are not using request to send outgoing messages: Use data format structure listed as below.\n  ```javascript\n  let data = {\n    ...messageBody,\n    token,\n  };\n  botimize.logOutgoing(data, {parse: 'pure'});\n  ```\n\n  ```javascript\n  let data = {\n    chat_id: '161696362',\n    text: 'hello telegram',\n    token: '308726257:AAHnmJpvkAepqirk82ZOrgtF6Hz2ijbRavA',\n  };\n  botimize.logOutgoing(data, {parse: 'pure'});\n  ```\n\n#### LINE\n- For those who already use request to your poject: Put options of request into `logOutgoing()`.\n  ```javascript\n  let options = {\n    uri: 'https://api.line.me/v2/bot/message/reply',\n    headers: {\n        'Authorization': `Bearer ${channelAccessToken}`,\n    },\n    method: 'POST',\n    json: true,\n    body: messageBody\n  };\n  request(options, function (error, response, body) {\n    botimize.logOutgoing(options, {parse: 'request'});\n    // ...\n  });\n  ```\n- For those who are not using request to send outgoing messages: Use data format structure listed as below.\n  ```javascript\n  let data = {\n    ...messageBody,\n    channelAccessToken,\n  };\n  botimize.logOutgoing(data, {parse: 'pure'});\n  ```\n  ```javascript\n  let data = {\n    replyToken: '9bd439c6961346d7b2ec4184469b9946',\n    messages: [{\n      type: 'text',\n      text: 'hello, this is a message from LINE chatbot',\n    }],\n    channelAccessToken: 'GxvuC0QfatJ0/Bv5d3DoVbUcfVd6MXLj9QY8aFHSqCYJkZhKG6u5I5dtbKZBNMbmLmwKox1Ktd0Kcwfsxm9S5OmIwQoChcV1gPlK/1CI8cUe3eqaG/UrqL65y1Birb6rnssT0Acaz+7Lr7V2WVnwrQdB04t89/1O/w1cDnyilFU=',\n  };\n  botimize.logOutgoing(data, {parse: 'pure'});\n  ```\n\n#### Generic\n```javascript\nconst outgoingLog = {\n  timestamp: '<TIME OF MESSAGE(in milliseconds)>',\n  recipient: {\n    id: '<UUID_OF_RECIPIENT>',\n    name: '<NAME_OF_RECIPIENT>'\n  },\n  sender: {\n    id: '<UUID_OF_SENDER>',\n    name: '<NAME_OF_SENDER>'\n  },\n  message: {\n    type: '<MESSAGE_TYPE>', // 'text', 'image', 'audio', 'video', 'file', 'location'\n    text: '<MESSAGE_CONTENT>'\n  }\n};\nbotimize.logOutgoing(outgoingLog, {parse: 'pure'});\n```\n\n## Send notifications\n\n### via email\n\n  ```javascript\n  const data = {\n    to: '<recipient-email>',\n    text: '<text-content-to-be-sent>'\n  };\n  botimize.notify(data, 'email');\n  ```\n\n### via Slack\n\n  ```javascript\n  const data = {\n    to: '<incoming-webhook-url>',\n    text: '<text-content-to-be-sent>'\n  };\n  botimize.notify(data, 'slack');\n  ```\n\n  `data` can have all properties supported by [Slack incoming webhook](https://api.slack.com/incoming-webhooks), e.g., `channel`, `username`, `icon_emoji`,  `attachments`, etc.\n\n## References & Full Examples\n\n### References\n* [facebook-incoming-message](https://developers.facebook.com/docs/messenger-platform/webhook-reference#format)\n* [facebook-outgoing-message](https://developers.facebook.com/docs/messenger-platform/send-api-reference#request)\n* [telegram-incoming-message](https://core.telegram.org/bots/api#getting-updates)\n* [telegram-outgoing-message](https://core.telegram.org/bots/api#sendmessage)\n* [line-incoming-message](https://devdocs.line.me/en/#webhook-event-object)\n* [line-outgoing-message](https://devdocs.line.me/en/?shell#reply-message)\n\n### Full Examples\n* [line-python-bot](https://github.com/botimize/line-python-bot)\n* [telegram-node-bot](https://github.com/botimize/telegram-node-bot)\n* [telegram-python-bot](https://github.com/botimize/telegram-python-bot)\n* [messenger-node-bot](https://github.com/botimize/messenger-node-bot)\n* [messenger-python-bot](https://github.com/botimize/messenger-python-bot)\n","versions":{"0.0.2":{"name":"botimize","version":"0.0.2","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"build":"babel src -d lib"},"main":"lib/botimize.js","dependencies":{"request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2"},"gitHead":"30b456b21064616d623cf61956ec71bd467aa99c","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.0.2","_shasum":"1456f1edbf5a427b4d00c03a5f1d08ce6937466f","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"botimize.io","email":"dev@botimize.io"},"dist":{"shasum":"1456f1edbf5a427b4d00c03a5f1d08ce6937466f","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.0.2.tgz","integrity":"sha512-1l8FSQe3FqY0mMdmS64QUo68mlEYCwQvT7hNvg3ukMsxpWu9lIKMcne0X8ENnWGwGmKgKfEKMeK1cGNwqM9Nqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGbjxdfCvtBFozBpF3ME4a5Z/FIKFKLjpeg16FxAglJGAiEAwCZ1CY0CHGaYuf5aoGE65dyAXJMcg8mSwoVJSfD4dCg="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/botimize-0.0.2.tgz_1473390246560_0.4269221748691052"}},"0.1.0":{"name":"botimize","version":"0.1.0","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"build":"babel src -d lib","prepublish":"npm run build"},"main":"lib/botimize.js","dependencies":{"request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","express":"^4.14.0","localtunnel":"^1.8.1","request":"^2.74.0"},"gitHead":"69b4d030692aede4e17ba0d5b06b0d8682a35c83","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.1.0","_shasum":"300b977e37ebc86ce0d916441ca460dfb63b87b0","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"houjunchen","email":"houjunchen@gmail.com"},"dist":{"shasum":"300b977e37ebc86ce0d916441ca460dfb63b87b0","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.1.0.tgz","integrity":"sha512-fwLAvVzw/kIio+def6ECtwxCYcVbMIq0+xPLRGwAYw5c31a33t9ooyuT6Sn+yQzIMkCHxxqtF1hzhM5h5TZczg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjIZo7ON3nZ5nzKdgKfE3M68dGX7eeVhNgcFFiP2T7IAiEAlOyFMgX1fNohoVyMfzAI+jrIpNNYIOdF/2tyBy2RI38="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/botimize-0.1.0.tgz_1473438026411_0.6848507893737406"}},"0.2.0":{"name":"botimize","version":"0.2.0","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepublish":"npm run build"},"main":"lib/botimize.js","dependencies":{"request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","localtunnel":"^1.8.1","request":"^2.74.0"},"gitHead":"24ad91f895ded8649597cbf027e407d1b685bf21","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.2.0","_shasum":"891b14b5f2fc5aacfda74de76caeaa3e88d8eeff","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"houjunchen","email":"houjunchen@gmail.com"},"dist":{"shasum":"891b14b5f2fc5aacfda74de76caeaa3e88d8eeff","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.2.0.tgz","integrity":"sha512-ftntYufOKBx4uRhkSStE3IPekvhGHF6v5Z6ZpJNazGFef5jbChOKH5arqXy9N9tFfNDjOZgZQS/pcmaX323jHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGUwIXAd0U5axoxJGsDNiUcr+8Q0qQOmdPojBqoPnDn6AiAUB4QJW/e35qlT4InCi7k3MO7SxoF/Dsuz32gIw3a9HA=="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/botimize-0.2.0.tgz_1473823360501_0.2967763796914369"}},"0.2.1":{"name":"botimize","version":"0.2.1","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepublish":"npm run build"},"main":"lib/botimize.js","dependencies":{"request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","localtunnel":"^1.8.1","request":"^2.74.0"},"gitHead":"ea44e0ea45cb824b4fab22cb58c3ee5e44c91dfc","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.2.1","_shasum":"9774089a3b7775446b3f78a0b9faeac13604c493","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"houjunchen","email":"houjunchen@gmail.com"},"dist":{"shasum":"9774089a3b7775446b3f78a0b9faeac13604c493","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.2.1.tgz","integrity":"sha512-5DWLzyNMkZ+z2K96FlngpiHzfOS5GNjW7fP1awipUtrm21hGsoe4GO4UpdJMPk070qwiX5LK0rIG+kiWl0+mOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWeyTd+aYLfMyIsYA6K2ke4phQQXCrxD8uborC3h1jeAiEA3IlFFbkfI0C9mh9eVOFIKeIZNyxxrStw/Jmg+4E7guo="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/botimize-0.2.1.tgz_1474869686068_0.7896656272932887"}},"0.3.0":{"name":"botimize","version":"0.3.0","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepublish":"npm run build"},"main":"lib/botimize.js","dependencies":{"request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","localtunnel":"^1.8.1","request":"^2.74.0"},"gitHead":"b9736c60b5c9cb65896257819b301199a7135e2d","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.3.0","_shasum":"e996043a7c0ba0fbfbd6f1404bcb514e2340622c","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"houjunchen","email":"houjunchen@gmail.com"},"dist":{"shasum":"e996043a7c0ba0fbfbd6f1404bcb514e2340622c","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.3.0.tgz","integrity":"sha512-WMXjOWDq5g6h+xkWh6YLQ9uVJ+o/DXpDJ2qqR6bu++sHVF1+qnrOPwJ7aj3jzGXVCldMaRo2WufRJXrQBm6lmw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFk/bpUa/5J7NymHcgCKwHl8DMBVWnv7F7lu+F76El5XAiEAhl+WDRG2UoggbV5odRxM2oabQ1VcCjaAgPpt/zOmHbk="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/botimize-0.3.0.tgz_1475046707971_0.7867419612593949"}},"0.3.1":{"name":"botimize","version":"0.3.1","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepublish":"npm run build"},"main":"lib/botimize.js","dependencies":{"request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","localtunnel":"^1.8.1","request":"^2.74.0"},"gitHead":"b05164af6794204fb8374abf81852dcd0b8d08c3","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.3.1","_shasum":"cff149784260b3b3f148380bad73469e40df7f3f","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"houjunchen","email":"houjunchen@gmail.com"},"dist":{"shasum":"cff149784260b3b3f148380bad73469e40df7f3f","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.3.1.tgz","integrity":"sha512-KfIi5+d1nhNwzJgtgPzDanX3mFk9bNkRkmtbzbvSUafTBUAjny/Z6SjhX++X4Wnbbp5AAPDjssccvXXHtxk3zA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA0UOGBXbVcSH56w6nIwhVJofFldTwYLA65u/u9haRLTAiAQJh1AU6dS2IGx1hefr3oTyT2a6Nwu5ldXM1BlCr/IrQ=="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/botimize-0.3.1.tgz_1475123437594_0.5125767816789448"}},"0.4.0":{"name":"botimize","version":"0.4.0","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepublish":"npm run build"},"main":"lib/botimize.js","dependencies":{"request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","localtunnel":"^1.8.1","request":"^2.74.0"},"gitHead":"29f2fc72ac0c722b72013f6850927c814e7854da","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.4.0","_shasum":"bc1dbd690acaad058660f5d9245177772b37342f","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.7.0","_npmUser":{"name":"houjunchen","email":"houjunchen@gmail.com"},"dist":{"shasum":"bc1dbd690acaad058660f5d9245177772b37342f","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.4.0.tgz","integrity":"sha512-bdFxO3xkcSE4CBHO/uhVGkaYFAWBEJD35j3axVvOF6Rcter6c6YXHAY2tU7srshZpFIoBQG/DY5hd5t403OwHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEs3+xO5EjneYddVzfptQUBA8EXJusA3awAkTKQbpXpjAiEAl1m7Zhgg02Ya3xIA8JpcFPRxy6KQ4NxIEZQSIkRBK1U="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/botimize-0.4.0.tgz_1477399796931_0.7060138636734337"}},"0.4.2":{"name":"botimize","version":"0.4.2","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepublish":"npm run build"},"main":"lib/botimize.js","dependencies":{"request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","localtunnel":"^1.8.1","request":"^2.74.0"},"gitHead":"6deccf00db402396ac62705b7daf0fa49dd68111","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.4.2","_shasum":"19a50870a2bb1c68ece4dd315459c3f4e1fef249","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"darkbtf","email":"darkbtf@gmail.com"},"dist":{"shasum":"19a50870a2bb1c68ece4dd315459c3f4e1fef249","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.4.2.tgz","integrity":"sha512-KJaHgatthc/eVwZo9yDFfLJCs0bA6qPH5UkgmE6LY7s8u3eRpE3VwKtK8S05BHb3Fqhn+/jhviQ8iEijyp3o7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxTEvT9IboJh97UwHMtvfxVms6WUq9iJr1BVBG4OW4VAIhANzIO4TTGeRWfvQMfUcb/24X6PZmhIXewF6Q4ktRPDHm"}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"darkbtf","email":"darkbtf@gmail.com"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/botimize-0.4.2.tgz_1481634138209_0.5565298194997013"}},"0.5.0-beta":{"name":"botimize","version":"0.5.0-beta","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepare":"npm run build","prepublish":"npm run build"},"main":"lib/botimize.js","dependencies":{"lodash":"^4.17.4","mocha":"^3.4.2","request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","localtunnel":"^1.8.1","request":"^2.74.0"},"gitHead":"af28a0245fc62e9e5d264e53de3a45da0f070280","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.5.0-beta","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"botimize.io","email":"dev@botimize.io"},"dist":{"integrity":"sha512-JYoiMzjo7F3eDAetvPUGJN7NT4UgW7chAqKrD9fL7Zap790PaUGXLoLGkN1a4e8zyH9Ep2bFkSYRUvQeJ0DEuw==","shasum":"a7ec1a821c7d06125d503e81c0ded624b8b78abf","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.5.0-beta.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICH4/VGhKWryLDVISMMBguxiAKS1lsJ2fXOQqX6zpi6pAiARsGW5MN+AdeZK8db8uJ6j5WE2R/70qR/qgbvqaQMRKg=="}]},"maintainers":[{"email":"darkbtf@gmail.com","name":"darkbtf"},{"email":"houjunchen@gmail.com","name":"houjunchen"},{"email":"dev@botimize.io","name":"botimize.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/botimize-0.5.0-beta.tgz_1496824843456_0.810511470772326"}},"0.5.0":{"name":"botimize","version":"0.5.0","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepare":"npm run build","prepublish":"npm run build","test":"jest"},"main":"lib/botimize.js","dependencies":{"lodash":"^4.17.4","request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","jest":"^20.0.4","localtunnel":"^1.8.1","request":"^2.74.0"},"jest":{"verbose":true},"gitHead":"9eee8218a17ae445d6305a92d8ff2e0a11eff1ba","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@0.5.0","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"botimize.io","email":"dev@botimize.io"},"dist":{"integrity":"sha512-Amgi0xUlVMykI3zeUMnJsGqkZc6t5AkoXxsJ1uqLa2V7bLCvmAfRkPI2AzswpwWhJzkipWz+wVLcapzjdczcLQ==","shasum":"87aeff372f8b1fea6f7c5c690355deb28270ddc6","tarball":"https://registry.npmjs.org/botimize/-/botimize-0.5.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCowa70N+lA+N1Ji6l63KBvJn5iTsHNudKlwlqdTmw7mwIhAOOUFfzhDma8wXT4KUkVasNBPq8QwuRPcwrcKgk/6+qw"}]},"maintainers":[{"email":"darkbtf@gmail.com","name":"darkbtf"},{"email":"houjunchen@gmail.com","name":"houjunchen"},{"email":"dev@botimize.io","name":"botimize.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/botimize-0.5.0.tgz_1497628564946_0.8731017513200641"}},"1.0.0":{"name":"botimize","version":"1.0.0","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","chatbot","sdk","analysis"],"author":{"name":"botimize, Inc.","email":"dev@botimize.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepare":"npm run build","prepublish":"npm run build","test":"jest"},"main":"lib/botimize.js","dependencies":{"lodash":"^4.17.4","request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","jest":"^20.0.4","localtunnel":"^1.8.1"},"jest":{"verbose":true},"gitHead":"908e91f6a1fcdc71093f3bf7d53d24a3ae4848c6","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@1.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"botimize.io","email":"dev@botimize.io"},"dist":{"integrity":"sha512-yP/pOCcFnALfE2eOTMAzAADYMxqAWfXjfZq9sda5hahpSd7T3q14dVMR3ghhL8rtVSd+cy/DwdgAK/SErf73yw==","shasum":"f64454d33dc6b9a991cc46ed649ec517aa482fc5","tarball":"https://registry.npmjs.org/botimize/-/botimize-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAOJ+4DSNXhH6cNktYzsvmxbj7jf4FGSo+UqSP859mqoAiAY3L6EsCZQUn4QJmALz5oxmVLFOv2dONj45G/RV/P14Q=="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"darkbtf","email":"darkbtf@gmail.com"},{"name":"godgunman","email":"godgunman@gmail.com"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/botimize-1.0.0.tgz_1500917846625_0.7665874904487282"}},"1.0.1":{"name":"botimize","version":"1.0.1","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","chatbot","sdk","analysis"],"author":{"name":"Botimize, Inc.","email":"dev@getbotimize.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepare":"npm run build","prepublish":"npm run build","test":"jest"},"main":"lib/botimize.js","dependencies":{"lodash":"^4.17.4","request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","jest":"^20.0.4","localtunnel":"^1.8.1"},"jest":{"verbose":true},"gitHead":"96ce6172f5aaec9180a9fa20d1feebc96ab136c0","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@1.0.1","_shasum":"d20f0262af0fece1ef14bf219f0383e0ad2f964e","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"godgunman","email":"godgunman@gmail.com"},"dist":{"shasum":"d20f0262af0fece1ef14bf219f0383e0ad2f964e","tarball":"https://registry.npmjs.org/botimize/-/botimize-1.0.1.tgz","integrity":"sha512-eBm9iGQ8bLmVS8AW8OJMzxwKX3b4+9VJIBFHRTIMp+vrtdKh8bLBswcuiWoXL6EmITkaM9p8VR8aXFWDONPBoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWEN0Mvaklq8PpfabII5XQ8TJwiRKkDT+zPSDSEcqO5AiEAvLwcnAae22Y0li2DeDry0BvZg4/YiGK4PGpQGIhLyug="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"darkbtf","email":"darkbtf@gmail.com"},{"name":"godgunman","email":"godgunman@gmail.com"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/botimize-1.0.1.tgz_1502203496880_0.6965520817320794"}},"1.0.2":{"name":"botimize","version":"1.0.2","description":"The sdk of botimize","directories":{"lib":"./lib"},"keywords":["botimize","bot","chatbot","sdk","analysis"],"author":{"name":"Botimize, Inc.","email":"dev@getbotimize.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"scripts":{"lint":"npm run lint:src && npm run lint:examples","lint:examples":"eslint examples","lint:src":"eslint src","build":"babel src -d lib","prepare":"npm run build","prepublish":"npm run build","test":"jest"},"main":"lib/botimize.js","dependencies":{"lodash":"^4.17.4","request":"^2.74.0"},"devDependencies":{"babel-cli":"^6.11.4","babel-core":"^6.13.2","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.13.2","body-parser":"^1.15.2","eslint":"^3.5.0","eslint-config-standard":"^6.0.0","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","express":"^4.14.0","jest":"^20.0.4","localtunnel":"^1.8.1"},"jest":{"verbose":true},"gitHead":"50566d6fd9cfc4a99ead7c28a8739a182fba3969","bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","_id":"botimize@1.0.2","_shasum":"0e6c0f8df4f988830e19c8b597dc48cae0769528","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"godgunman","email":"godgunman@gmail.com"},"dist":{"shasum":"0e6c0f8df4f988830e19c8b597dc48cae0769528","tarball":"https://registry.npmjs.org/botimize/-/botimize-1.0.2.tgz","integrity":"sha512-ZYnsE9Kk9nwX3GrczM65G2XLP9FJJObF3WoBAKICDUEOvTLHZ8wVfir18RkXxjXuSCxbrpq4+9zuqO0Ag4oomA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICvxOmmF7J3jgXh6uUZfFzAh2euDXBzWbv2HuYyWc385AiEA8yXI1GG2r8XiGzR1AI1gX/ylW2sGvH1IF3pSv0GqFho="}]},"maintainers":[{"name":"botimize.io","email":"dev@botimize.io"},{"name":"darkbtf","email":"darkbtf@gmail.com"},{"name":"godgunman","email":"godgunman@gmail.com"},{"name":"houjunchen","email":"houjunchen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/botimize-1.0.2.tgz_1502440871278_0.07108134962618351"}}},"homepage":"https://github.com/botimize/botimize-sdk-js#readme","keywords":["botimize","bot","chatbot","sdk","analysis"],"repository":{"type":"git","url":"git+https://github.com/botimize/botimize-sdk-js.git"},"author":{"name":"Botimize, Inc.","email":"dev@getbotimize.com"},"bugs":{"url":"https://github.com/botimize/botimize-sdk-js/issues"},"license":"MIT","readmeFilename":"README.md","users":{"botimize.io":true}}