Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Telegrama: obtener fileid del cliente de telegrama

Los bots de Telegram usan fileid para descargar un archivo. ¿Cómo puedo obtener este fileid del cliente de Telegram (mi versión no oficial)? Los archivos en mtproto tienen esta clase de ubicación que indica su dirección.

Parámetros de ubicación de archivos

  • Detectar inicio de desplazamiento y desplazamiento final en recyclerview
  • GetFileDescriptor devuelve null mientras lee archivos mp3 de los archivos de expansión
  • ¿Cuántas maneras de convertir bitmap a cadena y viceversa?
  • AsyncTask's doInBackground inicia su ejecución demasiado tarde después de AsyncTask :: execute se llama
  • La función openOptionsMenu no funciona en ICS?
  • No se pudo usar systrace en Jelly Bean
    • Dc_id int Número del centro de datos que contiene el archivo
    • Volume_id largo Volumen del servidor
    • Local_id int ID de archivo
    • Secreto largo Checksum para acceder al archivo

    El problema es que no sé cómo generar el fileid que es apropiado para bots de la clase de File Location .

    ACTUALIZACIÓN 1:

    He intentado hacer ingeniería inversa. Por lo tanto, he descubierto que hay alguna relación entre la clase de File Location y FileId .

    Es mi dirección de ejemplo de File Location .

    • Id: 0 // Este campo sólo está disponible para chats secretos
    • Access_hash: 0 // Este campo sólo está disponible para chats secretos
    • Volumen_id: 429640340 ( 199BCA94 HEX )
    • Secreto: -3528741004939935589 ( CF0764C08833409B HEX ) // según las documentaciones de TG debe ser archivo CheckSum
    • Local_id: 6005 ( 1775 HEX )

    Y este es mi FileID acuerdo a la antigua clase FileLocation que lo FileLocation de mi Bot:

    • FileId: AgADBAADL6gxG06L8w0nhNO87UW3iZTKmxkABJtAM4jAZAfPdRcAAgI

    Es obvio que FileID valor está en formato Base64 . Así que lo decodifiqué:

    • Valor HEX: 0200030400032FA8311B4E8BF30D2784D3BCED45B78994CA9B1900049B403388C06407CF7517000202

    Ahora podemos ver los valores de FileLocation en este valor hexadecimal:

    • Desconocido: 0200030400032FA8311B4E8BF30D2784D3BCED45B789
    • VolumenId: 94CA9B19 HEX
    • Desconocido: 0004
    • Secreto: 9B403388C06407CF HEX
    • Local_id: 7517 Hex
    • Desconocido: 000202

    NOTA: los valores se almacenan en formato Big-Endian .

    Ahora necesitamos decodificar valores Unknown . Agradezco cualquier esfuerzo que ayude a descifrar estos valores.

  • Cómo conectar un dispositivo Android a un dispositivo iOS a través de BLE (Bluetooth Low Energy)
  • ¿Cómo puedo utilizar varios valores para las propiedades de diseño XML de Android?
  • Textview.getLineCount siempre 0 en android
  • Los elementos de formulario de Android tienen diferentes tamaños en diferentes emuladores
  • El host de destino no debe ser nulo o configurado en parámetros
  • ¿Cómo obtener la vista en RecyclerView.Adapter para Snackbar?
  • One Solution collect form web for “Telegrama: obtener fileid del cliente de telegrama”

    Aquí está el esquema TL para los ID de archivo de API de bot: https://github.com/danog/MadelineProto/blob/master/src/danog/MadelineProto/TL_botAPI.tl

    He implementado la conversión de ID de archivo de API de bot en MadelineProto: básicamente tienes que base64decode los ids de archivo, pasarlos a través de un decodificador RLE basado en byte nulo y luego decodificarlos usando el esquema de TL dado. Consulte TL / Conversion / BotAPI * para ver cómo se convierten los objetos MessageMedia en un objeto File antes de la serialización.

    Me las arreglé para ingenieros inversos de identificación de archivos (me olvidé de buscar aquí xd) con este robot MTProto especial que construí utilizando la misma lib .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.