Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iliiliiliili/easy-telegram-mtproto
Telegram Client API wrapper for telegram-mtproto
https://github.com/iliiliiliili/easy-telegram-mtproto
Last synced: about 2 months ago
JSON representation
Telegram Client API wrapper for telegram-mtproto
- Host: GitHub
- URL: https://github.com/iliiliiliili/easy-telegram-mtproto
- Owner: iliiliiliili
- License: mit
- Created: 2019-01-21T21:42:48.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-23T23:18:06.000Z (almost 6 years ago)
- Last Synced: 2024-09-28T07:17:39.579Z (3 months ago)
- Language: JavaScript
- Size: 7.81 KB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
# Easy Telegram Mtproto
- Easy interface for telegram-mtproto
- Allows you to create custom telegram clients, chat-bots as user, etc### Install
```npm install easy-telegram-mtproto```### Examples
```js
const TelegramClient = require ('easy-telegram-mtproto');
const data = require ('./login-data.json');const main = async () => {
console.log (data);
const client = new TelegramClient (data.app.api_id, data.app.api_hash,
data.phone,
async () => data.phone,
() => {const readline = require ('readline');
const rl = readline.createInterface ({
input: process.stdin,
output: process.stdout
});return new Promise (resolve => {
rl.question ('Code', (answer) => {
rl.close ();
resolve (answer);
});
});
});await client.login ();
const chats = await client.getChats ();
const me = chats.find ((chat) => chat.self);console.log (me);
client.sendMessage (me, 'Hello, is it me you\'re looking for?');
};main ();
````
### Methods
- ```TelegramClient (apiId, apiHash, name, getPhone, getCode, getRandomMessageId, storageFolder)```
- apiId and apiHash you can get from [telegram website](https://my.telegram.org/auth?to=apps).
- name is needed to save login keys.
- getPhone and getCode are async functions that are called when phone number or telegram login code are required.
- getRandomMessageId is called when message random_id is required
- storageFolder to save login keys.
- ```async asInputPeer (...args)``` converts chat object to InputPeer
- ```async login ()``` logs in telegram if was not logged in before
- ```async getChats ()``` returns list of all chats (max 1000)
- ```async getAndSaveChatsData (jsonFileName = 'chats.json', txtFileName = 'chats.txt')``` gets short chats data and saves it to file
- ```async chatHistory (chat)``` reads all history from chat
- ```async forwardMessages (from, to, messages)``` forwardes messages from on chat to another
- ```async deleteMessagesFromChannel (from, messages)``` deletes selected message from channel or supergroup
- ```async sendMessage (target, message)``` sends message to chat
- ```async call (...args)``` calls custom API method. [List of methods](https://core.telegram.org/methods)
```js
await client.call ('messages.sendMessage', {
peer: TelegramClient.asInputPeer (target),
random_id,
message,
});
````