citytweets is a Twitter and Mastodon repost bot currently powering my accounts listed below. In addition to my accounts, it also powers @TweetsFuerMiLB, which is not owned by me.
It reposts everything the search finds. It is intended to be used with searches like @mindentweets
so that everyone
can at-mention the account @mindentweets
and will get a repost, thus reach every follower of @mindentweets
.
The bot's own Twitter account can be found at @citytweets_bot. The respective Mastodon account is hosted on troet.cafe/@citytoots1.
For some calls it still relies on the deprecated Twitter API 1.1. For calls to this API it uses Twitter4J, which does not seem to be maintained anymore as well. For other calls, and especially the calls that actually search for new tweets, it already relies on the new Twitter API 2.0 to which I got early access. These calls are made without any library help. Further migration will happen over time.
On February 2nd 2023, Twitter announced the deprecation of their v1.1 and v2 APIs effective February 9th.
Starting February 9, we will no longer support free access to the Twitter API, both v2 and v1.1. A paid basic tier will be available instead 🧵
— Twitter Dev (@TwitterDev) February 2, 2023
These are the two APIs citytweets relies on to work for Twitter, so unless Twitter changes that policy, any Twitter retweet account will stop working on that date.
The important parts of the Mastodon API are implemented. It currently still relies on parsing its followers' toots and reposting those in case there is a mention, instead of using the search including webfinger lookup.
Platform | Handle | Name | Link | Status |
---|---|---|---|---|
@mindentweets | Minden Tweets | twitter.com/mindentweets | Active | |
@luebbecketweets | Lübbecke Tweets | twitter.com/luebbecketweets | Active | |
@herfordtweets | Herford Tweets | twitter.com/herfordtweets | Active | |
@badoeyntweets | Bad Oeynhausen Tweets | twitter.com/badoeyntweets | Active | |
@espelkamptweets | Espelkamp Tweets | twitter.com/espelkamptweets | Active | |
@portatweets | Porta Tweets | twitter.com/portatweets | Inactive, profile exists | |
@hilletweets | Hille Tweets | twitter.com/hilletweets | Inactive, profile exists | |
@rahdentweets | Rahden Tweets | twitter.com/rahdentweets | Inactive, profile exists | |
Mastodon | @mindentoots | Minden Toots | nrw.social/@mindentoots | Active |
Mastodon | @luebbecketoots | Lübbecke Toots | nrw.social/@luebbecketoots | Active |
Mastodon | @herfordtoots | Herford Toots | nrw.social/@herfordtoots | Active |
Mastodon | @badoeyntoots | Bad Oeynhausen Toots | nrw.social/@badoeyntoots | Active |
Mastodon | @espelkamptoots | Espelkamp Toots | nrw.social/@espelkamptoots | Active |
Mastodon | @portatoots | Porta Toots | nrw.social/@portatoots | Active |
Mastodon | @hilletoots | Hille Toots | nrw.social/@hilletoots | Active |
Mastodon | @rahdentoots | Rahden Toots | nrw.social/@rahdentoots | Active |
Mastodon | @milktoots | Minden-Lübbecke Toots | nrw.social/@milktoots | Active |
Footnotes
-
It was originally hosted on fosstodon.org/@citytoots but had to be moved, as fosstodon.org's Code Of Conduct does not allow posts in German language. ↩