This is a Twitter bot that informs about progress on the SpaceX Starship by retweeting interesting tweets about it. There is a special focus on tweets from locations where Starships are built/launched, tagging tweets with a location helps the bot find them.
Each day the bot sees and rates an average of 25k tweets (~17 per minute), of which around 20-50 are retweeted (some outliers are of course special events like launches). An extensive test suite is used to minimize the probability of misjudgements.
The bot reads tweets from the following sources:
- All tweets from lists the account follows
- All tweets from accounts it follows, including replies
- All tweets from a large area around the launch and build site, the SpaceX McGregor engine test site, Pascagoula, Brownsville South Padre Island International Airport and Port/Cape Canaveral (that are tagged with a location)
These tweets are retweeted, if:
- They contain generic keywords about Starship such as "SN11", "BN1", "Starship", "Superheavy", "raptor"
- They are from selected "trusted" users and contain info about road closures, cryogenic tests, temporary flight restrictions etc.
- They are by Elon Musk and contain anything related to Starship
- They are tagged with exactly the location of either Starbase, the Starship launch site, Starship build site, the McGregor engine test site, Boca Chica Beach or Boca Chica Village (must have media under some criteria)
Some keywords and (mostly satire) accounts are filtered out to prevent spam. The bot tries to only retweet real information, which is why animations and similar are also filtered.
It also does some background tasks:
- Watching the SpaceX YouTube channel for livestreams. As soon as a stream about Starship goes live (or has a countdown), the bot will tweet a link.
- Checking the Starship website from time to time to tweet if the mentioned date or Starship changed
You can use this Twitter search link to see these tweets.
If you have any suggestions for additional sources (like accounts or lists to follow) or anything else please open an issue (or write an e-mail to [email protected]
).
If you want to edit the code, my first suggestion would be checking out the file that defines positive and negative keywords for the matcher. The tests (run go test ./...
) will tell you if everything still works after your changes.