# Claude Bot for Gather.town A Node.js-based AI agent that integrates Claude with Gather.town, allowing you to control an intelligent assistant avatar within your virtual office space. ## Features - 🤖 Claude AI integration for intelligent responses - - 💬 Responds to commands in the Gather chat - - 🚶 Can move around the virtual space - - 🎯 Sits at desks and interacts with users - - 🔌 Uses official Gather.town API - ## Setup Instructions - ### Prerequisites - 1. Node.js (v14 or higher) 2. 2. A Gather.town workspace with admin access 3. 3. An Anthropic API key (for Claude) 4. 4. The Gather.town API key (created in workspace settings) 5. ### Installation 6. 1. Clone or download this repository 2. 2. Install dependencies: 3. ```bash npm install ``` 3. Configure your environment: 4. ```bash export GATHER_SPACE_ID="your-space-id" export GATHER_API_KEY="your-gather-api-key" export CLAUDE_API_KEY="your-anthropic-api-key" ``` Or update the configuration in `bot.js`: ```javascript const GATHER_SPACE_ID = 'your-space-id'; const GATHER_API_KEY = 'your-gather-api-key'; const CLAUDE_API_KEY = 'your-anthropic-api-key'; ``` ### Running the Bot ```bash node bot.js ``` The bot will initialize, take its position in the space, and begin listening for commands. ## Usage Users can interact with the bot using these commands: - **@claude [question]** - Ask Claude anything - - Example: `@claude What is machine learning?` - - **come here** - Make the bot move to your location - - **hello** - Greet the bot - ## Configuration - The bot's starting position can be adjusted in the configuration: - ```javascript botState.position = { x: 10, y: 10 }; // Adjust coordinates as needed ``` Desk coordinates can be found by hovering over locations in your Gather space. ## API Keys - **Gather.town API Key**: Create in Settings > API keys (workspace level) - - **Anthropic (Claude) API Key**: Get from https://console.anthropic.com - ## Troubleshooting - - **Bot not responding**: Check that both API keys are valid and have proper permissions - - **Bot not moving**: Verify the space ID and coordinates are correct - - **Claude errors**: Ensure your Anthropic API key has sufficient credits - ## Future Enhancements - - WebSocket support for real-time message listening - - Custom desk assignments - - Multiple bot instances - - Memory/context retention across conversations - - Integration with Gather webhooks - - Customizable command prefixes - ## License - MIT - ## Support - For issues or questions, please check the Gather.town API documentation at https://docs.gather.town