Skip to content

Releases: robertoszek/pleroma-bot

[1.2.0] 02-01-2023

02 Jan 16:24
9a64891
Compare
Choose a tag to compare

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 no twitter_token is present in your config it will default to true
  • proxy_pool mapping, list of proxies to use when being rate limited with Guest Tokens
  • proxy 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 post
  • custom_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.

[1.1.0] 06-06-2022

06 Jun 03:07
11f7eb5
Compare
Choose a tag to compare

Fixed

  • Bug: Tweet media getting dropped if one of the attachments returned 404 Not Found
  • Regression: visibility's value not being honored when defined as a global mapping in the config
  • Bug: Handle exception when the tweet is empty (no attachments, polls or body) due to dropping malformed attachments
  • Bug: Handle exception when expanded URL is unreachable or returns any code other than 200
  • Regression: Not asking for date when passing a specific Twitter username with --forceDate
  • Bug: Trying to find previously pinned post on empty Fediverse account resulted in an unhandled exception
  • Bug: Truncating when exceeding post max length resulted in signature links being broken if original date was enabled
  • Bug: Videos not being mirrored in some cases with extended tweets

Enhancements

  • Target instance's character limits when posting are taken into account and posts text are truncated if necessary
  • The rest of the users of the config are processed, even if another one fails (errors will be logged accordingly and pleroma-bot will exit with non-zero exit code)
  • Recover from hitting rate limits for Twitter's API (HTTP 429 Too Many Requests)
  • Twitter bio links are now expanded by default if the Fedi instance bio's maximum length is not exceeded
  • Maximum number of attachments allowed per post are now taken into account depending on the instance type (Mastodon, Pleroma or Misskey)
  • Alt text/Image descriptions are now mirrored on the Fediverse post image description/comment

Added

  • include_quotes config mapping, for including or excluding quoted tweets
  • random_user_order global config mapping, for randomizing the order in which users are processed. Thanks @nemobis!
  • {{ website }} can be used on the metadata fields config and will be replaced with the website listed on the Twitter's account profile
  • no_profile config mapping, for skipping profile update (picture, banner, display name and bio) on a per-user basis

[1.0.2] 21-02-2022

21 Feb 17:54
4749ce3
Compare
Choose a tag to compare

Added

  • Support for Misskey instances! 🎉

Fixed

  • Logger standard output for systems not using UTF-8 encoding
  • Profile update: Regression when Twitter account does not have a profile image or banner
  • Media attachments being added to the Fediverse post in the wrong order in some cases

Enhancements

  • RTs text no longer gets truncated
  • Info message when media upload returns 422 (Unprocessable Entity) due to Paperclip/file identifying the wrong mimetype

[1.0.1] 10-02-2022

10 Feb 20:41
6f5d42d
Compare
Choose a tag to compare

Fixed

  • Locale issue on Mac if the LANG environment variables were not set
  • RTs media attachments being duplicated if the referenced tweet was nested too deep
  • Pinned tweets being posted twice if they were part of the more recent batch of retrieved tweets

Added

  • pleroma-bot can be run as a daemon now by using the flag --daemon. (more info on the docs)
  • A systemd service is automatically installed with the AUR package (and can be found in the repo as pleroma-bot.service)

[1.0.0] 16-01-2022

16 Jan 22:34
5c17dd2
Compare
Choose a tag to compare

v1.0.0 is out! 🎉

Fixed

  • max_tweets not accepting values higher than 100
  • Video: Not getting the best bitrate version of video attachments in some cases
  • Polls: not being retrieved for accounts with protected tweets
  • RTs: not getting original tweet media attachments

Added

  • twitter_username value can be a list now, for having multiple Twitter accounts as sources for one target Fediverse account.
  • A Twitter archive can be provided with --archive(more info in the docs)
  • Links to Twitter attachments (video, images) are no longer explicitly included on the post's body text by default. You can choose to keep adding them with keep_media_links. This option does not affect the upload of attachments.
  • Youtube links can be replaced with invidious and invidious_base_url

Enhancements

  • bio_text is no longer a mandatory mapping on the config
  • Hugely improved performance (around 4x) when processing tweets
  • Implemented safety measures for avoiding collision with multiple instances of the bot running at the same time

[0.8.9] - 2021-12-05

05 Dec 05:55
e016188
Compare
Choose a tag to compare

Added

  • original_date and original_date_format for adding the original tweet's creation date to the post body

Fixed

  • URL expansion when regex match doesn't include protocol (http, https)

[0.8.8] - 2021-05-15

15 May 13:44
d559074
Compare
Choose a tag to compare

Added

  • twitter_bio mapping for allowing the user to choose if they want to retrieve and append the Twitter bio to their Fediverse user or not.

[0.8.7] - 2021-05-01

01 May 02:44
857346c
Compare
Choose a tag to compare

Added

  • delay_post mapping, for setting how long to wait (in seconds) between each post request to avoid hitting rate limits of the target Fediverse instance
  • hashtags mapping (list), for filtering out tweets which don't match any of them
  • tweet_ids mapping, for listing specific tweets to retrieve and post on the Fediverse account

Enhancements

  • Provide a more meaningful exception message when an HTTP error code 422 is returned when updating the Fediverse profile
  • Referenced more directly in the documentation the need to use an account ID instead of a username when targeting a Mastodon instance

[0.8.6] - 2021-02-27

27 Feb 20:53
d8203f1
Compare
Choose a tag to compare

Fixed

  • Log file handler not being attached when running as a module

[0.8.5] - 2021-02-23

23 Feb 17:28
e37726f
Compare
Choose a tag to compare

Added

  • Argument --config, the user can specify a custom path for the config.yml file to be parsed
  • Argument --log, the user can specify a custom path for the error.log to create during execution
  • Support for localization

Enhancements