Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/telekits/teleapi
🚀 The useful library to simplify your work with Telegram Bot API
https://github.com/telekits/teleapi
api bot es6 javascript library network nodejs tekekit telegram telegram-api
Last synced: 29 days ago
JSON representation
🚀 The useful library to simplify your work with Telegram Bot API
- Host: GitHub
- URL: https://github.com/telekits/teleapi
- Owner: telekits
- License: mit
- Created: 2015-07-03T15:25:27.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-03-31T13:52:07.000Z (over 6 years ago)
- Last Synced: 2024-11-14T11:18:44.553Z (about 1 month ago)
- Topics: api, bot, es6, javascript, library, network, nodejs, tekekit, telegram, telegram-api
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/teleapi
- Size: 101 KB
- Stars: 56
- Watchers: 7
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
telekit
 • 
teleapi[![Build Status](https://travis-ci.org/telekits/teleapi.svg?branch=master)](https://travis-ci.org/telekits/teleapi)
[![npm](https://img.shields.io/npm/v/teleapi.svg)](https://www.npmjs.com/package/teleapi)
[![npm](https://img.shields.io/npm/dt/teleapi.svg)](https://www.npmjs.com/package/teleapi)
[![Airbnb code style](https://img.shields.io/badge/code_style-Airbnb-ff69b4.svg)](https://github.com/sindresorhus/xo)
[![license](https://img.shields.io/github/license/telekits/teleapi.svg)](./LICENSE)> Now support the Telegram Bot API 3.6
## What is it?
This is useful library to simplify your work with the Telegram Bot API
> Before you start, please, read an introduction for developers.
> [Just a moment, I'll read it.](https://core.telegram.org/bots "Bots: an introduction for developers")## Install
npm
```console
$ npm install teleapi --save
```yarn
```console
$ yarn add teleapi
```## How it use?
Elementary!
Look at the next example that show you how to send request to `getMe` method:
```javascript
/** First be we've required the teleapi */
const teleapi = require('teleapi');/**
* Next we need a get an instance of the teleapi.
* Also, we should set the bot token.
*/
const api = teleapi('telegram_bot_token');/**
* And now we can send requests to the Telegram Bot API;
* This method returns info about the bot to us.
*
* (`getMe` method is available in the Telegram Bot API).
*/
api.getMe().then((response) => {
/** Bot ID */
console.log('id:', response.id);
/** and username of the our bot */
console.log('username:', response.username);/**
* And also first name and last name and lang code.
* See about it below.
*/
}).catch((error) => {
/** Something is wrong! */
console.log(error);
});
```
> If you want to see available methods and types:
> [Please, have a look at here first.](https://core.telegram.org/bots/api#available-types "Telegram Bot API")## API
#### `teleapi(token, [api]);`
* `token:String` - Token of the Bot that you can get from the BotFather
* `api:Object` - **(optional)** An Object with Custom API(see [api.json](./api.json "Default API"))
* Returns: `api` - An instance of the teleapi.Creates an new instance of the teleapi with your token of the bot.
#### `teleapi.version:String`
A contain of the current API version.#### `teleapi.methods:Array`
A contain an Array of String with all available methods.#### `api.getFile(id);`
* `id:String` - File ID
* Returns: `Stream` - A stream with file dataGet file from the Telegram.
#### `api.method(name, [params]);`
* `name:String` - Name of the method that available in the Telegram Bot API
* `params:Object` - **(optional)** An Object with body params for the request
* Returns: `Promise` with response in `then`This method send request to the Telegram Bot API;
It's private method but you can use it.#### `api.(params);`
* `params:Object` - An Object with body params for the request
* Returns: `Promise` with response in `then`The `` is one of the available methods from Telegram Bot API.
> See all available methods [here](https://core.telegram.org/bots/api#available-methods "Telegram Bot API").
## Examples
**Send text message to chat**
```javascript
const teleapi = require('teleapi');const api = teleapi('telegram_bot_token');
/** Send request with chat and text message */
api.sendMessage({
chat_id: 0000,
text: 'Hello!',
});
```**Save file from the Telegram**
```javascript
const teleapi = require('teleapi');const api = teleapi('telegram_bot_token');
/** Send request with file id */
api.getFile('file_id').pipe(fs.createWriteStream('image.png'));
```**Send sticker(file_id)**
```javascript
const teleapi = require('teleapi');const api = teleapi('telegram_bot_token');
/** Send request where `sticker` is a file id */
api.sendSticker({
chat_id: 0000,
sticker: 'file_id',
});
```**Send document(stream.Readable)**
```javascript
const teleapi = require('teleapi');
const fs = require('fs');const api = teleapi('telegram_bot_token');
/** Send request where `document` is stream.Readable */
api.sendDocument({
chat_id: 0000,
document: fs.readFile('book_from_tpb.pdf'),
});
```**Send photo(URL)**
```javascript
const teleapi = require('teleapi');const api = teleapi('telegram_bot_token');
/** Send request where `photo` is an URL */
api.sendPhoto({
chat_id: 0000,
photo: 'https://upload.wikimedia.org/wikipedia/commons/d/d9/Test.png',
});
```**Send voice(Buffer)**
```javascript
const teleapi = require('teleapi');const api = teleapi('telegram_bot_token');
/** Send request where `voice` is a Buffer */
api.sendVoice({
chat_id: 0000,
voice: new Buffer([1, 2, 3]),
});
```**Send document(strict)**
```javascript
const teleapi = require('teleapi');
const fs = require('fs');const api = teleapi('telegram_bot_token');
/** Send request where 'document' is an Object with strict data */
api.sendDocument({
chat_id: 000000,
document: {
filename: 'photo.png',
value: fs.readFile('family_photo.dat'),
mime: 'image/png',
},
});
```> A more is coming soon.
## LICENSE
[MIT](./LICENSE "The MIT License") © [Denis Maslennikov](https://github.com/nof1000 "Author")