100 lines
5.4 KiB
Markdown
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
|