This is a naive implementation and What's Mid has since been updated to use the firehose instead of timeline API. The new version isn't public - create an issue or tag me on bsky (tomh.social) if you would like the new version to be open sourced.
I wouldn't trust this code as far as I can throw it. Code might be trash, it might be bullet proof, use it at your own risk etc.
- Node
- ts-node installed globally:
npm install -g ts-node
(I'd actually advise compiling to js and running with pm2 but this works for testing)
- Create a .env file in the root of the project. Provide the following:
BSKY_IDENTIFIER="YOUR BSKY BOT EMAIL"
BSKY_PASSWORD="YOUR BSKY BOT PASSWORD - USE AN APP PASSWORD"
- Optional: Change
const
s insrc/index.ts
to your liking - Optional: Change the language preference in
postIsEnglish
. The check is done with the languagedetect package. See docs for your options. - Run
npm install
ts-node src/index.ts
- Unfollow people who unfollow us
- Minimise api requests.
- The rest of the owl 🦉