projects
bluesky-markov
February 24, 2026
bluesky-markov is a Python bot that fetches posts from a source Bluesky account, trains a Markov chain on them, generates new text, and posts it to a destination account at random intervals.
Status
Unmaintained.
Setup
git clone git@github.com:ewanc26/bluesky-markov
cd bluesky-markov
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Create .env in the project root:
SOURCE_HANDLE=source.bsky.social
DESTINATION_HANDLE=destination.bsky.social
CHAR_LIMIT=280
SRC_APP_PASS=xxxx-xxxx-xxxx-xxxx
DST_APP_PASS=xxxx-xxxx-xxxx-xxxx
BSKY_HOST_URL=https://bsky.social
Run:
python src/main.py
Structure
src/main.py— Orchestrationsrc/bsky_api.py— Bluesky API interactionssrc/clean.py— Text cleaning and preprocessingsrc/markov_gen.py— Markov chain generationsrc/time_utils.py— Random interval scheduling
Logs are written to log/general.log.
Licence
MIT.
← all docs