Telegram 机器人用于fileid
下载文件。我如何fileid
从 Telegram 客户端(我的非官方版本)获得这个?中的文件mtproto
具有指示其地址的位置类。
文件位置参数
- dc_id int 保存文件的数据中心编号
- volume_id long 服务器卷
- local_id int 文件 ID
- 访问文件的秘密长校验和
问题是我不知道如何从课堂上生成fileid
适合机器人的。File Location
更新 1:
我试图做一些逆向工程。所以,我发现File Location
class 和FileId
.
这是我的File Location
示例地址。
- id:
0
// 此字段仅适用于秘密聊天 - access_hash:
0
// 此字段仅适用于秘密聊天 - volume_id:
429640340
(199BCA94 HEX
) - secret:
-3528741004939935589
(CF0764C08833409B HEX
) // 根据 TG 文档,它应该是文件 CheckSum - local_id:
6005
(1775 HEX
)
这是我根据我从我的 Bot 中检索FileID
到的前一课:FileLocation
- 文件编号:
AgADBAADL6gxG06L8w0nhNO87UW3iZTKmxkABJtAM4jAZAfPdRcAAgI
很明显,FileID
值是Base64
格式。所以我已经解码了它:
- 十六进制值:
0200030400032FA8311B4E8BF30D2784D3BCED45B78994CA9B1900049B403388C06407CF7517000202
现在我们可以看到FileLocation
这个十六进制值中的值:
- 未知:
0200030400032FA8311B4E8BF30D2784D3BCED45B789
- 卷号:
94CA9B19 HEX
- 未知:
0004
- 秘密:
9B403388C06407CF HEX
- local_id:
7517 Hex
- 未知:
000202
注意:这些值以Big-Endian
格式存储。
现在我们需要解码Unknown
值。我感谢任何有助于解码这些值的努力。