It would be amazing to be able to export chat member names/numbers as JSON or CSV
Robbbb opened this issue · 6 comments
I help manage several large communities on Signal, and we often need to make membership spreadsheets.
Right now this is a tedious process.
Would it be possible for this tool to be extended to export JSON of a group's membership?
Ideal fields would be display name, phone number, and a list of groups we are in together.
It would make a huge difference for my communities.
Hi @Robbbb yes this should be possible, would need a bit of code to be written. Will try to have a look in the next couple of days.
Thanks so much! It would really make a huge difference.
Hi @Robbbb I just added a feature in v2.0.0 to export to a data.json
file.
Please try it out:
pip install signal-export==2.0.0
i didn't directly add a feature to do what you want, but if you install jq you should be able to get what you want very easilylike this (once you've run the new version of signal-export and got the data.json!)
cat data.json| jq -s 'map(.sender) | flatten | unique'
That will print a name of unique senders within a chat...
Thanks so much for your work!
Unfortunately I am in large groups (200+) folks that use disappearing messages and only allow admins to post. I don't think exporting the subset of users who have sent unvaninshed messages in the time since my instance of Signal Desktop was installed would help us with our problem.
Would it be possible to export member lists? Any format would be welcome.
I had another look at this, and added some code that pulls out the members for each group:
signal-export/sigexport/data.py
Line 46 in 459bfe7
But the ids that come out don't seem to match the ids for anything in the contacts
dict... So I'm not really sure what's going on there... I might come back to this at some point but no promises. You're welcome to dig in and have a look, if you stick a breakpoint()
at the appropriate place in data.py
you can run some queries against the DB...
Thanks for trying!
My programming skills are pretty limited to chatGPT and trial and error, so I don't think I will be able to make a dent in this.
I appreciate your work!