I would like to have a very simple client in nodejs (an example) that can receive messages from my contacts in telegram. I just searched in internet but I only get bot samples.
If you want to interact with Telegram data outside one of the official applications (website, mobile or desktop app etc...) you will have to create an App, so you will be required to generate API key and/or use any already existing App which fit your requirement (bots in your case).
Let me underline that with API system it appear difficult to get access to something which is restricted, if you don't have previously grant or add privileges to access it ... Nobody want that anyone could access any data...
Regards
You can use the following libraries.
They provide abstractions to build applications to interact with telegram. for an example on how to use telegram-js, you can use https://github.com/dot-build/telegram-js/blob/master/sample.js.
(Thank you @gokcand for the feedback)
Well... Other answers give examples from unmaintained libraries. Hence, you should not rely on these libraries.
See: telegram.link is dead
You should use the newest Telegram client library which is telegram-mtproto
api_id
and api_hash
from:Telegram Apps
npm install telegram-mtproto@beta --save
api_id
and api_hash
you got from Telegram Apps and with your phone number
:import MTProto from 'telegram-mtproto'
const phone = {
num : '+90555555555', // basically it is your phone number
code: '22222' // your 2FA code
}
const api = {
layer : 57,
initConnection : 0x69796de9,
api_id : 111111
}
const server = {
dev: true //We will connect to the test server.
} //Any empty configurations fields can just not be specified
const client = MTProto({ server, api })
async function connect(){
const { phone_code_hash } = await client('auth.sendCode', {
phone_number : phone.num,
current_number: false,
api_id : 111111, // obtain your api_id from telegram
api_hash : 'fb050b8fjernf323FDFWS2332' // obtain api_hash from telegram
})
const { user } = await client('auth.signIn', {
phone_number : phone.num,
phone_code_hash: phone_code_hash,
phone_code : phone.code
})
console.log('signed as ', user);
}
connect();