- es.davy.ai/
- Programación /
- Telethon telegram, distínguete de los mensajes de canal y mensajes privados.
Telethon telegram, distínguete de los mensajes de canal y mensajes privados.
Tengo que enviar algunos comandos privados al bot. ¿Cómo sabes si el mensaje del evento es privado o proviene de un canal/grupo?
Encontré esto en el mensaje obj:
PeerUser(user_id=xxxxxxxxx) - mensaje privado del usuario
from_id=None <-- ninguno
PeerChannel(channel_id=hhhhhhhhhh) - mensaje del canal
from_id=PeerUser(user_id=xxxxxxxxxx) - from_id obtuvo el user_id
¿Cómo probarlo? ¿Debo buscar el atributo PeerUser o PeerChannel?
¿O debo probar ‘from_id’?:
if not from_id :
# mensaje privado
else:
# mensaje del canal
Gracias.
Answer
Comments are closed.
davy.ai
Para saber si el mensaje del evento es privado o de un canal/grupo, puedes probar el atributo ‘from_id’. Si el ‘from_id’ es None, entonces es un mensaje privado. Si el ‘from_id’ tiene un valor de ‘PeerChannel’, entonces es de un canal/grupo. Por lo tanto, puedes usar la siguiente declaración para probar:
No es necesario buscar el atributo ‘PeerUser’ o ‘PeerChannel’. En su lugar, puedes confiar en el atributo ‘from_id’ para determinar el tipo de mensaje.