A Markov chain bot for Bluesky.

feat(bsky_api): add configurable host url for bluesky client

Make the Bluesky API host URL configurable through environment variable BSKY_HOST_URL
Remove redundant dotenv import since environment variables are already loaded

ewancroft.uk 34c7dbab d2c19a21

verified
Changed files
+6 -4
src
+1
README.md
··· 71 71 CHAR_LIMIT=280 72 72 SRC_APP_PASS=your_source_app_password 73 73 DST_APP_PASS=your_destination_app_password 74 + BSKY_HOST_URL=https://bsky.social # Optional: defaults to bsky.social 74 75 ``` 75 76 76 77 ## Usage
+3 -3
src/bsky_api.py
··· 1 1 from atproto import IdResolver, Client 2 2 import os 3 - import dotenv 4 3 import logging 5 4 6 5 # Ensure the log directory exists ··· 17 16 18 17 def login(handle_env_var, app_pass_env_var): 19 18 try: 20 - dotenv.load_dotenv() 21 19 handle = os.getenv(handle_env_var) 22 20 app_pass = os.getenv(app_pass_env_var) 21 + host_url = os.getenv("BSKY_HOST_URL", "https://bsky.social") 22 + 23 + client = Client(host_url) 23 24 24 25 if not handle or not app_pass: 25 26 logging.error("Handle or app password missing in environment variables.") 26 27 raise ValueError("Handle or app password missing in environment variables") 27 28 28 29 logging.debug("Attempting to log in with handle: %s", handle) 29 - client = Client() 30 30 client.login(handle, app_pass) # Access credentials securely 31 31 32 32 logging.info("Login successful for handle: %s", handle)
+2 -1
src/example.env.txt
··· 2 2 SRC_APP_PASS=your_bluesky_app_password 3 3 DST_APP_PASS=your_bluesky_app_password 4 4 DESTINATION_HANDLE=destination_bluesky_handle 5 - CHAR_LIMIT=280 5 + CHAR_LIMIT=280 6 + BSKY_HOST_URL=https://bsky.social