2026-01-03 09:19:08 -05:00

100 lines
5.4 KiB
Markdown

# 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