問題タブ [mtproto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Telegram MTProto プロトコル API 呼び出しを行うにはどうすればよいですか?
たとえば、auth.sentCode
メソッドを呼び出し/ラップするには (以下のリンク):
https://core.telegram.org/method/auth.sendCode
私が試してみました:
この例外(および内部例外)が発生します
基になる接続が閉じられました: 送信時に予期しないエラーが発生しました。(相手側がトランスポートストリームを閉じているため、認証に失敗しました。)
api - リクエストで Telegram API メソッドを指定して実装する方法は?
私は単純に Telegram API サーバーに接続して応答を得ようとしています。my.telegram.org でアプリを作成しました。これで、api_id、api_hash、および Telegram api MTproto サーバーへの IP アドレスを取得しました。ドキュメントを開始するには、最初にauth.sendCodeメソッドを使用して認証し、API ユーザーの電話にコードを送信する必要があると記載されています。
だから私はauth.sendCodeメソッドを使用するためにこのpythonスクリプトを試しました:
resを印刷すると、Response [404]と表示されます。ドキュメントによると、メソッドなどの存在しないオブジェクトを呼び出そうとする試みを意味します。
問題は、投稿リクエストのデータ フィールドにあると確信しています。auth.sendCode メソッドを呼び出すために作成した文字列が間違っているため、サーバーは到達しようとしているものを認識できません。
ドキュメントにそのメソッドのクエリの例があります:
(auth.sendCode "79991234567" 1 32 "テストハッシュ" "en")
誰かがそのデータ文字列を修正するのを手伝ってください (この例によると)。Post Requests で API メソッドを実装するにはどうすればよいですか?
c# - TL 言語 (mtproto) 型を C# に変換する
https://core.telegram.org/mtprotoで説明されている Telegram Api TL 言語のスキーマを C#でコンパイルするために、tl-language コンパイラを使用しています。
tl-language を C# クラスにコンパイルするコンパイラがありますhttps://github.com/everbytes/SharpTL.Compiler
ただし、次の行で新しいテレグラム スキーマをコンパイルできます。
そして、それを間違ったコードにコンパイルします:
C#コードでのキャストに解決策はありますか?
C# のこの「flags:#」の型がわかりません
https://core.telegram.org/mtproto/TL-formalに記載されているこの型「#」
将来的には、フラグ フィールドのビット 3 と 4 を使用して、reserved3 フィールドと reserved4 フィールドの名前とタイプを変更した後、新しいフィールドを送信することができます。
tcp - cmd または bash で Telegram API にクエリを実行する方法
API の使用を開始するための最初のステップの 1 つは、これです。MTProto サーバー (149.154.167.40:443)、電話番号、API ID、ハッシュ...
正確にはどうすればいいですか?そのようなクエリを作成するにはどうすればよいですか? わかりません。
前もって感謝します
android - テレグラム: テレグラム クライアントからファイル ID を取得する
Telegram ボットはfileid
、ファイルのダウンロードに使用します。fileid
これを Telegram client (My Unofficial version) から取得するにはどうすればよいですか? のファイルにmtproto
は、アドレスを示すこのロケーション クラスがあります。
ファイルの場所のパラメータ
- dc_id int ファイルを保持しているデータセンターの番号
- volume_id long サーバーのボリューム
- local_id int ファイル ID
- ファイルにアクセスするための秘密の長いチェックサム
問題は、クラスfileid
からボットに適した を生成する方法がわからないことです。File Location
更新 1:
私はいくつかのリバースエンジニアリングを試みました。File Location
それで、クラスとの間に何らかの関係があることがわかりましたFileId
。
私のFile Location
サンプルアドレスです。
- id:
0
// このフィールドはシークレット チャットでのみ使用できます - access_hash:
0
// このフィールドはシークレット チャットでのみ使用できます - volume_id:
429640340
(199BCA94 HEX
) - secret:
-3528741004939935589
(CF0764C08833409B HEX
) // TG ドキュメントによると、ファイル CheckSum である必要があります - local_id:
6005
(1775 HEX
)
これは、ボットから取得しFileID
た以前のクラスによると、次のとおりです。FileLocation
- ファイル ID:
AgADBAADL6gxG06L8w0nhNO87UW3iZTKmxkABJtAM4jAZAfPdRcAAgI
FileID
値がBase64
フォーマットであることは明らかです。だから私はそれをデコードしました:
- 16 進値:
0200030400032FA8311B4E8BF30D2784D3BCED45B78994CA9B1900049B403388C06407CF7517000202
FileLocation
これで、この 16 進値で値を確認できます。
- わからない:
0200030400032FA8311B4E8BF30D2784D3BCED45B789
- ボリューム ID:
94CA9B19 HEX
- わからない:
0004
- ひみつ:
9B403388C06407CF HEX
- local_id:
7517 Hex
- わからない:
000202
注: 値はBig-Endian
形式で保存されます。
次に、値をデコードする必要がありUnknown
ます。これらの値を解読するのに役立つ努力に感謝します。