web-dev-qa-db-ja.com

ボットなしでnode.jsで自分の電報メッセージを受信する方法

Nodejsの非常に単純なクライアント(例)を使用して、連絡先から電報でメッセージを受信できるようにします。インターネットで検索しましたが、ボットサンプルしか取得できません。ボットに特権を与えるためのアクセス権がないグループメッセージを受信したいので、ボットなしで自分のメッセージを仲介者として受信できるかどうかを知りたいです。

14

まあ...他の答えは、unmaintainedライブラリからの例を与えます。したがって、これらのライブラリに依存しないでください。

参照:telegram.link is dead


最新のTelegramクライアントライブラリ(telegram-mtprotoを使用する必要があります。

1.api_idおよびapi_hash from:

Telegram Apps

2.必要なクライアントライブラリをインストールします:

npm install telegram-mtproto@beta --save

3.node.jsアプリケーションの初期化api_idおよびapi_hashあなたは Telegram Apps から、そして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.メッセージの受信(楽しい部分!???????? ‍ ????)

const telegram = require('./init') // take a look at the init.js from the examples repo

const getChat = async () => {
  const dialogs = await telegram('messages.getDialogs', {
    limit: 50,
  })
  const { chats } = dialogs;
  const selectedChat = await selectChat(chats);

  return selectedChat;
}

さらに、元のリポジトリの例を見てください:

29
gokcand

公式アプリケーション(ウェブサイト、モバイル、デスクトップアプリなど)の外部のTelegramデータとやり取りしたい場合を作成しますアプリ、つまり が必要ですAPIキーを生成するために および/または要件に合った既存のアプリを使用します(ボットあなたの場合)。

APIシステムでは、アクセスする権限を以前に付与または追加していない場合、制限されたものへのアクセスを取得するのが難しいように見えることを強調しましょう...誰もがデータにアクセスできることを望んでいません...

よろしく

1
A STEFANI

次のライブラリを使用できます。

それらは、電報と対話するアプリケーションを構築するための抽象化を提供します。 telegram-jsの使用方法の例については、 https://github.com/dot-build/telegram-js/blob/master/sample.js を使用できます。

(フィードバックをありがとう@gokcand)