How to receive my own telegram messages in node.js without bot

前端 未结 3 370
清歌不尽
清歌不尽 2021-01-31 05:51

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.

相关标签:
3条回答
  • 2021-01-31 06:14

    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

    0 讨论(0)
  • 2021-01-31 06:18

    You can use the following libraries.

    • https://github.com/zerobias/telegram-mtproto
    • https://github.com/dot-build/telegram-js

    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)

    0 讨论(0)
  • 2021-01-31 06:29

    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

    1. Obtain your api_id and api_hash from:

    Telegram Apps

    2. Install the required client library:

    npm install telegram-mtproto@beta --save

    3. Initialize your node.js application with 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();
    

    4. Receive messages (The fun part!

    0 讨论(0)
提交回复
热议问题