social media crossposting tool. 3rd time's the charm
mastodon misskey crossposting bluesky

minor fixes

zenfyr.dev 87f1d2c4 6bfd85e1

verified
+3 -3
+2 -2
bluesky/common.py
··· 24 24 self.tokens = tokens 25 25 self.timestamp = record['createdAt'] 26 26 labels = record.get('labels', {}).get('values') 27 + self.spoiler = None 27 28 if labels: 28 29 self.spoiler = ', '.join([str(label['val']).replace('-', ' ') for label in labels]) 29 30 ··· 59 60 return self.spoiler is not None 60 61 61 62 def get_post_url(self) -> str | None: 62 - parts = str(self.uri[len("at://"):]).split("/") 63 - did, _, post_id = parts 63 + did, _, post_id = str(self.uri[len("at://"):]).split("/") 64 64 65 65 return f"https://bsky.app/profile/{did}/post/{post_id}" 66 66
+1 -1
main.py
··· 76 76 id INTEGER PRIMARY KEY AUTOINCREMENT, 77 77 user_id TEXT NOT NULL, 78 78 service TEXT NOT NULL, 79 - identifier TEXT NOT NULL UNIQUE, 79 + identifier TEXT NOT NULL, 80 80 parent_id INTEGER NULL REFERENCES posts(id) ON DELETE SET NULL, 81 81 root_id INTEGER NULL REFERENCES posts(id) ON DELETE SET NULL 82 82 );