電報機器人使用fileid
下載文件。我怎樣才能從電報客戶端(我的非官方版本)得到這個fileid
? mtproto
中的文件有this location class,表示他們的地址。電報:從電報客戶端獲取fileid
文件位置參數
- dc_id數據中心的 INT編號拿着文件
- volume_id長期服務器卷
- local_id INT文件編號
- 祕密長期校驗和訪問文件
的問題是我不知道如何生成fileid
適合於從File Location
類機器人。
更新1:
我試着做一些逆向工程。所以,我發現File Location
班和FileId
之間有一些關係。
這是我的File Location
樣本地址。
- ID:
0
//此字段僅可用於祕密聊天 - access_hash:
0
//此字段僅可用於祕密聊天 - volume_id:
429640340
(199BCA94 HEX
) - 祕密:
-3528741004939935589
(CF0764C08833409B HEX
)//根據TG文檔,它應該是文件校驗和 - local_id:
6005
(1775 HEX
)
這是我根據FileID
到我檢索它從我的機器人前FileLocation
類:
- FILEID:
AgADBAADL6gxG06L8w0nhNO87UW3iZTKmxkABJtAM4jAZAfPdRcAAgI
很明顯,FileID
值是Base64
格式。所以,我已經解碼它:
- 十六進制值:
0200030400032FA8311B4E8BF30D2784D3BCED45B78994CA9B1900049B403388C06407CF7517000202
現在我們可以看到在這個十六進制值FileLocation
值:
- 未知:
0200030400032FA8311B4E8BF30D2784D3BCED45B789
- VolumeId:
94CA9B19 HEX
- 未知:
0004
- 揭祕:
9B403388C06407CF HEX
- local_id:
7517 Hex
- 未知:
000202
注:該值存儲在Big-Endian
格式。
現在我們需要解碼Unknown
值。我很感謝有助於解碼這些值的任何努力。
似乎Telegram-API中的PhotoSize.location和Bot-API中的PhotoSize.file_id沒有關係 –