This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

1# Bluesky Avatar Updater 2 3## Overview 4 5This repository contains a Python script intended to update your Bluesky avatar automatically based on the current hour. The script utilises environment variables for configuration and reads a JSON file of blob CIDs to determine the appropriate avatar for each hour. Please note that the implementation is not yet fully operational, as several issues remain to be resolved. 6 7## Prerequisites 8 9Before running the script, ensure you have the following: 10 11- Python 3.6 or later installed. 12 13- The required Python packages: 14 - `python-dotenv` 15 - `atproto` 16 - Standard libraries such as `os`, `json`, `logging`, and `datetime` 17- A valid Bluesky account with the necessary API credentials. 18 19## Installation 20 211. **Clone the repository:** 22 23 ```bash 24 git clone https://github.com/ewanc26/bluesky-avatar-updater.git 25 cd bluesky-avatar-updater 26 ``` 27 282. **Create a virtual environment and install dependencies:** 29 30 ```bash 31 python3 -m venv .venv 32 source .venv/bin/activate # On Windows use: .venv\Scripts\activate 33 pip install -r requirements.txt 34 ``` 35 363. **Configure environment variables:** 37 - Place your `.env` file in the `../assets` directory relative to the script. 38 - The `.env` file should contain the following entries: 39 40 ```env 41 ENDPOINT=your_endpoint 42 HANDLE=your_handle 43 PASSWORD=your_password 44 ``` 45 464. **Prepare the JSON file:** 47 - Ensure that a `cids.json` file is located in the `../assets` directory. This file should map each hour (in two-digit format) to a corresponding blob CID. 48 49## Usage 50 51To run the script, execute: 52 53```bash 54python -u ./src/main.py 55``` 56 57The script will: 58 59- Load the environment configuration from `./assets/.env`. 60- Read the blob CIDs from `./assets/cids.json`. 61- Determine the current hour and select the appropriate blob CID. 62- Attempt to authenticate and update the avatar using the AT Protocol. 63 64Execution logs will be recorded in `avatar_update.log` for your review. 65 66## Known Issues 67 68At present, the script isn’t fully working. We’ve noticed an error when updating the profile—specifically, the `put_record()` method is missing a required parameter. There have also been occasional authentication hiccoughs, which might be due to configuration issues or [API](https://atproto.blue) quirks. 69 70If you’re keen to help sort these out or have ideas for improvements, please open a Pull Request. Your contributions are very welcome! 71 72--- 73 74## Licence 75 76This project is released under the MIT Licence. See the [LICENSE](./LICENSE) file for full details.