gemini-botsky is a Python SDK for building applications with Bluesky and AT Protocol.
A sophisticated AI-powered bot for the Bluesky social network that uses Google's Gemini, Imagen, and Veo models to provide intelligent responses, image generation, and video creation.
Clone the repository:
git clone <your-repo-url>
cd gemini-botsky
Install dependencies:
pip install -r requirements.txt
Configure environment variables:
cp .env.example .env
Edit .env
and fill in your credentials:
BLUESKY_HANDLE=your-handle.bsky.social
BLUESKY_PASSWORD=your-app-password
GEMINI_API_KEY=your-gemini-api-key
Run the bot:
python bot.py
The bot uses BLOCK_NONE
safety settings by default. You can adjust these in the code if needed.
All configuration is done via environment variables. See .env.example
for all available options.
Variable | Default | Description |
---|---|---|
MAX_CONVERSATION_THREAD_DEPTH | 50 | Max posts before bot stops replying |
MAX_REPLY_THREAD_DEPTH | 10 | Max posts bot will create in one thread |
MENTION_CHECK_INTERVAL_SECONDS | 15 | How often to check for new mentions |
MAX_THREAD_DEPTH_FOR_CONTEXT | 25 | How much thread history to include |
The bot is designed to work well on various cloud platforms:
LOG_LEVEL=WARNING
to reduce log verbosityThe bot automatically sends direct messages to @symm.social for:
Messages are sent via DM when possible, with fallback to public mentions if DMs fail.
The bot provides comprehensive logging:
INFO
: General operation and successful actionsWARNING
: Non-critical issues and fallbacksERROR
: Failed operations and exceptionsDEBUG
: Detailed execution informationBuilt-in memory monitoring tracks usage during media processing and automatically cleans up resources.
Edit the BOT_SYSTEM_INSTRUCTION
in bot.py
to customize the bot's personality and behavior.
The bot automatically:
This project is licensed under the MIT License - see the LICENSE file for details.
This bot uses AI models that may generate unexpected content. Always monitor its behavior and adjust safety settings as needed for your use case. The bot is provided as-is without warranties.
For issues, questions, or feature requests:
Built with ❤️ by symmetricalboy (@symm.social)
Just having fun with python and Bluesky's AT Protocol. Trying to build a simple CLI and enough of SDK to easily explore and collect my own Bluesky data
A small python library to post basic text and media to bsky.app via atproto's xrpc API.
A script for auto-deleting Bluesky posts
A site that measures the current percentage of Bluesky posts missing alt text
🌉 A bridge between decentralized social networks
💬 The social web translator
Your Brand Here!
50K+ engaged viewers every month
Limited spots available!
📧 Contact us via email🦋 Contact us on Bluesky