New year, new release! 🎉
Fixed
- Bug: Handle exception when media attachments are geoblocked (403 Unauthorized).
- Regression: Take into account new structure of Twitter's archive (tweet.js changed to tweets.js)
- Bug: Handle special media types that don't include link to media in some cases. Thanks @tewhalen!
- Bug: Align max_tweets minimum value (10) with the warning message and actual value. Thanks @nemobis!
- Bug: Multiple video attachments cause HTTP 422 on Mastodon when posting.
- Bug: Exception when post was manually pinned on the Fedi account and later one was pinned on the Twitter account. Thanks @selyod-ka!
Enhancements
- Archive offline support, you no longer need a Twitter developer account or access to their API to process an archive.
- Mastodon limits, make URLs count as 23 characters (or the instance configured value) when determining if truncating is necessary.
- Added progress bars when gathering, processing and posting tweets
- Pleroma and Mastodon rate limits, handle HTTP 429 more gracefully (wait until they reset and continue)
- Added fallback for unknown software on target instance.
Added
- RSS support, you can now use an RSS feed as a source of tweets to post. Take a look at the docs for more info.
- Thread support, now mirrored users should be able to reply to their own posts and create reply threads.
- Native retweet support, now users in your config should be able to reblog their own and each other's posts if they are on the same instance.
bot
config mapping, for setting the bot flag on the target account.--lockerfile
argument, for specifying the path of the locker file that prevents collisions between multiple concurrent bot executions.guest
mapping, for enabling the use of Guest Tokens (so you don't need a Twitter Developer account). If notwitter_token
is present in your config it will default totrue
proxy_pool
mapping, list of proxies to use when being rate limited with Guest Tokensproxy
mapping, for enabling or disabling the use of proxies when using guest tokens- Caching IDs of posts published and skip mirroring tweet if associated published post is found to avoid duplicates. You can change this with the
avoid_duplicates
mapping. application_name
mapping, for specifying the Fediverse application name to use as a filter when getting the date of the latest published post by the bot. Thanks @reorx!- Configuration wizard, which generates a minimal config if none is found
content_warnings
, for specifying keywords that if found will add a content warning to the Fediverse postcustom_replacements
for replacing any text (Twitter handles that differ from the Fedi handle, for example) Thanks @selyod-ka!software
config mapping, for sidestepping the automatic detection of the type of software (mastodon, pleroma, misskey) running on the target instance and forcing a specific value. If your target is a fork of another project, for example, you would be able to force the bot to use whichever software (mastodon, pleroma, misskey) is the closest match for their API.