@botocrat/telegram
Version:
Simple, light-weight Telegram Bot Client for Node.js.
24 lines (23 loc) • 801 B
JavaScript
const streamMethods = require('./stream')
const createRequester = require("./request");
const downloader = require('./download')
const defaultOptions = {
baseUri: 'https://api.telegram.org',
fileSizeLimit: Infinity
}
module.exports = (options = {}) => {
const {token, debug, baseUri, fileSizeLimit} = {...defaultOptions, ...options}
if(typeof token != 'string'){
throw Error('you should provide valid token')
}
const request = createRequester(baseUri + '/bot' + token+ '/', debug)
const download = downloader({ token, fileSizeLimit, baseUri })
return new Proxy({}, {
get: (o, endpoint) =>
endpoint === 'download'
? download
: (params) =>
request(endpoint, params, streamMethods[endpoint] && streamMethods[endpoint](params)),
})
}