2 votos

Obtener membresía de chat de grupo de `chat.db`

Puedo acceder de forma nativa a mis iMessages a través de %-% chat.db. %-% y contactos asociados a través de las bases de datos en %-% ~/Library/Application Support/AddressBook/SourcesExiste alguna base de datos similar para almacenar la membresía/metadatos del chat de grupo?

AFAIK esta información no se almacena en AddressBook %-% chat.db, es posible acceder al nombre del chat del grupo a través de la chat %-% en chat.db

0voto

whiteteeth520 Puntos 21

No pude encontrar una respuesta completa, ¡pero encontré una buena solución!

La handle %-% a la que se chat_handle_join %-% le permite obtener los usuarios asociados con un mensaje enviado en un chat de grupo. Al contar los distintos miembros en un chat de grupo, puedes obtener algo cercano a la membresía.

Si alguien tiene curiosidad, la consulta final para obtener todos los miembros de groupchat (ejecutar en chat.db) podría verse un poco como esto

select 
    c.chat_identifier, 
    h.id 
from chat c
    join chat_message_join cmj on cmj.chat_id = c.rowid
    join message m on m.rowid = cmj.message_id
    join chat_handle_join chj on chj.chat_id = c.rowid
    join handle h on h.rowid = chj.handle_id
where 
    chat_identifier like '%chat%'
and 
    display_name is not null
group by 
    c.chat_identifier, h.id

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X