signal-message-exporter
signal-message-exporter copied to clipboard
Issues exporting Group chats/messages from Signal
Hello, thanks for posting this tool, it worked for me for migrating all my chats out of signal. However, I have one group chat in Signal that did not convert and migrate out of signal. It has about 28K messages on it. The tool simply said error converting and ignored the long conversation.
Please let me know if you need any logs
Was there anything in the log output about it? The thing that sometimes seems to happen is that there is a member of the group who is no longer a contact on your phone. So it has trouble creating the group.
You could maybe edit the python code to not catch the exeception (i.e. just let the error explode and halt the script) and then paste the entire stack trace when it exits.
Alex,
thanks for the reply. The only error I saw was this one
imgur.com/a/eolaPJJ
The three parties myself included, were all on that chat group when I exported the messages out.
Sorry I can't be of further help.
On Sat, Nov 5, 2022, 7:05 PM Alex Lance @.***> wrote:
Was there anything in the log output about it? The thing that sometimes seems to happen is that there is a member of the group who is no longer a contact on your phone. So it has trouble creating the group.
You could maybe edit the python code to not catch the exeception (i.e. just let the error explode and halt the script) and then paste the entire stack trace when it exits.
— Reply to this email directly, view it on GitHub https://github.com/alexlance/signal-message-exporter/issues/8#issuecomment-1304671917, or unsubscribe https://github.com/notifications/unsubscribe-auth/A364TMVWYLN4HDC4LOWCMZDWG3Y3ZANCNFSM6AAAAAARVF4QT4 . You are receiving this because you authored the thread.Message ID: @.***>
Ok there's a function in the python code called: xml_create_mms_part. If you delete it (it's on line 155) and replace it with this (careful with the indentation)
def xml_create_mms_part(root, row):
part = root.createElement('part')
part.setAttribute("seq", str(row['seq']))
part.setAttribute("ct", str(row['ct']))
part.setAttribute("name", str(row['name']))
part.setAttribute("chset", str(row['chset']))
part.setAttribute("cl", str(row['cl']))
part.setAttribute("text", str(row['caption']))
filename = f"bits/Attachment_{row['_id']}_{row['unique_id']}.bin"
b = b"Media is missing"
try:
with open(filename, 'rb') as f:
b = base64.b64encode(f.read())
except FileNotFoundError:
logging.error(f'File not found for media message: {filename} for part: {row}')
base64_encoded_file_data = str(b.decode())
part.setAttribute("data", base64_encoded_file_data)
return part
It won't fix the problem - it sounds like the image attachment is gone - but it should let the rest of the message get imported...
Thanks for the update, I'll try it and let you know.
On Sat, Nov 5, 2022, 7:39 PM Alex Lance @.***> wrote:
Ok if there's a function in the python code called: xml_create_mms_part. If you delete it (it's on line 155) and replace it with this (careful with the indentation)
def xml_create_mms_part(root, row): part = root.createElement('part') part.setAttribute("seq", str(row['seq'])) part.setAttribute("ct", str(row['ct'])) part.setAttribute("name", str(row['name'])) part.setAttribute("chset", str(row['chset'])) part.setAttribute("cl", str(row['cl'])) part.setAttribute("text", str(row['caption']))
filename = f"bits/Attachment_{row['_id']}_{row['unique_id']}.bin" b = b"Media is missing" try: with open(filename, 'rb') as f: b = base64.b64encode(f.read()) except FileNotFoundError: logging.error(f'File not found for media message: {filename} for part: {row}') base64_encoded_file_data = str(b.decode()) part.setAttribute("data", base64_encoded_file_data) return partIt won't fix the problem - it sounds like the image attachment is gone - but it should let the rest of the message get imported...
— Reply to this email directly, view it on GitHub https://github.com/alexlance/signal-message-exporter/issues/8#issuecomment-1304679841, or unsubscribe https://github.com/notifications/unsubscribe-auth/A364TMR6QA2RID7TWHWVSZ3WG345DANCNFSM6AAAAAARVF4QT4 . You are receiving this because you authored the thread.Message ID: @.***>