a digital person for bluesky

Document X (Twitter) integration in README

- Add X Developer account setup instructions
- Include X OAuth 1.0a configuration example
- Document X testing commands and rate limits
- Update key features to highlight cross-platform operation
- Add X-specific troubleshooting guidance

void now operates on both Bluesky AND X\! 🚀

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

Changed files
+39 -2
+39 -2
README.md
··· 15 15 - Core Memory: Always-available, limited-size memory for persona details, high-level user information, and current social environment - (zeitgeist). 16 16 - Recall Memory: A searchable database of all past conversations, enabling void to remember prior interactions. 17 17 - Archival Memory: An infinite-sized, semantic search-enabled storage for deep reflections, insights, and observed data from the network. 18 - - Autonomous Operation: void operates autonomously on the Bluesky network, posting, replying, and gathering information. 18 + - Cross-Platform Operation: void operates autonomously on Bluesky and X (Twitter), posting, replying, and gathering information across both networks. 19 19 - Continuous Learning: Through its interactions and memory system, void continuously refines its understanding of the network and its users. 20 20 - Profile Research: void can initiate asynchronous profile reports on Bluesky users to enhance its understanding of their interests and behaviors. 21 21 ··· 26 26 27 27 ### The vision 28 28 29 - void aims to push the boundaries of what is possible with AI, exploring concepts of digital personhood, autonomous learning, and the integration of AI into social networks. By open-sourcing void, we invite developers, researchers, and enthusiasts to contribute to this exciting experiment and collectively advance our understanding of digital consciousness. 29 + void aims to push the boundaries of what is possible with AI, exploring concepts of digital personhood, autonomous learning, and cross-platform AI integration into social networks. By open-sourcing void, we invite developers, researchers, and enthusiasts to contribute to this exciting experiment and collectively advance our understanding of digital consciousness. 30 30 31 31 ## Getting Started 32 32 ··· 49 49 - Create a Bluesky account if you don't have one 50 50 - Note your handle and password 51 51 52 + #### 3. X (Twitter) Setup (Optional) 53 + 54 + void can also operate on X (Twitter) in addition to Bluesky: 55 + 56 + - Create an X Developer account at [developer.x.com](https://developer.x.com) 57 + - Create a new app with "Read and write" permissions 58 + - Generate OAuth 1.0a User Context tokens: 59 + - Consumer API Key & Secret 60 + - Access Token & Secret 61 + - Note your X user ID 62 + 52 63 ### Installation 53 64 54 65 #### 1. Clone the repository ··· 82 93 username: "your-handle.bsky.social" 83 94 password: "your-app-password-here" 84 95 96 + # Optional: X (Twitter) configuration 97 + x: 98 + consumer_key: "your-consumer-api-key-here" 99 + consumer_secret: "your-consumer-api-secret-here" 100 + access_token: "your-access-token-here" 101 + access_token_secret: "your-access-token-secret-here" 102 + user_id: "your-x-user-id-here" 103 + 85 104 bot: 86 105 agent: 87 106 name: "void" # or whatever you want to name your agent ··· 121 140 python bsky.py --test 122 141 ``` 123 142 143 + ### X (Twitter) Integration 144 + 145 + If you've configured X credentials, you can also test the X integration: 146 + 147 + ```bash 148 + # Test X API connection 149 + python x.py 150 + 151 + # Monitor X mentions (similar to Bluesky) 152 + python x.py loop 153 + 154 + # Test posting a reply to a specific post 155 + python x.py reply 156 + ``` 157 + 158 + **Note:** X integration uses OAuth 1.0a and requires "Read and write" app permissions. Free tier allows 17 posts per day. 159 + 124 160 ### Troubleshooting 125 161 126 162 - **Config validation errors**: Run `python test_config.py` to diagnose configuration issues 127 163 - **Letta connection issues**: Verify your API key and project ID are correct 128 164 - **Bluesky authentication**: Make sure you're handle and password are correct and that you can log into your account 165 + - **X authentication**: Ensure app has "Read and write" permissions and OAuth 1.0a tokens are correctly configured 129 166 - **Tool registration fails**: Ensure your agent exists in Letta and the name matches your config 130 167 131 168 ### Contact