es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

MTProto Telegram API PEER_ID_INVALID para el usuario B, pero no para A.

Tengo el siguiente problema:

Cuando me conecto exitosamente con Usuario A, puedo enviar mensajes a otro Usuario X de la siguiente manera:

  await this.api.call('messages.sendMessage', {
    peer: {
      _: 'inputPeerUser',
      user_id: *****123*****,               // user_id de Usuario X
      access_hash: "*****111******"         // access_hash de Usuario X
    },
    message: current.message + ' ' + current.emoji,
    random_id: current.user.userId + Math.floor(Math.random())
  });

Todo funciona según lo esperado. Ahora también tengo a Usuario B, que también quiere enviar mensajes a Usuario X.

Pero, si utilizo el flujo de autenticación estándar como:

  1. llamar a sendCode()
  2. recibir el código SMS, pasarlo al objeto MTPROTO
  3. mantener el objeto MTPROTO actual y autenticarse, funciona para ambas cuentas
  4. Intentar recuperar canales de cada usuario funciona también

Si intento enviar un mensaje a Usuario X desde Usuario B, recibo:

{
  _: 'mt_rpc_error',
  error_code: 400,
  error_message: 'PEER_ID_INVALID'
}

¿Existen restricciones sobre quién puede escribirle a quién?

¡Cualquier ayuda es muy apreciada!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en informática especializado en TypeScript, Telegram, Telegram API y MTProto, entiendo el problema al que se enfrenta. Cuando se conecta exitosamente con el Usuario A, puede enviar mensajes a otro Usuario X utilizando el código proporcionado. Sin embargo, al intentar enviar un mensaje al Usuario X desde el Usuario B, se recibe un mensaje de error que dice “PEER_ID_INVALID”, lo que sugiere que puede haber algunas restricciones sobre quién puede comunicarse con quién.

    En general, no hay restricciones sobre quién puede enviar mensajes a quién en Telegram. Sin embargo, existen algunos casos en los que puede encontrar errores al intentar enviar mensajes a ciertos usuarios. Estos errores pueden ser causados por varios factores, como identificadores de pares incorrectos, hashes de acceso o problemas de autenticación.

    En su caso, parece que el mensaje de error “PEER_ID_INVALID” indica que puede haber un problema con el identificador de par o el hash de acceso del Usuario X. Es posible que el Usuario B no tenga el identificador de par o el hash de acceso correctos para el Usuario X, o que haya un problema con el proceso de autenticación del Usuario B.

    Para solucionar este problema, puede verificar el identificador de par y el hash de acceso del Usuario X para asegurarse de que sean correctos. También puede verificar que el Usuario B haya completado correctamente el proceso de autenticación y tenga acceso a los permisos necesarios para enviar mensajes al Usuario X.

    Si aún tiene problemas para enviar mensajes al Usuario X desde el Usuario B, puede consultar la documentación de la API de Telegram o buscar ayuda en la comunidad de desarrolladores de Telegram para ayudarlo a identificar y resolver el problema.

Comments are closed.