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:
- llamar a sendCode()
- recibir el código SMS, pasarlo al objeto MTPROTO
- mantener el objeto MTPROTO actual y autenticarse, funciona para ambas cuentas
- 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!
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.